应用遇到了一些意外错误。您可以尝试刷新页面或重置应用。 - +
{this.state.error && ( -
{this.state.error.toString()}
-
-
+
+ 页面在加载或渲染时遇到错误,您可以重试或切换到其他工具。 - +
{this.state.error && ( -
{this.state.error.toString()}
-
-
+
+ {displayError}
} + + ); }); diff --git a/components/TopBar.tsx b/components/TopBar.tsx index 42b438f..3a502c7 100644 --- a/components/TopBar.tsx +++ b/components/TopBar.tsx @@ -1,35 +1,22 @@ import { useState, useEffect, useRef, useMemo } from 'react'; import { - Box, - IconButton, - Stack, - Tooltip, - Typography, - InputBase, - Paper, - List, - ListItemButton, - ListItemIcon, - ListItemText, - ClickAwayListener, -} from '@mui/material'; -import SettingsIcon from '@mui/icons-material/Settings'; -import OpenInNewIcon from '@mui/icons-material/OpenInNew'; -import ArrowBackIosNewIcon from '@mui/icons-material/ArrowBackIosNew'; -import SearchIcon from '@mui/icons-material/Search'; -import HistoryIcon from '@mui/icons-material/History'; -import CloseIcon from '@mui/icons-material/Close'; -import LanguageIcon from '@mui/icons-material/Language'; -import LightModeIcon from '@mui/icons-material/LightMode'; -import DarkModeIcon from '@mui/icons-material/DarkMode'; -import SettingsBrightnessIcon from '@mui/icons-material/SettingsBrightness'; + Settings, + ExternalLink, + ArrowLeft, + Search, + History, + X, + Globe, + Sun, + Moon, + Monitor, +} from 'lucide-react'; import { useRouter } from '@/providers/RouterProvider'; import { useThemeMode } from '@/providers/ThemeModeProvider'; import { FEATURES, FeatureConfig } from '@/config/features'; import { storageUtil } from '@/utils/chromeStorage'; import { openExtensionPage } from '@/utils/chromeTabs'; import { useTranslation } from 'react-i18next'; -import { alpha } from '@mui/material/styles'; import { SUPPORTED_LANGUAGES, normalizeLanguage } from '@/i18n'; const topBarStyles = { @@ -130,8 +117,7 @@ export default function TopBar({ onOpenOptions }: { onOpenOptions: () => void }) setMode(next[mode]); }; - const ThemeIcon = - mode === 'light' ? LightModeIcon : mode === 'dark' ? DarkModeIcon : SettingsBrightnessIcon; + const ThemeIcon = mode === 'light' ? Sun : mode === 'dark' ? Moon : Monitor; const handleKeyDown = (e: React.KeyboardEvent) => { const totalItems = searchQuery.trim() ? searchResults.length : displayedHistory.length; @@ -170,224 +156,159 @@ export default function TopBar({ onOpenOptions }: { onOpenOptions: () => void }) const isDashboard = currentPage === 'dashboard'; return ( -+ {t(feature.labelKey)} +
++ {t(feature.descriptionKey)} +
+{t('common:buttons.noResults')}
+