"use client"; import { useRouter } from "next/navigation"; import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { useRegister } from "@/modules/admin/hooks"; import { registerSchema, type RegisterInput } from "@/modules/admin/schemas"; import { useToast } from "@/hooks/use-toast"; import Link from "next/link"; export default function RegisterPage() { const router = useRouter(); const { toast } = useToast(); const registerMutation = useRegister(); const { register, handleSubmit, formState: { errors }, } = useForm({ resolver: zodResolver(registerSchema), }); const onSubmit = async (data: RegisterInput) => { try { await registerMutation.mutateAsync(data); toast({ title: "Registration successful", description: "You can now login with your credentials", }); router.push("/login"); } catch (error: any) { toast({ title: "Registration failed", description: error.response?.data?.message || "Something went wrong", variant: "destructive", }); } }; return (
Create Account Register for Admin CSA dashboard access
{errors.username && (

{errors.username.message}

)}
{errors.email && (

{errors.email.message}

)}
{errors.password && (

{errors.password.message}

)}

Already have an account?{" "} Sign in

); }