diff options
| author | Adam Mathes <adam@adammathes.com> | 2026-02-14 21:16:58 -0800 |
|---|---|---|
| committer | Adam Mathes <adam@adammathes.com> | 2026-02-14 21:16:58 -0800 |
| commit | 189de78203be6b07c81622a4b641144352d8a82b (patch) | |
| tree | 41562388a7bfc9460da3b76830433e7af30e9325 /frontend/src/components/Login.tsx | |
| parent | 25f817030dc2bf2c8d53f7c57c17a387263be667 (diff) | |
| download | neko-189de78203be6b07c81622a4b641144352d8a82b.tar.gz neko-189de78203be6b07c81622a4b641144352d8a82b.tar.bz2 neko-189de78203be6b07c81622a4b641144352d8a82b.zip | |
feat: add username field to login for better password manager support
Diffstat (limited to 'frontend/src/components/Login.tsx')
| -rw-r--r-- | frontend/src/components/Login.tsx | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/frontend/src/components/Login.tsx b/frontend/src/components/Login.tsx index b62acea..87694cb 100644 --- a/frontend/src/components/Login.tsx +++ b/frontend/src/components/Login.tsx @@ -5,6 +5,7 @@ import './Login.css'; import { apiFetch } from '../utils'; export default function Login() { + const [username, setUsername] = useState('neko'); const [password, setPassword] = useState(''); const [error, setError] = useState(''); const navigate = useNavigate(); @@ -16,6 +17,7 @@ export default function Login() { try { // Use URLSearchParams to send as form-urlencoded, matching backend expectation const params = new URLSearchParams(); + params.append('username', username); params.append('password', password); const res = await apiFetch('/api/login', { @@ -39,6 +41,15 @@ export default function Login() { <form onSubmit={handleSubmit} className="login-form"> <h1>neko rss mode</h1> <div className="form-group"> + <label htmlFor="username">username</label> + <input + id="username" + type="text" + value={username} + onChange={(e) => setUsername(e.target.value)} + /> + </div> + <div className="form-group"> <label htmlFor="password">password</label> <input id="password" |
