// auth.jsx — Login / Sign-up (glass, centered) const { useState: useStateA } = React; function Field({ label, type = "text", placeholder, value, onChange, icon }) { const [f, setF] = useStateA(false); return ( ); } function Auth({ mode, onNav }) { const [tab, setTab] = useStateA(mode === "login" ? "login" : "signup"); const [view, setView] = useStateA("auth"); // "auth" | "forgot" | "sent" const [email, setEmail] = useStateA(""); const [pw, setPw] = useStateA(""); const [name, setName] = useStateA(""); const [resetEmail, setResetEmail] = useStateA(""); const isLogin = tab === "login"; const backToLogin = () => { setView("auth"); setTab("login"); }; return (
The fastest viewer engine on the market. Be live with real viewers in under a minute.
Secured with AES-256 encryption. By continuing you agree to our Terms & Privacy Policy.
Enter the email on your account and we’ll send you a secure link to set a new password.
Remembered it? { e.preventDefault(); backToLogin(); }} style={{ color: "var(--accent-soft)" }}>Log in instead
If an account exists for
{resetEmail}
we’ve sent a link to reset your password. It expires in 30 minutes.
Didn’t get it? Check spam, or { e.preventDefault(); setView("forgot"); }} style={{ color: "var(--accent-soft)" }}>try another email.