"use client"; import { useActionState, useEffect, useState } from "react"; import { ArrowRight, UserPlus, LoaderCircle } from "lucide-react"; import { loginAction, changePasswordAction, addUserAction, type FormState } from "@/app/actions/auth"; import { STARTER_PASSWORD } from "@/lib/auth-policy"; import { PasswordField, inputClass } from "./PasswordField"; function Feedback({ state }: { state: FormState }) { return <> {state.error &&
{state.error}
} {state.success &&{state.success}
} >; } function Submit({ pending, children, adding = false }: { pending: boolean; children: React.ReactNode; adding?: boolean }) { return ; } export function LoginForm({clock=false}:{clock?:boolean}={}) { const [state, action, pending] = useActionState(loginAction, {}); const [email, setEmail] = useState(""); return ; } export function ChangePasswordForm({clock=false}:{clock?:boolean}={}) { const [state, action, pending] = useActionState(changePasswordAction, {}); return ; } export function AddUserForm() { const [state, action, pending] = useActionState(addUserAction, {}); const [name, setName] = useState(""); const [email, setEmail] = useState(""); useEffect(() => { if (state.success) { setName(""); setEmail(""); } }, [state]); return ; }