d38bafe237
移除 chrome.i18n 后,将各功能页面、布局与工具模块的 UI 文案改为内联中文; 删除冗余注释与过度抽象(如 ToolCard、StatCard),精简 props 与状态管理; 同步优化 JsonTools、StorageCleaner、Timestamp、TestDataGenerator、Dashboard、 Base64Converter、RightClickRestorer、TextStatistics、TopBar、RouterProvider、 ThemeModeProvider 及生成器库与 utils 工具文件。
30 lines
957 B
TypeScript
30 lines
957 B
TypeScript
import { useMemo } from 'react';
|
|
import { useRouter } from '@/providers/RouterProvider';
|
|
import type { PageType } from '@/types/storage';
|
|
import { resolveDashboardFeatures, type DashboardFeatureItem } from './dashboardFeatures';
|
|
|
|
export interface UseDashboardReturn {
|
|
visibleFeatures: DashboardFeatureItem[];
|
|
recentFeatures: DashboardFeatureItem[];
|
|
showRecent: boolean;
|
|
navigateTo: (page: PageType) => void;
|
|
}
|
|
|
|
export function useDashboard(): UseDashboardReturn {
|
|
const { navigateTo, visiblePages, pageOrder, recentlyUsedTools } = useRouter();
|
|
|
|
const visibleFeatures = useMemo(
|
|
() => resolveDashboardFeatures(pageOrder, visiblePages),
|
|
[pageOrder, visiblePages],
|
|
);
|
|
|
|
const recentFeatures = useMemo(
|
|
() => resolveDashboardFeatures(recentlyUsedTools, visiblePages),
|
|
[recentlyUsedTools, visiblePages],
|
|
);
|
|
|
|
const showRecent = recentFeatures.length > 0;
|
|
|
|
return { visibleFeatures, recentFeatures, showRecent, navigateTo };
|
|
}
|