From e3c379d069ffa9661561d25cdbf2f5894a2f8ee8 Mon Sep 17 00:00:00 2001
From: Adam Mathes <adam@adammathes.com>
Date: Sat, 14 Feb 2026 08:58:38 -0800
Subject: Refactor: project structure, implement dependency injection, and
 align v2 UI with v1

---
 frontend/src/App.tsx | 42 ++++++++++++++++++++++++++++++++++--------
 1 file changed, 34 insertions(+), 8 deletions(-)

(limited to 'frontend/src/App.tsx')

diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx
index 9f53ace..4835cd3 100644
--- a/frontend/src/App.tsx
+++ b/frontend/src/App.tsx
@@ -35,21 +35,47 @@ import FeedList from './components/FeedList';
 import FeedItems from './components/FeedItems';
 import Settings from './components/Settings';
 
-function Dashboard({ theme, setTheme }: { theme: string, setTheme: (t: string) => void }) {
+function Dashboard({ theme, setTheme }: { theme: string; setTheme: (t: string) => void }) {
   const navigate = useNavigate();
   const [sidebarVisible, setSidebarVisible] = useState(true);
 
   return (
-    <div className={`dashboard ${sidebarVisible ? 'sidebar-visible' : 'sidebar-hidden'} theme-${theme}`}>
+    <div
+      className={`dashboard ${sidebarVisible ? 'sidebar-visible' : 'sidebar-hidden'} theme-${theme}`}
+    >
       <header className="dashboard-header">
-        <h1 className="logo" onClick={() => setSidebarVisible(!sidebarVisible)} style={{ cursor: 'pointer' }}>🐱</h1>
+        <h1
+          className="logo"
+          onClick={() => setSidebarVisible(!sidebarVisible)}
+          style={{ cursor: 'pointer' }}
+        >
+          🐱
+        </h1>
         <nav>
-          <button onClick={() => navigate('/settings')} className="nav-link" style={{ color: 'white', marginRight: '1rem', background: 'none', border: 'none', cursor: 'pointer', fontSize: 'inherit', fontFamily: 'inherit' }}>Settings</button>
+          <button
+            onClick={() => navigate('/settings')}
+            className="nav-link"
+            style={{
+              color: 'white',
+              marginRight: '1rem',
+              background: 'none',
+              border: 'none',
+              cursor: 'pointer',
+              fontSize: 'inherit',
+              fontFamily: 'inherit',
+            }}
+          >
+            Settings
+          </button>
 
-          <button onClick={() => {
-            fetch('/api/logout', { method: 'POST' })
-              .then(() => window.location.href = '/v2/login');
-          }} className="logout-btn">
+          <button
+            onClick={() => {
+              fetch('/api/logout', { method: 'POST' }).then(
+                () => (window.location.href = '/v2/login')
+              );
+            }}
+            className="logout-btn"
+          >
             Logout
           </button>
         </nav>
-- 
cgit v1.2.3

