From cba29e6aae637b04ff6eaf28f74bc15b6242b9ea Mon Sep 17 00:00:00 2001 From: Adam Mathes 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/App.tsx | 140 --------------------------------------------------- 1 file changed, 140 deletions(-) delete mode 100644 frontend/src/App.tsx (limited to 'frontend/src/App.tsx') diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx deleted file mode 100644 index cc45949..0000000 --- a/frontend/src/App.tsx +++ /dev/null @@ -1,140 +0,0 @@ -import React, { useEffect, useState } from 'react'; -import { HashRouter, Routes, Route, Navigate, useLocation } from 'react-router-dom'; -import Login from './components/Login'; -import './App.css'; -import { apiFetch } from './utils'; - -// Protected Route wrapper -function RequireAuth({ children }: { children: React.ReactElement }) { - const [auth, setAuth] = useState(null); - const location = useLocation(); - - useEffect(() => { - apiFetch('/api/auth') - .then((res) => { - if (res.ok) { - setAuth(true); - } else { - setAuth(false); - } - }) - .catch(() => setAuth(false)); - }, []); - - if (auth === null) { - return
Loading...
; - } - - if (!auth) { - return ; - } - - return children; -} - -import FeedList from './components/FeedList'; -import FeedItems from './components/FeedItems'; -import Settings from './components/Settings'; - -interface DashboardProps { - theme: string; - setTheme: (t: string) => void; - fontTheme: string; - setFontTheme: (t: string) => void; -} - -function Dashboard({ theme, setTheme, fontTheme, setFontTheme }: DashboardProps) { - const [sidebarVisible, setSidebarVisible] = useState(window.innerWidth > 768); - - useEffect(() => { - const handleResize = () => { - if (window.innerWidth > 768) { - setSidebarVisible(true); - } else { - setSidebarVisible(false); - } - }; - window.addEventListener('resize', handleResize); - return () => window.removeEventListener('resize', handleResize); - }, []); - - return ( -
-
- {(!sidebarVisible || window.innerWidth <= 768) && ( - - )} - {sidebarVisible && ( -
setSidebarVisible(false)} - /> - )} - -
- - } /> - } /> - } /> - } /> - -
-
-
- ); -} - -function App() { - const [theme, setTheme] = useState(localStorage.getItem('neko-theme') || 'light'); - const [fontTheme, setFontTheme] = useState(localStorage.getItem('neko-font-theme') || 'default'); - - const handleSetTheme = (newTheme: string) => { - setTheme(newTheme); - localStorage.setItem('neko-theme', newTheme); - }; - - const handleSetFontTheme = (newFontTheme: string) => { - setFontTheme(newFontTheme); - localStorage.setItem('neko-font-theme', newFontTheme); - }; - - - - return ( - - - } /> - - - - } - /> - - - ); -} - -export default App; -- cgit v1.2.3