"use client"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle, } from "@/components/ui/card"; import { FormControl, FormDescription, FormField, FormItem, FormLabel, FormMessage, } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Separator } from "@/components/ui/separator"; import { Textarea } from "@/components/ui/textarea"; import { CheckCircle2, Loader2 } from "lucide-react"; import { type FC, useState } from "react"; import { useFormContext } from "react-hook-form"; import { submitSignup } from "../lib/submitSignup"; export const SignupForm: FC = () => { const form = useFormContext(); const [isSubmitting, setIsSubmitting] = useState(false); const [isSubmitted, setIsSubmitted] = useState(false); const onSubmit = async (values: object) => { try { setIsSubmitting(true); await submitSignup(values); setIsSubmitted(true); } finally { setIsSubmitting(false); } }; if (isSubmitted) { return (

You're signed up!

Thanks for registering. You'll hear from us soon.

); } return (
Personal information Tell us a bit about yourself.
( First name )} /> ( Last name )} />
( Email )} /> ( City and country )} />
Your project Share what you'd like to build at the hackathon. ( Project idea