import React, { useState } from 'react'; import { FiHardDrive, FiCloud } from 'react-icons/fi'; import clsx from 'clsx'; import { TOOLBOX_CATEGORIES } from '../config/Api60sConfig'; import FullscreenEmbed from '../components/FullscreenEmbed'; import { PageWrapper, PageHeader, PageTitle, FeatureGrid, CatalogCard, FeatureCardIcon, FeatureCardTitle, FeatureCardDesc, FeatureCardUseCount, } from '../styles/shared'; import { FEATURE_CARD_SECTION } from '../config/featureCardSections'; import { useFeatureCardClickStats } from '../hooks/useFeatureCardClickStats'; function headerColorForItem(item) { if (!item) return '#4ade80'; for (const c of TOOLBOX_CATEGORIES) { if (c.items.some((i) => i.id === item.id)) return c.color; } return '#4ade80'; } const ToolboxPage = () => { const [catId, setCatId] = useState(TOOLBOX_CATEGORIES[0].id); const [embedItem, setEmbedItem] = useState(null); const { counts, bump } = useFeatureCardClickStats(FEATURE_CARD_SECTION.TOOLBOX); const cat = TOOLBOX_CATEGORIES.find((c) => c.id === catId) || TOOLBOX_CATEGORIES[0]; return ( 工具箱 {/* Tabs */}
{TOOLBOX_CATEGORIES.map((c) => ( ))}
{cat.items.map((item) => ( { bump(item.id); setEmbedItem(item); }} > {Number(counts[item.id]) || 0} {item.icon} {item.title} {item.desc} {/* 右下角 离线/联网 标识 */} {item.offlineOk ? ( ) : ( )} ))} {embedItem && ( setEmbedItem(null)} /> )}
); }; export default ToolboxPage;