diff --git a/apps/landing/package.json b/apps/landing/package.json index 0f92f17..6b93aea 100644 --- a/apps/landing/package.json +++ b/apps/landing/package.json @@ -10,17 +10,18 @@ "typecheck": "tsc --noEmit" }, "dependencies": { - "react": "19.1.0", - "react-dom": "19.1.0", + "@banatie/database": "workspace:*", + "lucide-react": "^0.400.0", "next": "15.5.4", - "@banatie/database": "workspace:*" + "react": "19.1.0", + "react-dom": "19.1.0" }, "devDependencies": { - "typescript": "^5", + "@tailwindcss/postcss": "^4", "@types/node": "^20", "@types/react": "^19", "@types/react-dom": "^19", - "@tailwindcss/postcss": "^4", - "tailwindcss": "^4" + "tailwindcss": "^4", + "typescript": "^5" } } diff --git a/apps/landing/src/app/globals.css b/apps/landing/src/app/globals.css index bafa22b..63d1204 100644 --- a/apps/landing/src/app/globals.css +++ b/apps/landing/src/app/globals.css @@ -45,6 +45,15 @@ body { } } +@keyframes gradient-rotate { + from { + transform: rotate(0deg); + } + to { + transform: rotate(360deg); + } +} + .animate-gradient { background-size: 200% 200%; animation: gradient-shift 3s ease infinite; diff --git a/apps/landing/src/app/homepage/components/AnimatedGradientBorder.tsx b/apps/landing/src/app/homepage/components/AnimatedGradientBorder.tsx new file mode 100644 index 0000000..3a9e12d --- /dev/null +++ b/apps/landing/src/app/homepage/components/AnimatedGradientBorder.tsx @@ -0,0 +1,55 @@ +interface AnimatedGradientBorderProps { + children: React.ReactNode; + className?: string; +} + +const gradientStyle: React.CSSProperties = { + background: `conic-gradient( + from 0deg, + rgba(99, 102, 241, 0.3), + rgba(139, 92, 246, 0.8), + rgba(236, 72, 153, 0.6), + rgba(34, 211, 238, 0.8), + rgba(99, 102, 241, 0.3) + )`, + filter: 'blur(40px)', +}; + +const glowStyle: React.CSSProperties = { + background: `conic-gradient( + from 0deg, + rgba(99, 102, 241, 0.1), + rgba(139, 92, 246, 0.4), + rgba(236, 72, 153, 0.3), + rgba(34, 211, 238, 0.4), + rgba(99, 102, 241, 0.1) + )`, + filter: 'blur(15px)', +}; + +export const AnimatedGradientBorder = ({ + children, + className = '', +}: AnimatedGradientBorderProps) => { + return ( +
We handle the complexity so you can focus on building.
++ We handle the complexity so you can focus on building. +
Everything you need to integrate AI images into your projects.
++ Everything you need to integrate AI images into your projects. +
{feature.description}
Use what fits your workflow. All methods, same capabilities.
++ Use what fits your workflow. All methods, same capabilities. +
- Banatie Lab — Official web interface for Banatie API. Generate images, build flows, browse your - gallery, and explore all capabilities with ready-to-use code snippets. + Banatie Lab — Official web interface for Banatie + API. Generate images, build flows, browse your gallery, and explore all capabilities + with ready-to-use code snippets.
Perfect for Claude Code, Cursor, and any AI-powered workflow.
++ Perfect for Claude Code, Cursor, and any AI-powered workflow. +
- We're building this for developers like you. Early adopters get direct influence on our roadmap — suggest features, vote on - priorities, and help us build exactly what you need. + We're building this for developers like you. Early adopters get direct influence on + our roadmap — suggest features, vote on priorities, and help us build exactly what you + need.
- We chose Gemini because it's the only model family that combines native multimodal understanding with production-grade image - generation. Two models, optimized for different needs. + We chose Gemini because it's the only model family that combines native + multimodal understanding with production-grade image generation. Two models, optimized + for different needs.
- Optimized for speed and iteration. Perfect for rapid prototyping and high-volume generation. + Optimized for speed and iteration. Perfect for rapid prototyping and high-volume + generation.
- Maximum quality and creative control. For production assets and professional workflows. + Maximum quality and creative control. For production assets and professional + workflows.
Join developers waiting for early access. We'll notify you when your spot is ready.
@@ -822,7 +875,9 @@ function FinalCtaSection() {No credit card required • Free to start • Cancel anytime
++ No credit card required • Free to start • Cancel anytime +