import { useState, useEffect, useCallback } from "react"; import { useRouteStore } from "@/stores/routeStore"; import { useKoringAuthStore } from "@/stores/koringAuthStore"; import { OobeLayout } from "./layout"; import { NextButton } from "./next-button"; import { KoringLogin } from "@/components/KoringLogin"; export function OobeLogin() { const navigate = useRouteStore((s) => s.navigate); const user = useKoringAuthStore((s) => s.user); const [showSkip, setShowSkip] = useState(false); const [justLoggedIn, setJustLoggedIn] = useState(false); // 10秒后显示"我暂时不需要" useEffect(() => { const t = setTimeout(() => setShowSkip(true), 10000); return () => clearTimeout(t); }, []); const handleSuccess = useCallback(() => { setJustLoggedIn(true); setTimeout(() => navigate("oobe/agreement"), 1500); }, [navigate]); return (
{/* 标题 */}

登录 Koring 账户

扫码登录以同步数据、皮肤与个人配置

{/* 登录组件 — 自动显示 QR */} {/* 已登录提示 */} {justLoggedIn && (

登录成功,正在跳转...

)}
{/* 下一步按钮 — 需要登录才能点击 */} navigate("oobe/agreement")} disabled={!user && !justLoggedIn} /> {/* 跳过按钮 — 10秒后显示 */} {showSkip && !user && !justLoggedIn && (
)}
); }