import { Box, Typography, Container } from '@mui/material'; import { useRouter } from '@/providers/RouterProvider'; import ToolCard from '@/components/ToolCard'; import AccessTimeIcon from '@mui/icons-material/AccessTime'; import StorageIcon from '@mui/icons-material/Storage'; import LanguageIcon from '@mui/icons-material/Language'; import type { PageType } from '@/types/storage'; import { useEffect, useState } from 'react'; import dayjs from '@/utils/dayjs'; export default function DashboardPage() { const { navigateTo, visiblePages } = useRouter(); const [now, setNow] = useState(dayjs()); useEffect(() => { const timer = setInterval(() => setNow(dayjs()), 1000); return () => clearInterval(timer); }, []); const isVisible = (key: string) => visiblePages.includes(key as PageType); return ( {isVisible('timestamp') && ( } onClick={() => navigateTo('timestamp')} snapshot={ {now.valueOf()} {now.format('HH:mm:ss')} } /> )} {isVisible('storageCleaner') && ( } onClick={() => navigateTo('storageCleaner')} /> )} {isVisible('openUrl') && ( } onClick={() => navigateTo('openUrl')} /> )} ); }