From 189de78203be6b07c81622a4b641144352d8a82b Mon Sep 17 00:00:00 2001
From: Adam Mathes <adam@adammathes.com>
Date: Sat, 14 Feb 2026 21:16:58 -0800
Subject: feat: add username field to login for better password manager support

---
 frontend/src/components/Login.tsx | 11 +++++++++++
 1 file changed, 11 insertions(+)

(limited to 'frontend/src/components/Login.tsx')

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', {
@@ -38,6 +40,15 @@ export default function Login() {
     <div className="login-container">
       <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
-- 
cgit v1.2.3

