diff --git a/src/renderer/src/components/feed-list.tsx b/src/renderer/src/components/feed-list.tsx
index 2a3f33dae..1f9aa10aa 100644
--- a/src/renderer/src/components/feed-list.tsx
+++ b/src/renderer/src/components/feed-list.tsx
@@ -12,14 +12,14 @@ export function FeedList({ type }: { type: string }) {
{type}
{feeds.data?.unread}
- {Object.keys(feeds.data?.list || {}).map((category) => (
-
+ {feeds.data?.list.map((category) => (
+
))}
)
}
-function FeedCategory({ name, data }: { name: string; data: any }) {
+function FeedCategory({ data }: { data: any }) {
const [open, setOpen] = useState(false)
return (
@@ -30,7 +30,7 @@ function FeedCategory({ name, data }: { name: string; data: any }) {
- {name}
+ {data.name}
{!!data.unread && {data.unread}
}
@@ -42,7 +42,6 @@ function FeedCategory({ name, data }: { name: string; data: any }) {
duration: 0.2,
ease: 'easeInOut',
}}
- key={name}
className="overflow-hidden"
initial={{
height: 0,
diff --git a/src/renderer/src/lib/feeds.ts b/src/renderer/src/lib/feeds.ts
index 3a1fa9842..b4cc4303d 100644
--- a/src/renderer/src/lib/feeds.ts
+++ b/src/renderer/src/lib/feeds.ts
@@ -32,6 +32,14 @@ export const useFeeds = () =>
categories.list[feed.category.title].unread += unread
categories.unread += unread
})
- return categories
+ const list = Object.entries(categories.list).map(([name, list]: any) => ({
+ name,
+ list: list.list.sort((a, b) => b.unread - a.unread),
+ unread: list.unread
+ })).sort((a, b) => b.unread - a.unread)
+ return {
+ list,
+ unread: categories.unread
+ }
}
})