import { useForm } from "react-hook-form"; import { zodResolver } from "@hookform/resolvers/zod"; import { insertUserSchema } from "@shared/schema"; import { useLocation } from "wouter"; import { useMutation } from "@tanstack/react-query"; import { apiRequest, queryClient } from "@/lib/queryClient"; import { Form, FormControl, FormField, FormItem, FormLabel, FormMessage } from "@/components/ui/form"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { useToast } from "@/hooks/use-toast"; import { ShieldCheck } from "lucide-react"; export default function SetupWizard() { const [, setLocation] = useLocation(); const { toast } = useToast(); const form = useForm({ resolver: zodResolver(insertUserSchema), defaultValues: { username: "", email: "", password: "", }, }); const setupMutation = useMutation({ mutationFn: async (data: any) => { const res = await apiRequest("POST", "/api/setup", data); return res.json(); }, onSuccess: (user) => { queryClient.setQueryData(["/api/user"], user); queryClient.invalidateQueries({ queryKey: ["/api/setup/status"] }); setLocation("/"); toast({ title: "Setup Complete", description: "Super Administrator created successfully.", }); }, onError: (error: Error) => { toast({ title: "Setup Failed", description: error.message, variant: "destructive" }); } }); return (