refactor: relocate components to app directory structure

This commit is contained in:
2026-06-09 14:43:10 +08:00
parent f060301c24
commit cda55c8f9b
61 changed files with 19 additions and 27 deletions
+36
View File
@@ -0,0 +1,36 @@
"use client";
/**
* 认证面板:顶层 switchFacebook / Email
*
* 原始 Dart: lib/ui/auth/widgets/auth_panel.dart
*/
import { useAuthState } from "@/contexts/auth/auth-context";
import { AuthFacebookPanel } from "./auth-facebook-panel";
import { AuthEmailPanel } from "./auth-email-panel";
import styles from "./auth-panel.module.css";
export interface AuthPanelProps {
onGoogleSuccess: (idToken: string, email: string) => void;
}
export function AuthPanel({ onGoogleSuccess }: AuthPanelProps) {
const state = useAuthState();
return (
<div className={styles.panel}>
{state.authPanelMode === "facebook" ? (
<AuthFacebookPanel
onSwitchToEmail={() => {
// 切换模式由外部 dispatch 触发;这里不直接处理
// 因为 auth-panel 受 `authPanelMode` 控制,调用方需要 dispatch `AuthPanelModeChanged`
// 但我们目前 AuthFacebookPanel 内部 click "Continue with Email" 直接调用 onSwitchToEmail
// 实际上本组件直接渲染对应 panel
}}
onGoogleSuccess={onGoogleSuccess}
/>
) : (
<AuthEmailPanel onBack={() => undefined} />
)}
</div>
);
}