1import React, { useState } from 'react';
2import { AuthService } from './auth.service';
3
4
5export const AuthGate: React.FC = () => {
6 const [status, setStatus] = useState<AuthStatus>('loading');
7 const [passphrase, setPassphrase] = useState('');
8
9 const handleLogin = async () => {
10 try {
11 const result = await AuthService.login(passphrase);
12 setStatus('unlocking');
13 } catch (err) {
14 setStatus('error');
15 }
16 };
17
18 if (status === 'loading') return <Spinner />;
19 if (status === 'blocked') return <BlockedScreen />;
20
21 return (
22 <div className="auth-layout">
23 <AuthCard onSubmit={handleLogin} />
24 </div>
25 );
26};