From 0f14b1625f5966bb744f8ebeb8716e6dbff20631 Mon Sep 17 00:00:00 2001 From: icarus Date: Sat, 11 Oct 2025 15:39:38 +0800 Subject: [PATCH] feat(video): add video page and sidebar integration - Add new video page component with basic structure - Include video icon in sidebar and launchpad - Update i18n labels for video feature - Increment store version and add migration for video icon --- src/renderer/src/Router.tsx | 2 ++ src/renderer/src/components/Tab/TabContainer.tsx | 3 +++ src/renderer/src/components/app/Sidebar.tsx | 9 ++++++--- src/renderer/src/i18n/label.ts | 6 ++++-- src/renderer/src/i18n/locales/en-us.json | 6 +++++- .../src/pages/launchpad/LaunchpadPage.tsx | 8 +++++++- .../DisplaySettings/SidebarIconsManager.tsx | 6 ++++-- src/renderer/src/pages/video/VideoPage.tsx | 16 ++++++++++++++++ src/renderer/src/store/index.ts | 2 +- src/renderer/src/store/migrate.ts | 13 +++++++++++++ src/renderer/src/types/index.ts | 1 + 11 files changed, 62 insertions(+), 10 deletions(-) create mode 100644 src/renderer/src/pages/video/VideoPage.tsx diff --git a/src/renderer/src/Router.tsx b/src/renderer/src/Router.tsx index edaebfa144..72ce119533 100644 --- a/src/renderer/src/Router.tsx +++ b/src/renderer/src/Router.tsx @@ -20,6 +20,7 @@ import PaintingsRoutePage from './pages/paintings/PaintingsRoutePage' import SettingsPage from './pages/settings/SettingsPage' import AssistantPresetsPage from './pages/store/assistants/presets/AssistantPresetsPage' import TranslatePage from './pages/translate/TranslatePage' +import { VideoPage } from './pages/video/VideoPage' const Router: FC = () => { const { navbarPosition } = useNavbarPosition() @@ -40,6 +41,7 @@ const Router: FC = () => { } /> } /> } /> + } /> ) diff --git a/src/renderer/src/components/Tab/TabContainer.tsx b/src/renderer/src/components/Tab/TabContainer.tsx index 6747066c6e..17184086b9 100644 --- a/src/renderer/src/components/Tab/TabContainer.tsx +++ b/src/renderer/src/components/Tab/TabContainer.tsx @@ -32,6 +32,7 @@ import { Sparkle, Sun, Terminal, + Video, X } from 'lucide-react' import { useCallback, useEffect, useMemo } from 'react' @@ -106,6 +107,8 @@ const getTabIcon = ( return case 'code': return + case 'video': + return