import { t } from "@lingui/core/macro" import { UserAuthForm } from "@/components/login/auth-form" import { Logo } from "../logo" import { useEffect, useMemo, useState } from "react" import { useStore } from "@nanostores/react" import ForgotPassword from "./forgot-pass-form" import { $router } from "../router" import { AuthMethodsList } from "pocketbase" import { useTheme } from "../theme-provider" import { pb } from "@/lib/api" import { ModeToggle } from "../mode-toggle" import { OtpRequestForm } from "./otp-forms" export default function () { const page = useStore($router) const [isFirstRun, setFirstRun] = useState(false) const [authMethods, setAuthMethods] = useState() const { theme } = useTheme() useEffect(() => { document.title = t`Login` + " / Beszel" pb.send("/api/beszel/first-run", {}).then(({ firstRun }) => { setFirstRun(firstRun) }) }, []) useEffect(() => { pb.collection("users") .listAuthMethods() .then((methods) => { setAuthMethods(methods) }) }, []) const subtitle = useMemo(() => { if (isFirstRun) { return t`Please create an admin account` } else if (page?.route === "forgot_password") { return t`Enter email address to reset password` } else if (page?.route === "request_otp") { return t`Request a one-time password` } else { return t`Please sign in to your account` } }, [isFirstRun, page]) if (!authMethods) { return null } return (

Beszel

{subtitle}

{page?.route === "forgot_password" ? ( ) : page?.route === "request_otp" ? ( ) : ( )}
) }