From ecd16748a21b7950c6d87b5a8c8d6d26f312a043 Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Fri, 13 Feb 2026 17:21:10 -0800 Subject: feat(v2): add neko cat toggle for sidebar (NK-jyw7lb) --- frontend/src/App.css | 14 ++++++++++---- frontend/src/App.test.tsx | 2 +- frontend/src/App.tsx | 8 +++++--- 3 files changed, 16 insertions(+), 8 deletions(-) (limited to 'frontend') diff --git a/frontend/src/App.css b/frontend/src/App.css index 364ac69..3463f5d 100644 --- a/frontend/src/App.css +++ b/frontend/src/App.css @@ -32,11 +32,11 @@ body { font-weight: bold; } -.dashboard-header h1 { +.dashboard-header .logo { margin: 0; - font-size: 1.2rem; - font-variant: small-caps; - text-transform: lowercase; + font-size: 2rem; + cursor: pointer; + line-height: 1; } .nav-link, @@ -62,6 +62,7 @@ body { display: flex; flex: 1; overflow: hidden; + position: relative; } .dashboard-sidebar { @@ -72,6 +73,11 @@ body { flex-direction: column; overflow-y: auto; padding: 1rem; + transition: margin-left 0.4s ease; +} + +.dashboard-sidebar.hidden { + margin-left: -15rem; } .dashboard-main { diff --git a/frontend/src/App.test.tsx b/frontend/src/App.test.tsx index d0c31fd..303ac7e 100644 --- a/frontend/src/App.test.tsx +++ b/frontend/src/App.test.tsx @@ -31,7 +31,7 @@ describe('App', () => { render(); await waitFor(() => { - expect(screen.getByText(/neko reader/i)).toBeInTheDocument(); + expect(screen.getByText('🐱')).toBeInTheDocument(); }); // Test Logout diff --git a/frontend/src/App.tsx b/frontend/src/App.tsx index 2758472..7c6b11f 100644 --- a/frontend/src/App.tsx +++ b/frontend/src/App.tsx @@ -37,10 +37,12 @@ import Settings from './components/Settings'; function Dashboard() { const navigate = useNavigate(); + const [sidebarVisible, setSidebarVisible] = useState(true); + return ( -
+
-

Neko Reader

+

setSidebarVisible(!sidebarVisible)} style={{ cursor: 'pointer' }}>🐱

-