import { Form, redirect } from "react-router"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Input } from "@/components/ui/input"; import { Button } from "@/components/ui/button"; import { Label } from "@/components/ui/label"; import { getCurrentUser } from "@lib/auth-utils"; import { db } from "@lib/db"; import { users } from "@lib/db/schema"; import type { Route } from "./+types/page"; import { useEffect } from "react"; import { toast } from "sonner"; export async function loader({ request }: { request: Request }) { const existingUsers = await db.select().from(users).limit(1); if (existingUsers.length === 0) { return redirect("/setup"); } const user = await getCurrentUser(request); if (user) { return redirect("/"); } } export default function LoginPage({ actionData }: Route.ComponentProps) { useEffect(() => { if (actionData?.error) { toast(actionData.error) } }, [actionData]); return (