diff --git a/app/globals.css b/app/globals.css index 585336b..6f7c45b 100644 --- a/app/globals.css +++ b/app/globals.css @@ -80,4 +80,31 @@ html { body { @apply bg-background text-foreground; } +} + +@keyframes blob { + 0% { + transform: translate(0px, 0px) scale(1); + } + 33% { + transform: translate(30px, -50px) scale(1.1); + } + 66% { + transform: translate(-20px, 20px) scale(0.9); + } + 100% { + transform: translate(0px, 0px) scale(1); + } +} + +.animate-blob { + animation: blob 7s infinite; +} + +.animation-delay-2000 { + animation-delay: 2s; +} + +.animation-delay-4000 { + animation-delay: 4s; } \ No newline at end of file diff --git a/app/page.tsx b/app/page.tsx index 883b144..54b31d5 100644 --- a/app/page.tsx +++ b/app/page.tsx @@ -1,26 +1,10 @@ -import { getUser } from "@workos-inc/authkit-nextjs"; import React from "react"; - import HomePage from "@/components/home"; -import { fetchLatestRelease } from "@/lib/github"; -import { cleanDeviceDetails, DeviceDetails } from "@/lib/ua"; - -export default async function Home() { - const { user } = await getUser(); - const latestRelease = await fetchLatestRelease(); - let currentDevice: DeviceDetails | undefined; - if (latestRelease.current) { - currentDevice = cleanDeviceDetails(latestRelease.current); - } +export default function Home() { return (
- {/* - */} - +
); -} +} \ No newline at end of file diff --git a/components/home.tsx b/components/home.tsx index 0f7af9a..00d36a4 100644 --- a/components/home.tsx +++ b/components/home.tsx @@ -1,37 +1,192 @@ -import { Button, buttonVariants } from "@/components/ui/button"; -import { Card } from "@/components/ui/card"; -import { Downloads } from "@/lib/types"; -import { DeviceDetails } from "@/lib/ua"; +import React from "react"; import { - Brain, - ClipboardCopy, - Download, - Github, - Layers3, - Zap, + Bot, + GitPullRequest, + Clock, + ArrowRight, + Brain, + Code, + Zap, + CheckCircle2, + Sprout, } from "lucide-react"; -import Image from "next/image"; -import Link from "next/link"; -import React from "react"; -import DownloadScroll from "./downloadscroll"; -import { Kbd } from "./ui/kbd"; -import { CopyText, CopyTextButton } from "./ui/copy-text"; -import { cn } from "@/lib/utils"; +import Header from "./header"; + +interface FeatureDetail { + icon: React.ReactNode; + text: string; +} -interface ComponentProps { - deviceDetails: DeviceDetails | undefined; - latestRelease: Downloads; +interface FeatureCardProps { + icon: React.ReactNode; + title: string; + description: string; + gradient: string; + details: FeatureDetail[]; } -export default function Component({ - deviceDetails, - latestRelease, -}: ComponentProps) { - return ( -
-
-
-
+function FeatureCard({ + icon, + title, + description, + gradient, + details, +}: FeatureCardProps) { + return ( +
+
+
+
+ {icon} +
+

{title}

+

{description}

+
+ {details.map((detail, index) => ( +
+ {detail.icon} + {detail.text} +
+ ))} +
+
+
+ ); +} + +export default function Component() { + return ( +
+ {/* Animated background elements */} +
+
+
+
+
+ +
+ + {/* Main content */} +
+ {/* Hero Section */} +
+
+

+ Take Control
+ + Ship Your Vision + +

+

+ Spawn self-managing AI Agents on your codebase, iterate on GitHub + PRs, and get reliable updates—all without the overhead of + man-management. +

+
+ +
+
100%
+ Toilet Uptime +
+
+
+
+ + {/* Feature Cards */} +
+
+ } + title="Spawn Agents on Your Codebase" + description="Automate tasks, fix bugs, and implement new features without expanding your dev team" + gradient="from-indigo-500 to-purple-500" + details={[ + { + icon: , + text: "Install via CLI or web UI in minutes", + }, + { + icon: , + text: "No specialized infrastructure needed", + }, + { + icon: , + text: "Secure and controlled access", + }, + ]} + /> + } + title="Iterate via GitHub PRs" + description="The agent opens, updates, and merges Pull Requests—no more waiting on back-and-forth reviews" + gradient="from-cyan-500 to-blue-500" + details={[ + { + icon: , + text: "Automated PR creation and updates", + }, + { + icon: , + text: "Quick sign-off process", + }, + { + icon: , + text: "Native GitHub integration", + }, + ]} + /> + } + title="Set Time Budgets" + description="Control how long the agent spends on each task, ensuring predictable and reliable output" + gradient="from-purple-500 to-pink-500" + details={[ + { + icon: , + text: "Define task complexity and timeframes", + }, + { + icon: , + text: "Consistent iteration cycles", + }, + { + icon: , + text: "Predictable delivery schedules", + }, + ]} + /> +
+
+
+ + {/* Bottom Stats */} +
+
+
+
10-15h
+

Time Saved Weekly

+
+
+
1h
+

Setup Time

+
+
+
24/7
+

Agent Availability

+
+
+
+
+

@@ -1047,4 +1202,4 @@ export default function Component({

); -} +} \ No newline at end of file