feat(terminal): add terminal page with routing and navigation

- Add new terminal page component
- Include terminal route in router configuration
- Add terminal title to i18n labels
- Add terminal icon to tab component
This commit is contained in:
icarus 2025-09-10 22:19:57 +08:00
parent eaf4bd18a3
commit 4f107e9305
4 changed files with 25 additions and 1 deletions

View File

@ -20,6 +20,7 @@ import NotesPage from './pages/notes/NotesPage'
import PaintingsRoutePage from './pages/paintings/PaintingsRoutePage'
import SettingsPage from './pages/settings/SettingsPage'
import AssistantPresetsPage from './pages/store/assistants/presets/AssistantPresetsPage'
import { TerminalPage } from './pages/terminal/TerminalPage'
import TranslatePage from './pages/translate/TranslatePage'
const Router: FC = () => {
@ -40,6 +41,7 @@ const Router: FC = () => {
<Route path="/apps" element={<MinAppsPage />} />
<Route path="/code" element={<CodeToolsPage />} />
<Route path="/settings/*" element={<SettingsPage />} />
<Route path="/terminal" element={<TerminalPage />} />
<Route path="/launchpad" element={<LaunchpadPage />} />
</Routes>
</ErrorBoundary>

View File

@ -19,6 +19,7 @@ import { classNames } from '@renderer/utils'
import { ThemeMode } from '@shared/data/preference/preferenceTypes'
import type { LRUCache } from 'lru-cache'
import {
Code,
FileSearch,
Folder,
Hammer,
@ -106,6 +107,8 @@ const getTabIcon = (
case 'settings':
return <Settings size={14} />
case 'code':
return <Code size={14} />
case 'terminal':
return <Terminal size={14} />
default:
return null

View File

@ -143,7 +143,8 @@ const titleKeyMap = {
notes: 'title.notes',
paintings: 'title.paintings',
settings: 'title.settings',
translate: 'title.translate'
translate: 'title.translate',
terminal: 'title.terminal'
} as const
export const getTitleLabel = (key: string): string => {

View File

@ -0,0 +1,18 @@
import { Navbar, NavbarCenter } from '@renderer/components/app/Navbar'
import { FC } from 'react'
import { useTranslation } from 'react-i18next'
export const TerminalPage: FC = () => {
// const { pathname } = useLocation()
const { t } = useTranslation()
// const isRoute = (path: string): string => (pathname.startsWith(path) ? 'active' : '')
return (
<div>
<Navbar>
<NavbarCenter style={{ borderRight: 'none' }}>{t('title.terminal')}</NavbarCenter>
</Navbar>
</div>
)
}