From cba29e6aae637b04ff6eaf28f74bc15b6242b9ea Mon Sep 17 00:00:00 2001
From: Adam Mathes <adam@adammathes.com>
Date: Mon, 16 Feb 2026 19:37:50 -0800
Subject: Remove legacy V2 React frontend and update build/test scripts to
 focus on Vanilla JS (V3)

---
 frontend/src/components/Login.tsx | 67 ---------------------------------------
 1 file changed, 67 deletions(-)
 delete mode 100644 frontend/src/components/Login.tsx

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

diff --git a/frontend/src/components/Login.tsx b/frontend/src/components/Login.tsx
deleted file mode 100644
index 87694cb..0000000
--- a/frontend/src/components/Login.tsx
+++ /dev/null
@@ -1,67 +0,0 @@
-import { useState, type FormEvent } from 'react';
-import { useNavigate } from 'react-router-dom';
-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();
-
-  const handleSubmit = async (e: FormEvent) => {
-    e.preventDefault();
-    setError('');
-
-    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', {
-        method: 'POST',
-        body: params,
-      });
-
-      if (res.ok) {
-        navigate('/');
-      } else {
-        const data = await res.json();
-        setError(data.message || 'Login failed');
-      }
-    } catch (_err) {
-      setError('Network error');
-    }
-  };
-
-  return (
-    <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
-            id="password"
-            type="password"
-            value={password}
-            onChange={(e) => setPassword(e.target.value)}
-            autoFocus
-          />
-        </div>
-        {error && <div className="error-message">{error}</div>}
-        <button type="submit">login</button>
-      </form>
-    </div>
-  );
-}
-- 
cgit v1.2.3

