David Prince
fix: add all missing local module stubs (remote_mcp_registry, mcp_auth, mcp_transport, etc)
cce8120
Raw
History Blame Contribute Delete
1.38 kB
import React, { useState } from 'react';
import api, { setAuthToken } from '../api';
interface LoginProps {
onLogin: (token: string) => void;
}
const Login: React.FC<LoginProps> = ({ onLogin }) => {
const [email, setEmail] = useState('');
const [password, setPassword] = useState('');
const [error, setError] = useState<string | null>(null);
const handleSubmit = async (e: React.FormEvent) => {
e.preventDefault();
try {
const response = await api.post('/auth/login', { email, password });
const token = response.data.access_token;
setAuthToken(token);
onLogin(token);
} catch (err: any) {
setError(err.response?.data?.detail || 'Login failed');
}
};
return (
<div style={{ maxWidth: 400, margin: 'auto', paddingTop: '2rem' }}>
<h2>Login</h2>
{error && <p style={{ color: 'red' }}>{error}</p>}
<form onSubmit={handleSubmit}>
<div>
<label>Email:</label><br />
<input type="email" value={email} onChange={e => setEmail(e.target.value)} required />
</div>
<div>
<label>Password:</label><br />
<input type="password" value={password} onChange={e => setPassword(e.target.value)} required />
</div>
<button type="submit" style={{ marginTop: '1rem' }}>Login</button>
</form>
</div>
);
};
export default Login;