import { useMutation } from "@tanstack/react-query" import { createFileRoute, useNavigate } from "@tanstack/react-router" import { GalleryVerticalEnd } from "lucide-react" import type React from "react" import { Button } from "@/components/ui/button" import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "@/components/ui/card" import { Field, FieldDescription, FieldError, FieldGroup, FieldLabel, } from "@/components/ui/field" import { Input } from "@/components/ui/input" import { type AuthErrorCode, authClient } from "../auth-client" export const Route = createFileRoute("/sign-up")({ component: SignupPage, }) type SignUpParams = { displayName: string email: string password: string confirmPassword: string } class PasswordMismatchError extends Error { constructor() { super("Passwords do not match") } } class BetterAuthError extends Error { constructor(public readonly errorCode: AuthErrorCode) { super(`better-auth error: ${errorCode}`) } } function SignupPage() { return (
) } function SignUpFormContainer({ children }: React.PropsWithChildren) { return (