From ae2b06f7a702ea432b801985f534ade405d0299a Mon Sep 17 00:00:00 2001 From: Adam Mathes Date: Sat, 14 Feb 2026 09:55:33 -0800 Subject: ui: redesign sidebar to match v1 aesthetic and fix navigation --- frontend/src/components/FeedList.tsx | 82 ++++++++++++++++++++++++------------ 1 file changed, 54 insertions(+), 28 deletions(-) (limited to 'frontend/src/components/FeedList.tsx') diff --git a/frontend/src/components/FeedList.tsx b/frontend/src/components/FeedList.tsx index 1cd1bfd..4ce2d71 100644 --- a/frontend/src/components/FeedList.tsx +++ b/frontend/src/components/FeedList.tsx @@ -7,9 +7,11 @@ import { apiFetch } from '../utils'; export default function FeedList({ theme, setTheme, + setSidebarVisible, }: { theme: string; setTheme: (t: string) => void; + setSidebarVisible: (visible: boolean) => void; }) { const [feeds, setFeeds] = useState([]); const [tags, setTags] = useState([]); @@ -62,42 +64,70 @@ export default function FeedList({ if (loading) return
Loading feeds...
; if (error) return
Error: {error}
; + const handleLogout = () => { + apiFetch('/api/logout', { method: 'POST' }).then(() => (window.location.href = '/v2/login')); + }; + return (
+

setSidebarVisible(false)}> + 🐱 +

+
setSearchQuery(e.target.value)} className="search-input" />
+
    -
  • +
  • - Unread + unread
  • -
  • +
  • - All + all
  • -
  • +
  • - Starred + starred
+ +
+

{ }} className="section-header"> + Tags +

+
    + {tags.map((tag) => ( +
  • + + {tag.title} + +
  • + ))} +
+
+
-

- {feedsExpanded ? '▼' : '▶'} Feeds -

+

+ Feeds +

{feedsExpanded && (feeds.length === 0 ? (

No feeds found.

@@ -111,30 +141,26 @@ export default function FeedList({ > {feed.title || feed.url} - {feed.category && {feed.category}} ))} ))}
- {tags && tags.length > 0 && ( -
-

Tags

-
    - {tags.map((tag) => ( -
  • - - {tag.title} - -
  • - ))} -
-
- )} +
+
    +
  • + + settings + +
  • +
  • + +
  • +
+
-- cgit v1.2.3