From 4955f617ee29b0d36e677ec1aee4dc7463af1249 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=9B=A8=E9=9C=96=E9=93=83?= Date: Thu, 28 May 2026 21:28:52 +0800 Subject: [PATCH] fix: remove redundant search input from Dashboard (header already has one) Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> --- src/pages/Dashboard/index.tsx | 35 +++-------------------------------- 1 file changed, 3 insertions(+), 32 deletions(-) diff --git a/src/pages/Dashboard/index.tsx b/src/pages/Dashboard/index.tsx index 15b8210..1d28102 100644 --- a/src/pages/Dashboard/index.tsx +++ b/src/pages/Dashboard/index.tsx @@ -1,15 +1,13 @@ import { useRouter } from '@/providers/RouterProvider'; import { getFeatureByKey } from '@/config/features'; import type { PageType } from '@/types/storage'; -import { useMemo, useState } from 'react'; +import { useMemo } from 'react'; import { useI18n } from '@/utils/chromeI18n'; import { cn } from '@/lib/utils'; -import { Search } from 'lucide-react'; export default function DashboardPage() { const { navigateTo, visiblePages, pageOrder, recentlyUsedTools } = useRouter(); const { t } = useI18n(['features']); - const [searchQuery, setSearchQuery] = useState(''); const visibleSet = useMemo(() => new Set(visiblePages), [visiblePages]); @@ -20,16 +18,6 @@ export default function DashboardPage() { .filter((item) => item.feature?.themeColorKey && item.feature.icon != null); }, [pageOrder, visibleSet]); - const filteredFeatures = useMemo(() => { - if (!searchQuery.trim()) return visibleFeatures; - const query = searchQuery.toLowerCase(); - return visibleFeatures.filter( - (item) => - t(item.feature!.labelKey).toLowerCase().includes(query) || - t(item.feature!.descriptionKey).toLowerCase().includes(query), - ); - }, [visibleFeatures, searchQuery, t]); - const recentFeatures = useMemo(() => { return recentlyUsedTools .filter((key) => visibleSet.has(key)) @@ -37,27 +25,10 @@ export default function DashboardPage() { .filter((item) => item.feature?.themeColorKey && item.feature.icon != null); }, [recentlyUsedTools, visibleSet]); - const showRecent = !searchQuery.trim() && recentFeatures.length > 0; + const showRecent = recentFeatures.length > 0; return (
- {/* 搜索栏 */} -
- - setSearchQuery(e.target.value)} - placeholder={t('dashboard_searchPlaceholder')} - className={cn( - 'w-full h-9 pl-9 pr-3 rounded-lg border border-border/70 bg-background text-sm', - 'placeholder:text-muted-foreground/50 outline-none', - 'focus:border-primary/50 focus:ring-1 focus:ring-primary/20', - 'transition-colors', - )} - /> -
- {/* 最近使用 */} {showRecent && (
@@ -94,7 +65,7 @@ export default function DashboardPage() { {t('dashboard_allTools')}
- {filteredFeatures.map(({ key, feature }) => { + {visibleFeatures.map(({ key, feature }) => { const IconComponent = feature!.icon!; return (