diff --git a/src/renderer/src/components/feed-column/index.tsx b/src/renderer/src/components/feed-column/index.tsx index e54b16a7e..ae4cbfbe9 100644 --- a/src/renderer/src/components/feed-column/index.tsx +++ b/src/renderer/src/components/feed-column/index.tsx @@ -87,14 +87,27 @@ export function FeedColumn({ }) return ( - +
setActivedList({ + level: 'type', + id: items[active].name, + name: items[active].name, + type: items[active].name, + })}>
+ {items.map((item, index) => (
{ + onClick={(e) => { setActive(index) + setActivedList({ + level: 'type', + id: items[index].name, + name: items[index].name, + type: items[index].name, + }) + e.stopPropagation() }} > @@ -103,6 +116,7 @@ export function FeedColumn({
))} +
@@ -113,6 +127,6 @@ export function FeedColumn({ ))}
- +
) } diff --git a/src/renderer/src/components/feed-column/list.tsx b/src/renderer/src/components/feed-column/list.tsx index da8809b25..f52242341 100644 --- a/src/renderer/src/components/feed-column/list.tsx +++ b/src/renderer/src/components/feed-column/list.tsx @@ -20,7 +20,7 @@ export function FeedList({ return (
{ e.stopPropagation() setActivedList({ diff --git a/src/renderer/src/lib/entries.ts b/src/renderer/src/lib/entries.ts index 5386b95cf..d1757dacf 100644 --- a/src/renderer/src/lib/entries.ts +++ b/src/renderer/src/lib/entries.ts @@ -1,5 +1,7 @@ import { useInfiniteQuery } from '@tanstack/react-query' import { parseHtml } from './parse-html' +import { typeMap } from './feeds' +import { levels } from '@renderer/lib/constants' export const useEntries = ({ level, @@ -12,15 +14,30 @@ export const useEntries = ({ queryKey: ['entries', level, id], enabled: !!level && !!id, queryFn: async ({ pageParam }) => { - const entries = await (await fetch(`${import.meta.env.VITE_MINIFLUX_ENDPOINT}/v1/categories/${id}/entries?` + new URLSearchParams({ - direction: 'desc', - limit: '10', - after_entry_id: pageParam, - }), { - headers: { - 'X-Auth-Token': import.meta.env.VITE_MINIFLUX_TOKEN - } - })).json() + let entries + if (level === levels.folder) { + entries = await (await fetch(`${import.meta.env.VITE_MINIFLUX_ENDPOINT}/v1/entries?` + new URLSearchParams({ + direction: 'desc', + limit: '10', + after_entry_id: pageParam, + category_id: id + '', + }), { + headers: { + 'X-Auth-Token': import.meta.env.VITE_MINIFLUX_TOKEN + } + })).json() + } else if (level === levels.type) { + entries = await (await fetch(`${import.meta.env.VITE_MINIFLUX_ENDPOINT}/v1/entries?` + new URLSearchParams({ + direction: 'desc', + limit: '10', + after_entry_id: pageParam, + category_id: typeMap[id as string][0] + '', + }), { + headers: { + 'X-Auth-Token': import.meta.env.VITE_MINIFLUX_TOKEN + } + })).json() + } entries.entries = await Promise.all(entries.entries.map(async (entry) => { entry.content = entry.content.replaceAll('https://pixiv.diygod.me/', 'https://i.pximg.net/'); const parsed = await parseHtml(entry.content) diff --git a/src/renderer/src/lib/feeds.ts b/src/renderer/src/lib/feeds.ts index 6342278c2..185c9fd19 100644 --- a/src/renderer/src/lib/feeds.ts +++ b/src/renderer/src/lib/feeds.ts @@ -1,12 +1,21 @@ import { useQuery } from '@tanstack/react-query' -const typeMap = { - 'Articles': ['Forum', 'News', 'Game', 'Shopping', 'Blog', 'Knowledge'], - 'Social Media': ['Twitter', 'Weibo'], - 'Pictures': ['Picture'], - 'Videos': ['bilibili', 'YouTube', 'Video'], +// const typeMap = { +// 'Articles': ['Forum', 'News', 'Game', 'Shopping', 'Blog', 'Knowledge'], +// 'Social Media': ['Twitter', 'Weibo'], +// 'Pictures': ['Picture'], +// 'Videos': ['bilibili', 'YouTube', 'Video'], +// 'Audios': [], +// 'Notifications': ['Software'], +// } + +export const typeMap = { + 'Articles': [5, 6, 11, 12, 10, 15], + 'Social Media': [2, 9], + 'Pictures': [7], + 'Videos': [3, 4, 8], 'Audios': [], - 'Notifications': ['Software'], + 'Notifications': [13], } export const useFeeds = (type: string) => @@ -29,7 +38,7 @@ export const useFeeds = (type: string) => unread: 0, } feeds?.forEach((feed) => { - if (typeMap[type].includes(feed.category.title)) { + if (typeMap[type].includes(feed.category.id)) { if (!categories.list[feed.category.title]) { categories.list[feed.category.title] = { list: [], diff --git a/src/renderer/src/pages/index.tsx b/src/renderer/src/pages/index.tsx index e628b6b8b..7ae7f1a9a 100644 --- a/src/renderer/src/pages/index.tsx +++ b/src/renderer/src/pages/index.tsx @@ -10,7 +10,7 @@ export function Component() { return (
-
setActivedList(null)}> +