import type { FormEvent } from 'react'; import { LogIn, UserPlus } from 'lucide-react'; import { Button, Card, CardContent, CardHeader, CardTitle, Input, Label, PasswordInput, Tabs } from './ui'; import type { AuthMode, LoadState, LoginForm, RegisterForm } from '../types'; const tabs = [ { value: 'login', label: '账号登录' }, { value: 'register', label: '注册账号' }, { value: 'external', label: '外部 Token' }, ] satisfies Array<{ value: AuthMode; label: string }>; export function AuthPanel(props: { authMode: AuthMode; externalToken: string; loginForm: LoginForm; registerForm: RegisterForm; state: LoadState; onAuthModeChange: (value: AuthMode) => void; onExternalTokenChange: (value: string) => void; onLoginChange: (value: LoginForm) => void; onRegisterChange: (value: RegisterForm) => void; onSubmitExternalToken: (event: FormEvent) => void; onSubmitLogin: (event: FormEvent) => void; onSubmitRegister: (event: FormEvent) => void; oidcEnabled: boolean; onOIDCLogin: () => void; }) { return (

Gateway Identity

登录 AI Gateway
{props.oidcEnabled && ( )} {props.authMode === 'login' && } {props.authMode === 'register' && } {props.authMode === 'external' && }
); } function LoginFormView(props: { loginForm: LoginForm; state: LoadState; onLoginChange: (value: LoginForm) => void; onSubmitLogin: (event: FormEvent) => void; }) { return (
); } function RegisterFormView(props: { registerForm: RegisterForm; state: LoadState; onRegisterChange: (value: RegisterForm) => void; onSubmitRegister: (event: FormEvent) => void; }) { return (
); } function ExternalTokenForm(props: { externalToken: string; state: LoadState; onExternalTokenChange: (value: string) => void; onSubmitExternalToken: (event: FormEvent) => void; }) { return (
); }