import { useState } from "react"; import { Link, useNavigate, useLocation } from "react-router-dom"; import { useAuth } from "../lib/auth"; import { toast } from "sonner"; export default function Login() { const { login } = useAuth(); const nav = useNavigate(); const loc = useLocation(); const [email, setEmail] = useState(""); const [password, setPassword] = useState(""); const [submitting, setSubmitting] = useState(false); const onSubmit = async (e) => { e.preventDefault(); setSubmitting(true); try { await login(email, password); toast.success("Welcome back"); nav(loc.state?.from || "/browse", { replace: true }); } catch (err) { toast.error(err.response?.data?.detail || "Login failed"); } finally { setSubmitting(false); } }; return (
Personal Cinema

Your library,
your way.

Stream the films you own, the way you remember them — without the noise.

Kino .

Sign in

Don't have an account?{" "} Create one

Demo Admin admin@kino.local / kino-admin-2026
); }