"use client" import { useState } from "react" import { useSignUp } from "@clerk/nextjs" import { useRouter } from "next/navigation" import { Card, CardContent, CardDescription, CardFooter, CardHeader, CardTitle } from "~/components/ui/card" import { Input } from "~/components/ui/input" import { Button } from "~/components/ui/button" import { Separator } from "~/components/ui/separator" import Link from "next/link" import { FcGoogle } from "react-icons/fc" import { FaApple } from "react-icons/fa" export default function SignUpPage() { const { isLoaded, signUp, setActive } = useSignUp() const [emailAddress, setEmailAddress] = useState("") const [password, setPassword] = useState("") const router = useRouter() const handleSubmit = async (e: React.FormEvent) => { e.preventDefault() if (!isLoaded) return try { const result = await signUp.create({ emailAddress, password, }) if (result.status === "complete") { await setActive({ session: result.createdSessionId }) router.push("/dash") } } catch (err: any) { console.error("Error:", err.errors[0].message) } } const signUpWith = (strategy: "oauth_google" | "oauth_apple") => { if (!isLoaded) return signUp.authenticateWithRedirect({ strategy, redirectUrl: "/sso-callback", redirectUrlComplete: "/dash", }) } return (
Already have an account?{" "} Sign in