From 1e71cd5a59da7ac23e57014f74976a8e2479ecc9 Mon Sep 17 00:00:00 2001 From: Innei Date: Thu, 15 May 2025 22:07:02 +0800 Subject: [PATCH] fix(navigation): use keyboard to navigation select between feed and folder - Removed unused export of FeedCategory to streamline the component structure. - Added import for target from happy-dom in FeedList for improved functionality. - Implemented cleanup of selected feed IDs when a category or folder is targeted in FeedList. These changes enhance code clarity and maintainability in the timeline column components. Signed-off-by: Innei --- .../renderer/src/modules/timeline-column/FeedCategory.tsx | 3 --- .../src/modules/timeline-column/FeedList.electron.tsx | 6 ++++++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/apps/desktop/layer/renderer/src/modules/timeline-column/FeedCategory.tsx b/apps/desktop/layer/renderer/src/modules/timeline-column/FeedCategory.tsx index d0f885acc..36e8a50b6 100644 --- a/apps/desktop/layer/renderer/src/modules/timeline-column/FeedCategory.tsx +++ b/apps/desktop/layer/renderer/src/modules/timeline-column/FeedCategory.tsx @@ -164,7 +164,6 @@ function FeedCategoryImpl({ data: ids, view, categoryOpenStateData }: FeedCatego }) const [isCategoryEditing, setIsCategoryEditing] = useState(false) - const [isContextMenuOpen, setIsContextMenuOpen] = useState(false) const isCategoryIsWaiting = isChangePending @@ -373,8 +372,6 @@ function FilterReadFeedCategory(props: FeedCategoryProps) { return } -export const FeedCategory = memo(FeedCategoryImpl) - export function FeedCategoryAutoHideUnread(props: FeedCategoryProps) { const hideAllReadSubscriptions = useGeneralSettingKey("hideAllReadSubscriptions") const unreadOnly = useGeneralSettingKey("unreadOnly") diff --git a/apps/desktop/layer/renderer/src/modules/timeline-column/FeedList.electron.tsx b/apps/desktop/layer/renderer/src/modules/timeline-column/FeedList.electron.tsx index a4cd7f249..5316b0014 100644 --- a/apps/desktop/layer/renderer/src/modules/timeline-column/FeedList.electron.tsx +++ b/apps/desktop/layer/renderer/src/modules/timeline-column/FeedList.electron.tsx @@ -31,6 +31,7 @@ import { useIsPreviewFeed } from "../entry-column/hooks/useIsPreviewFeed" import { resetSelectedFeedIds, setFeedAreaScrollProgressValue, + setSelectedFeedIds, useSelectedFeedIdsState, } from "./atom" import { DraggableContext } from "./context" @@ -346,6 +347,11 @@ const useRegisterCommand = () => { const targetElement = allSubscriptions[targetIndex] as HTMLElement | null + // Cleanup selected feed + const targetIsCategoryOrFolder = targetElement?.dataset.sub?.startsWith("feed-category-") + if (targetIsCategoryOrFolder) { + setSelectedFeedIds([]) + } targetElement?.click() }