diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx new file mode 100644 index 0000000..1fdc7ff --- /dev/null +++ b/src/pages/Index.tsx @@ -0,0 +1,224 @@ +import { useState, useEffect } from "react"; +import { toast } from "sonner"; +import { Link } from "react-router-dom"; +import { Button } from "@/components/ui/button"; +import { Card, CardContent } from "@/components/ui/card"; +import { Input } from "@/components/ui/input"; +import { Badge } from "@/components/ui/badge"; +import { ArrowRight, Ticket, Users, Calendar, Mic, Layers, Send, Mail, User } from "lucide-react"; +import { useSaasMutation } from "@/hooks/use-tygarun"; +import Header from "@/components/Header"; +import Footer from "@/components/Footer"; + +const speakers = [ + { initials: "SK", name: "Sarah Kim", role: "VP Eng, Vercel", gradient: "from-indigo-500 to-cyan-500" }, + { initials: "AM", name: "Alex Morgan", role: "CTO, Supabase", gradient: "from-purple-500 to-pink-500" }, + { initials: "RJ", name: "Raj Joshi", role: "Staff Eng, Google", gradient: "from-cyan-500 to-emerald-500" }, + { initials: "LP", name: "Lisa Park", role: "Design Lead, Figma", gradient: "from-amber-500 to-red-500" }, + { initials: "TW", name: "Tom Walsh", role: "Creator, Bun", gradient: "from-pink-500 to-violet-500" }, + { initials: "DN", name: "Diana Nguyen", role: "SRE Lead, Netflix", gradient: "from-emerald-500 to-indigo-500" }, +]; + +const sponsorTiers = [ + { tier: "Platinum", names: ["CloudScale AI", "DevOps Hub"] }, + { tier: "Gold", names: ["StackForge", "CodeVault", "DataPipe"] }, + { tier: "Silver", names: ["GitSync", "EdgeNode", "APILayer", "DeployFast"] }, + { tier: "Community", names: ["ReactConf", "JSNation"] }, +]; + +export default function IndexPage() { + const [regName, setRegName] = useState(""); + const [regEmail, setRegEmail] = useState(""); + const { mutate: registerInterest, loading: registering } = useSaasMutation("scheduling", "/bookings"); + const { mutate: purchaseTicket, loading: purchasing } = useSaasMutation("event-ticketing", "/checkout"); + const [countdown, setCountdown] = useState({ days: 0, hours: 0, minutes: 0, seconds: 0 }); + useEffect(() => { + const target = new Date("2026-06-18T09:00:00").getTime(); + const tick = () => { + const now = Date.now(); + const diff = Math.max(0, target - now); + setCountdown({ + days: Math.floor(diff / (1000 * 60 * 60 * 24)), + hours: Math.floor((diff / (1000 * 60 * 60)) % 24), + minutes: Math.floor((diff / (1000 * 60)) % 60), + seconds: Math.floor((diff / 1000) % 60), + }); + }; + tick(); + const id = setInterval(tick, 1000); + return () => clearInterval(id); + }, []); + + return ( +
The premier conference for developers, designers, and DevOps engineers building the future of the web.
+Event starts in
+Industry leaders and open-source pioneers sharing cutting-edge insights.
+Choose the pass that fits your needs. All tickets include 3 days of content.
+Group discount available for 5+ tickets. Contact us for details.
+Subscribe for speaker announcements, schedule updates, and exclusive early-bird pricing.
+ +