From 794fe5f60bef34d898a6d755f33e0285de151a67 Mon Sep 17 00:00:00 2001 From: Innei Date: Sun, 1 Mar 2026 18:35:38 +0800 Subject: [PATCH] =?UTF-8?q?=E2=99=BB=EF=B8=8F=20refactor:=20restructure=20?= =?UTF-8?q?SPA=20routes=20to=20src/routes=20and=20src/router=20(#12542)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * 📝 docs: add SPA routes restructure design and implementation plan * ♻️ refactor: restructure SPA routes to src/routes and src/router - Move SPA page components from src/app/[variants] to src/routes/ - (main) -> Desktop pages - (mobile) -> Mobile pages - (desktop) -> Desktop-specific pages - onboarding -> Onboarding pages - share -> Share pages - Move router configurations from src/app/[variants]/router to src/router/ - desktopRouter.config.tsx - desktopRouter.config.desktop.tsx - mobileRouter.config.tsx - Keep auth pages in src/app/[variants]/(auth) for SSR - Update all import paths: - @/app/[variants]/ -> @/routes/ - Relative paths adjusted for new directory structure - Update CLAUDE.md and project-overview skill documentation * 🔧 chore: restore imports for RouteConfig and ErrorBoundary in desktopRouter.config.desktop.tsx - Reintroduced the imports for RouteConfig, ErrorBoundary, and redirectElement in the desktop router configuration file. - Ensured proper organization and functionality of the desktop routing setup. Signed-off-by: Innei * 🐛 fix: update import paths after routes restructure - Fix imports from old `src/app/[variants]/` to new `src/routes/` paths - Update Title, Sidebar, MakedownRender, McpList imports - Fix desktop-onboarding/storage import path - Run lint --fix to sort imports * 📝 docs: SPA routes convention and spa-routes skill - Add roots vs features rules to CLAUDE.md and AGENTS.md - Add .agents/skills/spa-routes for route/feature file division - Phase 1: move page route logic to src/features/Pages, thin route files Made-with: Cursor * 🌐 chore: translate non-English comments to English in memory module (#12547) Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 * ♻️ refactor: move router and entries to src/spa, platform-based warmup - Move src/router and entry.*.tsx to src/spa/ - Update HTML, vite.config, and entry imports - Warmup only the entry matching current platform (web/mobile) - Update CLAUDE.md, AGENTS.md, and spa-routes skill Made-with: Cursor * 🗂️ chore: restructure SPA routes and configurations - Deleted outdated SPA routes and implementation plan documents. - Migrated SPA page components to new `src/routes/` directory. - Moved route configurations to `src/router/`. - Updated import paths across the project to reflect new structure. - Revised AI documentation to align with the updated directory layout. Signed-off-by: Innei --------- Signed-off-by: Innei Co-authored-by: LobeHub Bot Co-authored-by: claude[bot] <41898282+claude[bot]@users.noreply.github.com> Co-authored-by: Claude Sonnet 4.6 --- .agents/skills/project-overview/SKILL.md | 23 ++- .agents/skills/react/SKILL.md | 6 +- .agents/skills/spa-routes/SKILL.md | 145 ++++++++++++++++++ AGENTS.md | 34 ++-- CLAUDE.md | 36 ++++- apps/desktop/index.html | 2 +- index.html | 2 +- index.mobile.html | 2 +- .../AgentWelcome/ToolAuthAlert.tsx | 2 - src/app/[variants]/(main)/image/loading.tsx | 3 - .../_layout/Body/LibraryList/Item/index.tsx | 98 ------------ .../ChatInput/ActionBar/Tools/ToolsList.tsx | 3 +- src/features/CommandMenu/useCommandMenu.ts | 2 +- src/features/DesktopFileMenuBridge/index.tsx | 2 +- .../Electron/AuthRequiredModal/index.tsx | 2 +- .../Electron/connection/Connection.tsx | 2 +- .../MCPPluginDetail/CollapseLayout.tsx | 4 +- .../MCPPluginDetail/Deployment/index.tsx | 2 +- .../MCPPluginDetail/Overview/index.tsx | 7 +- src/features/MCPPluginDetail/Schema/Block.tsx | 3 +- .../MCPPluginDetail/Schema/Prompts.tsx | 2 +- src/features/MCPPluginDetail/Schema/Tools.tsx | 2 +- .../MCPPluginDetail/Score/ScoreItem.tsx | 2 +- src/features/MCPPluginDetail/Score/index.tsx | 2 +- src/features/NavPanel/SideBarLayout.tsx | 2 +- .../NavPanel/components/NavPanelDraggable.tsx | 4 +- src/features/NavPanel/index.tsx | 3 +- .../Copilot/AgentSelector/AgentItem.tsx | 2 +- .../AgentSelector/AgentSelectorAction.tsx | 4 +- src/features/PageExplorer/index.tsx | 2 +- .../Pages/PageLayout}/Body/Actions.tsx | 0 .../Body/AllPagesDrawer/Content.tsx | 0 .../PageLayout}/Body/AllPagesDrawer/index.tsx | 0 .../PageLayout/Body}/List/Item/Actions.tsx | 0 .../PageLayout}/Body/List/Item/Editing.tsx | 0 .../PageLayout}/Body/List/Item/index.tsx | 0 .../Body/List/Item/useDropdownMenu.tsx | 0 .../Pages/PageLayout}/Body/List/index.tsx | 0 .../Pages/PageLayout}/Body/index.tsx | 2 +- .../PageLayout}/Body/useDropdownMenu.tsx | 0 .../Pages/PageLayout}/DataSync.tsx | 0 .../Pages/PageLayout}/Header/AddButton.tsx | 0 .../Pages/PageLayout}/Header/index.tsx | 0 .../Pages/PageLayout}/Sidebar.tsx | 0 .../Pages/PageLayout}/index.tsx | 0 .../Pages/PageLayout}/style.ts | 0 .../Pages/PageTitle.tsx} | 0 src/features/Pages/index.ts | 2 + .../components/Editor/FileDetail.tsx | 2 +- .../components/Editor/index.tsx | 11 +- .../components/Explorer/EmptyPlaceholder.tsx | 2 +- .../components/Explorer/Header/Breadcrumb.tsx | 4 +- .../Explorer/Header/SearchInput.tsx | 2 +- .../components/Explorer/Header/index.tsx | 2 +- .../Explorer/ListView/ListItem/index.tsx | 10 +- .../components/Explorer/ListView/index.tsx | 8 +- .../MasonryView/MasonryItem/index.tsx | 2 +- .../components/Explorer/MasonryView/index.tsx | 4 +- .../Explorer/SearchResultsOverlay.tsx | 2 +- .../Explorer/ToolBar/BatchActionsDropdown.tsx | 2 +- .../Explorer/ToolBar/MultiSelectActions.tsx | 2 +- .../Explorer/ToolBar/SortDropdown.tsx | 2 +- .../Explorer/hooks/useFileItemClick.ts | 2 +- .../Explorer/hooks/useFileSelection.ts | 2 +- .../components/Explorer/hooks/useViewMode.ts | 4 +- .../components/Explorer/index.tsx | 8 +- .../Explorer/useResourceExplorer.ts | 10 +- .../components/Header/AddButton.tsx | 2 +- .../LibraryHierarchy/HierarchyNode.tsx | 8 +- .../components/LibraryHierarchy/index.tsx | 4 +- src/features/ResourceManager/index.tsx | 2 +- .../SkillStore/SkillDetail/Schema.tsx | 2 +- src/features/User/UserPanel/PanelContent.tsx | 6 +- .../GlobalProvider/useUserStateRedirect.ts | 2 +- .../desktop-onboarding/_layout/index.tsx | 0 .../desktop-onboarding/_layout/style.ts | 0 .../components/LobeMessage.tsx | 0 .../components/OnboardingFooterActions.tsx | 0 .../features/DataModeStep.tsx | 0 .../desktop-onboarding/features/LoginStep.tsx | 0 .../features/PermissionsStep.tsx | 0 .../features/WelcomeStep.tsx | 0 .../(desktop)/desktop-onboarding/index.tsx | 0 .../desktop-onboarding/navigation.ts | 0 .../(desktop)/desktop-onboarding/storage.ts | 0 .../(desktop)/desktop-onboarding/types.ts | 0 .../_layout/DesktopAutoOidcOnFirstOpen.tsx | 2 +- .../(main)/_layout/DesktopLayoutContainer.tsx | 0 .../_layout/DesktopLayoutContainer/style.ts | 0 .../(main)/_layout/RegisterHotkeys.tsx | 0 .../(main)/_layout/index.tsx | 2 +- .../(main)/_layout/style.ts | 0 .../(main)/agent/_layout/AgentIdSync.tsx | 0 .../(main)/agent/_layout/RegisterHotkeys.tsx | 0 .../(main)/agent/_layout/Sidebar/Body.tsx | 0 .../agent/_layout/Sidebar/Cron/Actions.tsx | 0 .../_layout/Sidebar/Cron/CronTopicGroup.tsx | 0 .../_layout/Sidebar/Cron/CronTopicItem.tsx | 0 .../agent/_layout/Sidebar/Cron/index.tsx | 0 .../_layout/Sidebar/Cron/useDropdownMenu.tsx | 0 .../Sidebar/Header/Agent/SwitchPanel.tsx | 4 +- .../_layout/Sidebar/Header/Agent/index.tsx | 0 .../agent/_layout/Sidebar/Header/Nav.tsx | 0 .../agent/_layout/Sidebar/Header/index.tsx | 0 .../agent/_layout/Sidebar/Topic/Actions.tsx | 0 .../Sidebar/Topic/AllTopicsDrawer/Content.tsx | 0 .../Sidebar/Topic/AllTopicsDrawer/index.tsx | 0 .../Sidebar/Topic/List/Item}/Actions.tsx | 0 .../Sidebar/Topic/List/Item/Editing.tsx | 0 .../_layout/Sidebar/Topic/List/Item/index.tsx | 0 .../Topic/List/Item/useDropdownMenu.tsx | 0 .../_layout/Sidebar/Topic/List/index.tsx | 0 .../TopicListContent/ByTimeMode/GroupItem.tsx | 0 .../TopicListContent/ByTimeMode/index.tsx | 0 .../Topic/TopicListContent/FlatMode/index.tsx | 0 .../TopicListContent/SearchResult/index.tsx | 0 .../ThreadList/ThreadItem}/Actions.tsx | 0 .../ThreadList/ThreadItem/Editing.tsx | 0 .../ThreadList/ThreadItem/index.tsx | 0 .../ThreadList/ThreadItem/useDropdownMenu.tsx | 0 .../TopicListContent/ThreadList/index.tsx | 0 .../Sidebar/Topic/TopicListContent/index.tsx | 0 .../Sidebar/Topic/TopicSearchBar/index.tsx | 0 .../Topic/hooks/useThreadNavigation.ts | 0 .../Sidebar/Topic/hooks/useTopicNavigation.ts | 0 .../agent/_layout/Sidebar/Topic/index.tsx | 0 .../_layout/Sidebar/Topic/useDropdownMenu.tsx | 0 .../(main)/agent/_layout/Sidebar/index.tsx | 0 .../(main)/agent/_layout/index.tsx | 2 +- .../(main)/agent}/_layout/style.ts | 0 .../(main)/agent/cron/[cronId]/CronConfig.ts | 0 .../features/CronJobContentEditor.tsx | 0 .../cron/[cronId]/features/CronJobHeader.tsx | 0 .../[cronId]/features/CronJobSaveButton.tsx | 0 .../features/CronJobScheduleConfig.tsx | 0 .../(main)/agent/cron/[cronId]/index.tsx | 0 .../(main)/agent/features/ChangelogModal.tsx | 0 .../AgentWelcome/OpeningQuestions.tsx | 0 .../AgentWelcome/ToolAuthAlert.tsx | 0 .../Conversation/AgentWelcome/index.tsx | 0 .../Conversation/ChatHydration/index.tsx | 0 .../Conversation/ConversationArea.tsx | 0 .../Header/HeaderActions/index.tsx | 0 .../Header/HeaderActions/useMenu.tsx | 0 .../Header/NotebookButton/index.tsx | 0 .../Conversation/Header/ShareButton/index.tsx | 0 .../Conversation/Header/Tags/KnowledgeTag.tsx | 0 .../Header/Tags/MemberCountTag.tsx | 0 .../Conversation/Header/Tags/SearchTags.tsx | 0 .../Conversation/Header/Tags/index.tsx | 0 .../WorkingDirectoryContent.tsx | 0 .../Header/WorkingDirectory/index.tsx | 0 .../features/Conversation/Header/index.tsx | 0 .../MainChatInput/MessageFromUrl.tsx | 0 .../Conversation/MainChatInput/index.tsx | 0 .../MainChatInput/useSendMenuItems.tsx | 0 .../features/Conversation/ThreadHydration.tsx | 0 .../agent/features/Conversation/index.tsx | 0 .../Conversation/useActionsBarConfig.ts | 0 .../features/Conversation/useAgentContext.ts | 0 .../(main)/agent/features/PageTitle/index.tsx | 0 .../agent/features/Portal/_layout/Desktop.tsx | 0 .../agent/features/Portal/_layout/Mobile.tsx | 0 .../agent/features/Portal/features/Body.tsx | 0 .../agent/features/Portal/features/Portal.tsx | 0 .../features/Portal/features/PortalPanel.tsx | 0 .../(main)/agent/features/Portal/index.tsx | 0 .../agent/features/TelemetryNotification.tsx | 0 .../(main)/agent/index.tsx | 0 .../features/AgentCronJobs/CronJobCards.tsx | 0 .../features/AgentCronJobs/CronJobForm.tsx | 0 .../features/AgentCronJobs/CronJobList.tsx | 0 .../AgentCronJobs/hooks/useAgentCronJobs.ts | 0 .../profile/features/AgentCronJobs/index.tsx | 0 .../features/AgentSettings/Content.tsx | 0 .../profile/features/AgentSettings/index.tsx | 0 .../profile/features/EditorCanvas/TypoBar.tsx | 0 .../profile/features/EditorCanvas/index.tsx | 0 .../features/EditorCanvas/useSlashItems.tsx | 0 .../profile/features/Header/AgentForkTag.tsx | 0 .../AgentPublishButton/ForkConfirmModal.tsx | 0 .../AgentPublishButton/PublishButton.tsx | 0 .../AgentPublishButton/PublishResultModal.tsx | 0 .../Header/AgentPublishButton/index.tsx | 0 .../Header/AgentPublishButton/types.ts | 0 .../AgentPublishButton/useMarketPublish.ts | 0 .../Header/AgentPublishButton/utils.ts | 0 .../features/Header/AgentStatusTag.tsx | 0 .../features/Header/AgentVersionReviewTag.tsx | 0 .../profile/features/Header/AutoSaveHint.tsx | 0 .../agent/profile/features/Header/index.tsx | 0 .../features/ProfileEditor/AgentHeader.tsx | 0 .../features/ProfileEditor/AgentTool.tsx | 0 .../MentionList/MentionDropdown.tsx | 0 .../ProfileEditor/MentionList/index.tsx | 0 .../ProfileEditor/MentionList/types.ts | 0 .../MentionList/useMentionItems.tsx | 0 .../profile/features/ProfileEditor/index.tsx | 0 .../profile/features/ProfileHydration.tsx | 0 .../profile/features/ProfileProvider.tsx | 0 .../agent/profile/features/StoreUpdater.tsx | 0 .../agent/profile/features/constants.ts | 0 .../agent/profile/features/store/action.ts | 0 .../agent/profile/features/store/index.ts | 0 .../profile/features/store/initialState.ts | 0 .../agent/profile/features/store/selectors.ts | 0 .../(main)/agent/profile/index.tsx | 0 .../community/(detail)/_layout/Header.tsx | 4 +- .../(detail)/_layout/Header/style.ts | 0 .../community/(detail)/_layout/index.tsx | 0 .../community/(detail)/_layout/style.ts | 0 .../(detail)/agent/features/AgentForkTag.tsx | 0 .../agent/features/DetailProvider.tsx | 0 .../features/Details/Capabilities/Block.tsx | 0 .../Details/Capabilities/Knowledge.tsx | 0 .../Details/Capabilities/KnowledgeItem.tsx | 0 .../Details/Capabilities/PluginItem.tsx | 0 .../features/Details/Capabilities/Plugins.tsx | 0 .../features/Details/Capabilities/index.tsx | 0 .../(detail)/agent/features/Details/Nav.tsx | 0 .../features/Details/Overview/TagList.tsx | 0 .../agent/features/Details/Overview/index.tsx | 0 .../agent/features/Details/Related/index.tsx | 0 .../features/Details/SystemRole/TagList.tsx | 0 .../features/Details/SystemRole/index.tsx | 0 .../agent/features/Details/Versions/index.tsx | 0 .../(detail)/agent/features/Details/index.tsx | 0 .../(detail)/agent/features/Header.tsx | 2 +- .../Sidebar/ActionButton/AddAgent.tsx | 0 .../Sidebar/ActionButton/ForkAndChat.tsx | 0 .../features/Sidebar/ActionButton/index.tsx | 0 .../agent/features/Sidebar/Related/Item.tsx | 0 .../agent/features/Sidebar/Related/index.tsx | 0 .../agent/features/Sidebar/Summary/index.tsx | 0 .../agent/features/Sidebar/TocList/index.tsx | 2 +- .../(detail)/agent/features/Sidebar/index.tsx | 0 .../agent/features/StatusPage/index.tsx | 0 .../(main)/community/(detail)/agent/index.tsx | 0 .../community/(detail)/agent/loading.tsx | 0 .../(detail)/components/NotFound.tsx | 0 .../(main)/community/(detail)/error.tsx | 0 .../community/(detail)/features/Back.tsx | 0 .../community/(detail)/features/Block.tsx | 0 .../(detail)/features/Breadcrumb.tsx | 0 .../(detail)/features/DetailLayout.tsx | 0 .../(detail)/features/HighlightBlock.tsx | 0 .../(detail)/features/MakedownRender.tsx | 0 .../(detail)/features/ShareButton.tsx | 0 .../(detail)/features/SidebarContainer.tsx | 0 .../(detail)/features/Toc/Heading.tsx | 0 .../community/(detail)/features/Toc/index.tsx | 2 +- .../(detail)/features/Toc/useToc.tsx | 0 .../group_agent/features/DetailProvider.tsx | 0 .../features/Details/Members/index.tsx | 0 .../group_agent/features/Details/Nav.tsx | 0 .../features/Details/Overview/index.tsx | 0 .../features/Details/Related/index.tsx | 0 .../features/Details/SystemRole/TagList.tsx | 0 .../features/Details/SystemRole/index.tsx | 0 .../features/Details/Versions/index.tsx | 0 .../group_agent/features/Details/index.tsx | 0 .../features/GroupAgentForkTag.tsx | 0 .../(detail)/group_agent/features/Header.tsx | 0 .../Sidebar/ActionButton/AddGroupAgent.tsx | 0 .../Sidebar/ActionButton/ForkGroupAndChat.tsx | 0 .../features/Sidebar/ActionButton/index.tsx | 0 .../features/Sidebar/Summary/index.tsx | 0 .../group_agent/features/Sidebar/index.tsx | 0 .../group_agent/features/StatusPage/index.tsx | 0 .../community/(detail)/group_agent/index.tsx | 0 .../(detail)/group_agent/loading.tsx | 0 .../mcp/features/Details/Related/index.tsx | 0 .../mcp/features/Details/Versions/index.tsx | 4 +- .../(detail)/mcp/features/Details/index.tsx | 0 .../features/Sidebar/ActionButton/index.tsx | 0 .../features/Sidebar/ConnectionTypeAlert.tsx | 0 .../mcp/features/Sidebar/Related/Item.tsx | 0 .../mcp/features/Sidebar/Related/index.tsx | 0 .../mcp/features/Sidebar/ServerConfig.tsx | 0 .../mcp/features/Sidebar/TocList/index.tsx | 2 +- .../(detail)/mcp/features/Sidebar/index.tsx | 0 .../(main)/community/(detail)/mcp/index.tsx | 0 .../(main)/community/(detail)/mcp/loading.tsx | 0 .../model/features/DetailProvider.tsx | 0 .../(detail)/model/features/Details/Nav.tsx | 0 .../Details/Overview/ProviderList/index.tsx | 0 .../model/features/Details/Overview/index.tsx | 0 .../Details/Parameter/ParameterItem.tsx | 0 .../features/Details/Parameter/index.tsx | 2 +- .../model/features/Details/Related/index.tsx | 0 .../(detail)/model/features/Details/index.tsx | 0 .../(detail)/model/features/Header.tsx | 10 +- .../Sidebar/ActionButton/ChatWithModel.tsx | 0 .../features/Sidebar/ActionButton/index.tsx | 0 .../model/features/Sidebar/Related/Item.tsx | 0 .../model/features/Sidebar/Related/index.tsx | 0 .../Sidebar/RelatedProviders/Item.tsx | 0 .../Sidebar/RelatedProviders/index.tsx | 0 .../(detail)/model/features/Sidebar/index.tsx | 0 .../(main)/community/(detail)/model/index.tsx | 0 .../community/(detail)/model/loading.tsx | 0 .../(main)/community/(detail)/not-found.tsx | 0 .../provider/features/DetailProvider.tsx | 0 .../provider/features/Details/Guide/index.tsx | 0 .../provider/features/Details/Nav.tsx | 0 .../Details/Overview/ModelList/index.tsx | 0 .../features/Details/Overview/index.tsx | 2 +- .../features/Details/Related/index.tsx | 0 .../provider/features/Details/index.tsx | 0 .../(detail)/provider/features/Header.tsx | 0 .../Sidebar/ActionButton/ProviderConfig.tsx | 0 .../features/Sidebar/ActionButton/index.tsx | 0 .../features/Sidebar/Related/Item.tsx | 0 .../features/Sidebar/Related/index.tsx | 0 .../features/Sidebar/RelatedModels/Item.tsx | 0 .../features/Sidebar/RelatedModels/index.tsx | 0 .../provider/features/Sidebar/index.tsx | 0 .../community/(detail)/provider/index.tsx | 0 .../community/(detail)/provider/loading.tsx | 0 .../(detail)/user/features/DetailProvider.tsx | 0 .../(detail)/user/features/FollowButton.tsx | 0 .../(detail)/user/features/FollowStats.tsx | 0 .../(detail)/user/features/Header/Banner.tsx | 0 .../(detail)/user/features/Header/index.tsx | 0 .../(detail)/user/features/StatusFilter.tsx | 0 .../(detail)/user/features/UserAgentCard.tsx | 0 .../(detail)/user/features/UserAgentList.tsx | 0 .../(detail)/user/features/UserContent.tsx | 0 .../user/features/UserFavoriteAgents.tsx | 0 .../user/features/UserFavoritePlugins.tsx | 0 .../user/features/UserForkedAgentGroups.tsx | 0 .../user/features/UserForkedAgents.tsx | 0 .../(detail)/user/features/UserGroupCard.tsx | 0 .../(detail)/user/features/UserGroupList.tsx | 0 .../(detail)/user/features/useUserDetail.ts | 0 .../(main)/community/(detail)/user/index.tsx | 0 .../community/(detail)/user/loading.tsx | 2 +- .../(home)/features/CreatorRewardBanner.tsx | 26 ++-- .../(main)/community/(list)/(home)/index.tsx | 0 .../community/(list)/(home)/loading.tsx | 4 +- .../community/(list)/_layout/Footer.tsx | 0 .../community/(list)/_layout/Header.tsx | 4 +- .../community/(list)/_layout/Header/style.ts | 0 .../(main)/community/(list)/_layout/index.tsx | 0 .../(main)/community/(list)/_layout/style.ts | 0 .../(main)/community/(list)/agent/Client.tsx | 0 .../community/(list)/agent/_layout/index.tsx | 0 .../community/(list)/agent/_layout/style.ts | 0 .../(list)/agent/features/Category/index.tsx | 2 +- .../agent/features/Category/useCategory.tsx | 0 .../(list)/agent/features/List/Item.tsx | 0 .../(list)/agent/features/List/TokenTag.tsx | 0 .../(list)/agent/features/List/index.tsx | 0 .../agent/features/MarketSourceSwitch.tsx | 0 .../(main)/community/(list)/agent/index.tsx | 0 .../(main)/community/(list)/agent/loading.tsx | 0 .../(main)/community/(list)/error.tsx | 0 .../community/(list)/features/Pagination.tsx | 2 +- .../(list)/features/SortButton/index.tsx | 0 .../community/(list)/mcp/_layout/index.tsx | 0 .../community/(list)/mcp/_layout/style.ts | 0 .../(list)/mcp/features/Category/index.tsx | 2 +- .../mcp/features/List/ConnectionTypeTag.tsx | 0 .../(list)/mcp/features/List/Item.tsx | 0 .../(list)/mcp/features/List/MetaInfo.tsx | 0 .../(list)/mcp/features/List/index.tsx | 0 .../(main)/community/(list)/mcp/index.tsx | 0 .../(main)/community/(list)/mcp/loading.tsx | 0 .../community/(list)/model/_layout/index.tsx | 0 .../community/(list)/model/_layout/style.ts | 0 .../(list)/model/features/Category/index.tsx | 2 +- .../model/features/Category/useCategory.tsx | 0 .../(list)/model/features/List/Item.tsx | 3 +- .../model/features/List/ModelTypeIcon.tsx | 0 .../(list)/model/features/List/index.tsx | 0 .../community/(list)/model/features/const.ts | 0 .../(main)/community/(list)/model/index.tsx | 0 .../(main)/community/(list)/model/loading.tsx | 0 .../(main)/community/(list)/not-found.tsx | 0 .../(list)/provider/features/List/Item.tsx | 0 .../(list)/provider/features/List/index.tsx | 0 .../community/(list)/provider/index.tsx | 0 .../community/(list)/provider/loading.tsx | 0 .../(main)/community/_layout/Header.tsx | 0 .../(main)/community/_layout/Header/style.ts | 0 .../community/_layout/Sidebar/Header/Nav.tsx | 0 .../_layout/Sidebar/Header/index.tsx | 0 .../community/_layout/Sidebar/index.tsx | 0 .../(main)/community/_layout/index.tsx | 0 .../(main)/community}/_layout/style.ts | 0 .../community/components/CardBanner.tsx | 0 .../components/CategoryContainer.tsx | 0 .../community/components/CategoryMenu.tsx | 0 .../community/components/GitHubAvatar.tsx | 0 .../community/components/GridLoadingCard.tsx | 0 .../community/components/ListLoading.tsx | 0 .../(main)/community/components/Loading.tsx | 0 .../components/SearchResultCount.tsx | 0 .../(main)/community/components/Statistic.tsx | 0 .../(main)/community/components/Title.tsx | 0 .../components/VirtuosoGridList/index.tsx | 0 .../VirtuosoGridList/useScrollParent.ts | 0 .../community/features/AssistantEmpty.tsx | 0 .../community/features/CreateButton/Inner.tsx | 0 .../community/features/CreateButton/index.tsx | 0 .../(main)/community/features/LikeButton.tsx | 0 .../(main)/community/features/McpEmpty.tsx | 0 .../(main)/community/features/ModelEmpty.tsx | 0 .../community/features/ProviderEmpty.tsx | 0 .../(main)/community/features/Search.tsx | 0 .../(main)/community/features/Title.tsx | 0 .../community/features/UserAvatar/index.tsx | 0 .../features/__tests__/calculateScore.test.ts | 2 +- .../(main)/community/features/const.ts | 0 .../(main)/community/features/useNav.tsx | 0 .../(main)/components/Link.tsx | 0 .../(main)/eval/(home)/_layout/index.tsx | 0 .../_layout/Sidebar/Body/BenchmarkList.tsx | 0 .../eval/_layout/Sidebar/Body/index.tsx | 0 .../eval/_layout/Sidebar/Header/index.tsx | 0 .../(main)/eval/_layout/Sidebar/index.tsx | 0 .../(main)/eval/_layout/index.tsx | 0 .../(main)/eval/_layout/style.ts | 0 .../_layout/Sidebar/Body/DatasetList.tsx | 0 .../_layout/Sidebar/Body/RunList.tsx | 0 .../_layout/Sidebar/Body/index.tsx | 0 .../_layout/Sidebar/Header/BenchmarkHead.tsx | 0 .../_layout/Sidebar/Header/index.tsx | 0 .../[benchmarkId]/_layout/Sidebar/index.tsx | 0 .../bench/[benchmarkId]/_layout/index.tsx | 0 .../eval/bench/[benchmarkId]/_layout/style.ts | 0 .../datasets/[datasetId]/index.tsx | 0 .../features/BenchmarkHeader/index.tsx | 0 .../features/DatasetRunCreateModal/index.tsx | 0 .../features/DatasetTabs/index.tsx | 0 .../features/DatasetsTab/DatasetCard.tsx | 0 .../features/DatasetsTab/EmptyState.tsx | 0 .../DatasetsTab/TestCaseEmptyState.tsx | 0 .../DatasetsTab/TestCasePreviewModal.tsx | 0 .../DatasetsTab/TestCasePreviewPanel.tsx | 0 .../features/DatasetsTab/TestCaseTable.tsx | 0 .../features/DatasetsTab/index.tsx | 0 .../features/RunCards/RunSummaryCard.tsx | 2 +- .../[benchmarkId]/features/RunCards/index.tsx | 0 .../features/RunCreateModal/index.tsx | 0 .../features/RunEditModal/index.tsx | 0 .../features/RunsTab/EmptyState.tsx | 0 .../features/RunsTab/RunCard.tsx | 0 .../[benchmarkId]/features/RunsTab/index.tsx | 0 .../features/TestCaseList/index.tsx | 0 .../features/TestCasesTab/index.tsx | 0 .../(main)/eval/bench/[benchmarkId]/index.tsx | 0 .../[caseId]/features/CaseBanner/index.tsx | 0 .../[caseId]/features/ChatArea/index.tsx | 0 .../[caseId]/features/InfoSidebar/index.tsx | 0 .../runs/[runId]/cases/[caseId]/index.tsx | 0 .../features/CaseResultsTable/index.tsx | 0 .../features/Charts/BenchmarkCharts.tsx | 0 .../[runId]/features/Charts/ScatterPlot.tsx | 0 .../[runId]/features/Charts/StatusDonut.tsx | 0 .../runs/[runId]/features/IdleState/index.tsx | 0 .../[runId]/features/PendingState/index.tsx | 0 .../runs/[runId]/features/RunHeader/index.tsx | 4 +- .../runs/[runId]/features/RunInfo/index.tsx | 0 .../[runId]/features/RunningState/index.tsx | 0 .../[runId]/features/StatsCards/index.tsx | 0 .../[benchmarkId]/runs/[runId]/index.tsx | 0 .../(main)/eval/config/datasetPresets.ts | 0 .../eval/features/BenchmarkCard/RunRow.tsx | 0 .../eval/features/BenchmarkCard/index.tsx | 0 .../features/BenchmarkEditModal/index.tsx | 0 .../features/CreateBenchmarkModal/index.tsx | 0 .../features/DatasetCreateModal/index.tsx | 0 .../eval/features/DatasetEditModal/index.tsx | 0 .../DatasetImportModal/MappingStep.tsx | 0 .../DatasetImportModal/UploadStep.tsx | 10 +- .../eval/features/DatasetImportModal/const.ts | 0 .../features/DatasetImportModal/index.tsx | 0 .../(main)/eval/features/StatusBadge.tsx | 0 .../features/TestCaseCreateModal/index.tsx | 0 .../eval/features/TestCaseEditModal/index.tsx | 0 .../(main)/eval/index.tsx | 0 .../(main)/eval/utils.ts | 0 .../(main)/group/_layout/GroupIdSync.tsx | 0 .../(main)/group/_layout/RegisterHotkeys.tsx | 0 .../Sidebar/AddGroupMemberModal/AgentItem.tsx | 0 .../AvailableAgentList.tsx | 0 .../AddGroupMemberModal/SelectedAgentList.tsx | 0 .../Sidebar/AddGroupMemberModal/index.tsx | 0 .../Sidebar/AddGroupMemberModal/store.ts | 0 .../(main)/group/_layout/Sidebar/Body.tsx | 0 .../Sidebar/GroupConfig/AgentProfilePopup.tsx | 0 .../Sidebar/GroupConfig/GroupMember.tsx | 0 .../Sidebar/GroupConfig/GroupMemberItem.tsx | 0 .../_layout/Sidebar/GroupConfig/GroupRole.tsx | 0 .../Sidebar/GroupConfig/Header/Avatar.tsx | 2 +- .../Sidebar/GroupConfig/Header/index.tsx | 0 .../_layout/Sidebar/GroupConfig/style.ts | 0 .../Sidebar/Header/Agent/SwitchPanel.tsx | 4 +- .../_layout/Sidebar/Header/Agent/index.tsx | 2 +- .../group/_layout/Sidebar/Header/Nav.tsx | 0 .../group/_layout/Sidebar/Header/index.tsx | 0 .../group/_layout/Sidebar/Members/index.tsx | 0 .../group/_layout/Sidebar/Topic/Actions.tsx | 0 .../Sidebar/Topic/AllTopicsDrawer/Content.tsx | 0 .../Sidebar/Topic/AllTopicsDrawer/index.tsx | 0 .../Sidebar/Topic/List/Item}/Actions.tsx | 0 .../Sidebar/Topic/List/Item/Editing.tsx | 0 .../_layout/Sidebar/Topic/List/Item/index.tsx | 0 .../Topic/List/Item/useDropdownMenu.tsx | 0 .../_layout/Sidebar/Topic/List/index.tsx | 0 .../TopicListContent/ByTimeMode/GroupItem.tsx | 0 .../TopicListContent/ByTimeMode/index.tsx | 0 .../Topic/TopicListContent/FlatMode/index.tsx | 0 .../TopicListContent/SearchResult/index.tsx | 0 .../ThreadList/ThreadItem}/Actions.tsx | 0 .../ThreadList/ThreadItem/Editing.tsx | 0 .../ThreadList/ThreadItem/index.tsx | 0 .../ThreadList/ThreadItem/useDropdownMenu.tsx | 0 .../TopicListContent/ThreadList/index.tsx | 0 .../Sidebar/Topic/TopicListContent/index.tsx | 0 .../Sidebar/Topic/TopicSearchBar/index.tsx | 0 .../Topic/hooks/useThreadNavigation.ts | 0 .../group/_layout/Sidebar/Topic/index.tsx | 0 .../_layout/Sidebar/Topic/useDropdownMenu.tsx | 0 .../(main)/group/_layout/Sidebar/index.tsx | 0 .../(main)/group/_layout/index.tsx | 0 .../(main)/group}/_layout/style.ts | 0 .../AgentWelcome/OpeningQuestions.tsx | 0 .../AgentWelcome/ToolAuthAlert.tsx | 2 + .../Conversation/AgentWelcome/index.tsx | 2 +- .../Conversation/ChatHydration/index.tsx | 0 .../features/Conversation/ChatItem/Thread.tsx | 0 .../Conversation/ChatItem/ThreadItem.tsx | 0 .../Conversation/ConversationArea.tsx | 0 .../Conversation/Header/ShareButton/index.tsx | 0 .../Conversation/Header/Tags/KnowledgeTag.tsx | 0 .../Header/Tags/MemberCountTag.tsx | 0 .../Conversation/Header/Tags/SearchTags.tsx | 0 .../Conversation/Header/Tags/index.tsx | 0 .../features/Conversation/Header/index.tsx | 0 .../Conversation/MainChatInput/GroupChat.tsx | 0 .../MainChatInput/MessageFromUrl.tsx | 0 .../Conversation/MainChatInput/index.tsx | 0 .../MainChatInput/useSendMenuItems.tsx | 0 .../features/Conversation/ThreadHydration.tsx | 0 .../group/features/Conversation/index.tsx | 0 .../Conversation/useActionsBarConfig.ts | 0 .../features/Conversation/useGroupContext.ts | 0 .../features/Conversation/useGroupHooks.ts | 0 .../(main)/group/features/GroupAvatar.tsx | 0 .../(main)/group/features/PageTitle/index.tsx | 0 .../group/features/Portal/_layout/Desktop.tsx | 0 .../group/features/Portal/_layout/Mobile.tsx | 0 .../group/features/Portal/features/Body.tsx | 0 .../(main)/group/features/Portal/index.tsx | 4 +- .../group/features/TelemetryNotification.tsx | 0 .../(main)/group/index.tsx | 0 .../(main)/group/profile/StoreSync.tsx | 0 .../AgentBuilder/AgentBuilderConversation.tsx | 0 .../AgentBuilder/AgentBuilderProvider.tsx | 0 .../features/AgentBuilder/TopicSelector.tsx | 0 .../profile/features/AgentBuilder/index.tsx | 0 .../features/AgentSettings/Content.tsx | 0 .../profile/features/AgentSettings/index.tsx | 0 .../features/GroupProfile/GroupForkTag.tsx | 0 .../features/GroupProfile/GroupHeader.tsx | 2 +- .../features/GroupProfile/GroupStatusTag.tsx | 0 .../GroupProfile/GroupVersionReviewTag.tsx | 0 .../profile/features/GroupProfile/index.tsx | 0 .../features/Header/AgentBuilderToggle.tsx | 0 .../AgentPublishButton/PublishButton.tsx | 0 .../AgentPublishButton/PublishResultModal.tsx | 0 .../Header/AgentPublishButton/index.tsx | 0 .../Header/AgentPublishButton/types.ts | 0 .../AgentPublishButton/useMarketPublish.ts | 0 .../Header/AgentPublishButton/utils.ts | 0 .../profile/features/Header/AutoSaveHint.tsx | 0 .../features/Header/ChromeTabs/index.tsx | 0 .../GroupForkConfirmModal.tsx | 0 .../GroupPublishResultModal.tsx | 0 .../GroupPublishButton/PublishButton.tsx | 0 .../Header/GroupPublishButton/index.tsx | 0 .../Header/GroupPublishButton/types.ts | 0 .../useMarketGroupPublish.ts | 0 .../Header/GroupPublishButton/utils.ts | 0 .../group/profile/features/Header/index.tsx | 2 +- .../features/MemberProfile/AgentHeader.tsx | 2 +- .../features/MemberProfile/AgentTool.tsx | 0 .../MentionList/MentionDropdown.tsx | 0 .../MemberProfile/MentionList/index.tsx | 0 .../MemberProfile/MentionList/types.ts | 0 .../MentionList/useMentionItems.tsx | 0 .../profile/features/MemberProfile/index.tsx | 0 .../group/profile/features/constants.ts | 0 .../(main)/group/profile/index.tsx | 0 .../home/_layout/Body/Agent/Actions.tsx | 0 .../Body/Agent/AllAgentsDrawer/Content.tsx | 0 .../Body/Agent/AllAgentsDrawer/index.tsx | 0 .../Body/Agent/List/AgentGroupItem/index.tsx | 0 .../List/AgentGroupItem/useDropdownMenu.tsx | 0 .../Body/Agent/List/AgentItem/Avatar.tsx | 0 .../Body/Agent/List/AgentItem/index.tsx | 0 .../Agent/List/AgentItem/useDropdownMenu.tsx | 0 .../_layout/Body/Agent/List/Group/Actions.tsx | 0 .../_layout/Body/Agent/List/Group/Item.tsx | 0 .../_layout/Body/Agent/List/Group/index.tsx | 0 .../Body/Agent/List/Group/useDropdownMenu.tsx | 0 .../_layout/Body/Agent/List/InboxItem.tsx | 0 .../_layout/Body/Agent}/List/Item/Actions.tsx | 0 .../home/_layout/Body/Agent/List/List.tsx | 0 .../home/_layout/Body/Agent/List/index.tsx | 2 +- .../_layout/Body/Agent/List/useAgentList.tsx | 0 .../home/_layout/Body/Agent/ModalProvider.tsx | 0 .../Modals/ConfigGroupModal/GroupItem.tsx | 0 .../Agent/Modals/ConfigGroupModal/index.tsx | 0 .../Body/Agent/Modals/CreateGroupModal.tsx | 0 .../(main)/home/_layout/Body/Agent/index.tsx | 2 +- .../_layout/Body/Agent/useDropdownMenu.tsx | 0 .../home/_layout/Body/BottomMenu/index.tsx | 0 .../home/_layout/Body/Project/Actions.tsx | 0 .../_layout/Body/Project/List/Actions.tsx | 0 .../_layout/Body/Project/List/Editing.tsx | 0 .../home/_layout/Body/Project/List/Item.tsx | 2 +- .../home/_layout/Body/Project/List/index.tsx | 4 +- .../Body/Project/List/useDropdownMenu.tsx | 0 .../home/_layout/Body/Project/index.tsx | 0 .../_layout/Body/Project/useDropdownMenu.tsx | 0 .../(main)/home/_layout/Body/index.tsx | 0 .../_layout/CreateGroupModal/AgentItem.tsx | 0 .../CreateGroupModal/AvailableAgentList.tsx | 0 .../CreateGroupModal/SelectedAgentList.tsx | 0 .../home/_layout/CreateGroupModal/index.tsx | 0 .../home/_layout/CreateGroupModal/store.ts | 0 .../(main)/home/_layout/Footer/index.tsx | 0 .../_layout/Header/components/AddButton.tsx | 0 .../home/_layout/Header/components/Nav.tsx | 5 +- .../home/_layout/Header/components/User.tsx | 0 .../(main)/home/_layout/Header/index.tsx | 0 .../(main)/home/_layout/HomeAgentIdSync.tsx | 0 .../(main)/home/_layout/RecentHydration.tsx | 0 .../(main)/home/_layout/Sidebar.tsx | 0 .../(main)/home/_layout/SidebarContent.tsx | 0 .../(main)/home/_layout/hooks/index.ts | 0 .../home/_layout/hooks/useCreateMenuItems.tsx | 0 .../_layout/hooks/useProjectMenuItems.tsx | 0 .../hooks/useSessionGroupMenuItems.tsx | 0 .../(main)/home/_layout/index.tsx | 0 .../(main)/home/_layout/style.ts | 0 .../home/features/CommunityAgents/Item.tsx | 2 +- .../home/features/CommunityAgents/List.tsx | 4 +- .../home/features/CommunityAgents/index.tsx | 0 .../CommunityRecommend/AssistantList.tsx | 4 +- .../features/CommunityRecommend/GroupList.tsx | 4 +- .../home/features/CommunityRecommend/Item.tsx | 2 +- .../features/CommunityRecommend/index.tsx | 0 .../home/features/FeaturedPlugins/Item.tsx | 4 +- .../home/features/FeaturedPlugins/List.tsx | 4 +- .../home/features/FeaturedPlugins/index.tsx | 0 .../home/features/InputArea/ModeTag.tsx | 0 .../features/InputArea/SkillInstallBanner.tsx | 0 .../home/features/InputArea/StarterList.tsx | 0 .../(main)/home/features/InputArea/index.tsx | 0 .../(main)/home/features/InputArea/useSend.ts | 0 .../(main)/home/features/RecentPage/Item.tsx | 4 +- .../(main)/home/features/RecentPage/List.tsx | 4 +- .../(main)/home/features/RecentPage/index.tsx | 4 +- .../home/features/RecentResource/Item.tsx | 4 +- .../home/features/RecentResource/List.tsx | 4 +- .../home/features/RecentResource/index.tsx | 4 +- .../(main)/home/features/RecentTopic/Item.tsx | 4 +- .../(main)/home/features/RecentTopic/List.tsx | 4 +- .../home/features/RecentTopic/index.tsx | 0 .../home/features/SuggestQuestions/Item.tsx | 0 .../home/features/SuggestQuestions/List.tsx | 0 .../features/SuggestQuestions/Skeleton.tsx | 0 .../home/features/SuggestQuestions/index.tsx | 0 .../SuggestQuestions/useRandomQuestions.ts | 0 .../home/features/WelcomeText/index.tsx | 0 .../features/components/GroupBlock/index.tsx | 0 .../features/components/GroupSkeleton.tsx | 0 .../ScrollShadowWithButton/index.tsx | 0 .../(main)/home/features/components/Time.tsx | 0 .../(main)/home/features/const.ts | 0 .../(main)/home/features/index.tsx | 0 .../(main)/home/index.tsx | 0 .../(main)/hooks/useActiveTabKey.ts | 0 .../(main)/image/NotSupportClient.tsx | 0 .../ConfigPanel/ImageConfigSkeleton.tsx | 0 .../components/AspectRatioSelect/index.tsx | 0 .../ConfigPanel/components/CfgSliderInput.tsx | 0 .../components/DimensionControlGroup.tsx | 0 .../ConfigPanel/components/ImageNum.tsx | 0 .../ConfigPanel/components/ImageUpload.tsx | 6 +- .../ConfigPanel/components/ImageUrl.tsx | 2 +- .../components/ImageUrlsUpload.tsx | 2 +- .../components/InputNumber/index.tsx | 0 .../components/ModelSelect/ImageModelItem.tsx | 0 .../components/ModelSelect/index.tsx | 0 .../MultiImagesUpload/ImageManageModal.tsx | 2 +- .../components/MultiImagesUpload/index.tsx | 8 +- .../ConfigPanel/components/QualitySelect.tsx | 0 .../components/ResolutionSelect.tsx | 0 .../components/SeedNumberInput.tsx | 0 .../ConfigPanel/components/Select/index.tsx | 0 .../ConfigPanel/components/SizeSelect.tsx | 0 .../components/StepsSliderInput.tsx | 0 .../image/_layout/ConfigPanel/constants.ts | 0 .../ConfigPanel/hooks/useAutoDimensions.ts | 0 .../ConfigPanel/hooks/useDragAndDrop.ts | 0 .../hooks/useUploadFilesValidation.ts | 0 .../image/_layout/ConfigPanel/index.tsx | 0 .../(main)/image/_layout/ConfigPanel/style.ts | 0 .../__tests__/dimensionConstraints.test.ts | 0 .../utils/__tests__/imageValidation.test.ts | 0 .../ConfigPanel/utils/dimensionConstraints.ts | 0 .../ConfigPanel/utils/imageValidation.ts | 0 .../(main)/image/_layout/Header.tsx | 0 .../(main)/image/_layout/RegisterHotkeys.tsx | 0 .../(main)/image/_layout/Sidebar.tsx | 0 .../(main)/image/_layout/TopicSidebar.tsx | 0 .../(main)/image/_layout/index.tsx | 0 .../(main)/image/_layout/style.ts | 0 .../(main)/image/_layout/type.ts | 0 .../features/GenerationFeed/BatchItem.tsx | 0 .../GenerationItem/ActionButtons.tsx | 0 .../GenerationItem/ElapsedTime.tsx | 0 .../GenerationItem/ErrorState.tsx | 0 .../GenerationItem/LoadingState.tsx | 0 .../GenerationItem/SuccessState.tsx | 0 .../GenerationFeed/GenerationItem/index.tsx | 0 .../GenerationFeed/GenerationItem/styles.ts | 0 .../GenerationFeed/GenerationItem/types.ts | 0 .../GenerationItem/utils.test.ts | 0 .../GenerationFeed/GenerationItem/utils.ts | 0 .../GenerationFeed/ReferenceImages.tsx | 0 .../image/features/GenerationFeed/index.tsx | 0 .../image/features/ImageWorkspace/Content.tsx | 0 .../features/ImageWorkspace/EmptyState.tsx | 0 .../features/ImageWorkspace/SkeletonList.tsx | 2 +- .../image/features/ImageWorkspace/index.tsx | 0 .../image/features/PromptInput/Title.tsx | 0 .../image/features/PromptInput/index.tsx | 0 .../(main)/image/index.tsx | 0 src/routes/(main)/image/loading.tsx | 5 + .../(home)/features/Persona/PersonaDetail.tsx | 0 .../(home)/features/Persona/PersonaHeader.tsx | 0 .../features/Persona/PersonaSummary.tsx | 0 .../memory/(home)/features/Persona/index.tsx | 0 .../features/RoleTagCloud/TagCloudCanvas.tsx | 0 .../(home)/features/RoleTagCloud/index.tsx | 0 .../(main)/memory/(home)/index.tsx | 6 +- .../memory/_layout/Sidebar/Header/Nav.tsx | 0 .../memory/_layout/Sidebar/Header/index.tsx | 0 .../(main)/memory/_layout/Sidebar/index.tsx | 0 .../(main)/memory/_layout/index.tsx | 0 .../(main)/memory}/_layout/style.ts | 0 .../activities/features/ActivityDropdown.tsx | 0 .../features/ActivityRightPanel.tsx | 22 +-- .../features/List/GridView/ActivityCard.tsx | 2 +- .../features/List/GridView/index.tsx | 0 .../List/TimelineView/ActivityCard.tsx | 2 +- .../features/List/TimelineView/index.tsx | 0 .../memory/activities/features/List/index.tsx | 2 +- .../(main)/memory/activities/index.tsx | 2 +- .../contexts/features/ContextDropdown.tsx | 0 .../contexts/features/ContextRightPanel.tsx | 16 +- .../features/List/GridView/ContextCard.tsx | 4 +- .../contexts/features/List/GridView/index.tsx | 0 .../List/TimelineView/ContextCard.tsx | 2 +- .../features/List/TimelineView/index.tsx | 0 .../memory/contexts/features/List/index.tsx | 4 +- .../(main)/memory/contexts/index.tsx | 4 +- .../features/ExperienceDropdown.tsx | 0 .../features/ExperienceRightPanel.tsx | 20 +-- .../features/List/GridView/ExperienceCard.tsx | 4 +- .../features/List/GridView/index.tsx | 0 .../List/TimelineView/ExperienceCard.tsx | 2 +- .../features/List/TimelineView/index.tsx | 0 .../experiences/features/List/index.tsx | 4 +- .../(main)/memory/experiences/index.tsx | 4 +- .../(main)/memory/features/CateTag.tsx | 0 .../(main)/memory/features/DetailLoading.tsx | 0 .../(main)/memory/features/DetailPanel.tsx | 0 .../memory/features/EditableModal/index.tsx | 0 .../(main)/memory/features/FilterBar.tsx | 0 .../memory/features/GridView/GridCard.tsx | 0 .../(main)/memory/features/GridView/index.tsx | 2 +- .../(main)/memory/features/HashTags.tsx | 0 .../memory/features/HighlightedContent.tsx | 0 .../(main)/memory/features/Loading.tsx | 0 .../memory/features/MemoryAnalysis/Action.tsx | 0 .../MemoryAnalysis/AnalysisTrigger.tsx | 2 +- .../MemoryAnalysis/DateRangeModal.tsx | 0 .../memory/features/MemoryAnalysis/Status.tsx | 0 .../memory/features/MemoryAnalysis/index.tsx | 0 .../memory/features/MemoryAnalysis/useTask.ts | 0 .../(main)/memory/features/MemoryEmpty.tsx | 0 .../(main)/memory/features/ProgressIcon.tsx | 0 .../(main)/memory/features/SourceLink.tsx | 0 .../(main)/memory/features/Time.tsx | 0 .../features/TimeLineView/PeriodGroup.tsx | 0 .../features/TimeLineView/TimeLineCard.tsx | 0 .../memory/features/TimeLineView/index.tsx | 2 +- .../features/TimeLineView/useScrollParent.ts | 0 .../memory/features/ViewModeSwitcher.tsx | 0 .../(main)/memory/features/useCateColor.ts | 0 .../identities/features/IdentityDropdown.tsx | 0 .../features/IdentityRightPanel.tsx | 12 +- .../features/List/GridView/IdentityCard.tsx | 2 +- .../features/List/GridView/index.tsx | 0 .../List/TimelineView/IdentityCard.tsx | 0 .../features/List/TimelineView/index.tsx | 0 .../memory/identities/features/List/index.tsx | 2 +- .../identities/features/SegmentedBar.tsx | 0 .../(main)/memory/identities/index.tsx | 4 +- .../features/List/GridView/PreferenceCard.tsx | 4 +- .../features/List/GridView/index.tsx | 0 .../List/TimelineView/PreferenceCard.tsx | 2 +- .../features/List/TimelineView/index.tsx | 0 .../preferences/features/List/index.tsx | 4 +- .../features/PreferenceDropdown.tsx | 0 .../features/PreferenceRightPanel.tsx | 20 +-- .../(main)/memory/preferences/index.tsx | 4 +- .../(main)/page/[id]/index.tsx | 5 +- src/routes/(main)/page/_layout/index.tsx | 3 + .../(main)/page/index.tsx | 5 +- .../_layout/Body/LibraryList/EmptyStatus.tsx | 0 .../_layout/Body/LibraryList/Item/Actions.tsx | 0 .../_layout/Body/LibraryList/Item/Editing.tsx | 0 .../_layout/Body/LibraryList/Item/index.tsx | 100 ++++++++++++ .../Body/LibraryList/Item/useDropdownMenu.tsx | 0 .../(home)/_layout/Body/LibraryList/index.tsx | 0 .../resource/(home)/_layout/Body/index.tsx | 0 .../(home)/_layout/Header/CategoryMenu.tsx | 0 .../resource/(home)/_layout/Header/index.tsx | 0 .../resource/(home)/_layout/Sidebar.tsx | 0 .../(main)/resource/(home)/_layout/index.tsx | 0 .../(main)/resource/(home)}/_layout/style.ts | 0 .../(main)/resource/(home)/index.tsx | 0 .../resource/_layout/RegisterHotkeys.tsx | 0 .../(main)/resource/_layout/index.tsx | 0 .../resource/features/DndContextWrapper.tsx | 0 .../(main)/resource/features/FileDetail.tsx | 0 .../features/hooks/useFileQueryParam.ts | 0 .../resource/features/hooks/useFolderPath.ts | 0 .../features/hooks/useInitFileCheck.ts | 0 .../features/hooks/useKnowledgeItem.ts | 0 .../hooks/useResourceManagerUrlSync.ts | 2 +- .../resource/features/modal/FileDetail.tsx | 0 .../resource/features/modal/FilePreview.tsx | 0 .../features/modal/FullscreenModal.tsx | 0 .../features/modal/ModalPageClient.tsx | 0 .../features/modal/useFilesQueryParam.ts | 0 .../(main)/resource/features/store/action.ts | 0 .../(main)/resource/features/store/index.ts | 0 .../resource/features/store/initialState.ts | 0 .../resource/features/store/selectors.ts | 0 .../(main)/resource/library/[slug]/index.tsx | 0 .../library/_layout/Header/LibraryHead.tsx | 4 +- .../resource/library/_layout/Header/index.tsx | 0 .../resource/library/_layout/Sidebar.tsx | 0 .../(main)/resource/library/_layout/index.tsx | 2 +- .../(main)/resource/library}/_layout/style.ts | 0 .../resource/library/features/Container.tsx | 0 .../resource/library/features/LibraryMenu.tsx | 0 .../library/features/RegisterHotkeys.tsx | 0 .../(main)/resource/library/index.tsx | 2 +- .../(main)/resource/store/action.ts | 0 .../(main)/resource/store/initialState.ts | 0 .../(main)/settings/_layout/Body/index.tsx | 0 .../_layout/ContextProvider/index.tsx | 0 .../(main)/settings/_layout/Header.tsx | 0 .../(main)/settings/_layout/SideBar.tsx | 0 .../settings/_layout/SidebarContent.tsx | 0 .../(main)/settings/_layout/index.tsx | 2 +- .../(main)/settings}/_layout/style.ts | 2 +- .../(main)/settings/_layout/type.ts | 0 .../(main)/settings/about/features/About.tsx | 0 .../settings/about/features/AboutList.tsx | 0 .../settings/about/features/Analytics.tsx | 0 .../settings/about/features/ItemCard.tsx | 0 .../settings/about/features/ItemLink.tsx | 0 .../settings/about/features/Version.tsx | 0 .../(main)/settings/about/index.tsx | 2 +- .../agent/features/DefaultAgentForm.tsx | 0 .../agent/features/SystemAgentForm.tsx | 0 .../(main)/settings/agent/features/useSync.ts | 0 .../(main)/settings/agent/index.tsx | 2 +- .../settings/apikey/features/ApiKey.tsx | 0 .../features/ApiKeyDatePicker/index.tsx | 0 .../apikey/features/ApiKeyDisplay/index.tsx | 0 .../apikey/features/ApiKeyModal/index.tsx | 0 .../apikey/features/EditableCell/index.tsx | 0 .../(main)/settings/apikey/features/index.ts | 0 .../(main)/settings/apikey/index.tsx | 2 +- .../features/ChatAppearance/ChatPreview.tsx | 0 .../ChatAppearance/ChatTransitionPreview.tsx | 0 .../ChatAppearance/HighlighterPreview.tsx | 0 .../ChatAppearance/MermaidPreview.tsx | 0 .../features/ChatAppearance/index.tsx | 0 .../(main)/settings/chat-appearance/index.tsx | 2 +- .../common/features/Appearance/Preview.tsx | 0 .../ThemeSwatches/ThemeSwatchesNeutral.tsx | 0 .../ThemeSwatches/ThemeSwatchesPrimary.tsx | 0 .../Appearance/ThemeSwatches/index.ts | 0 .../common/features/Appearance/index.tsx | 0 .../common/features/Common/Common.tsx | 0 .../(main)/settings/common/index.tsx | 2 +- .../settings/features/SettingHeader.tsx | 0 .../settings/features/SettingsContent.tsx | 0 .../(main)/settings/features/UpgradeAlert.tsx | 0 .../settings/features/componentMap.desktop.ts | 0 .../(main)/settings/features/componentMap.ts | 0 .../(main)/settings/hooks/useCategory.tsx | 0 .../(main)/settings/hooks/useSyncSettings.ts | 0 .../settings/hotkey/features/Conversation.tsx | 0 .../settings/hotkey/features/Desktop.tsx | 0 .../settings/hotkey/features/Essential.tsx | 0 .../(main)/settings/hotkey/index.tsx | 2 +- .../(main)/settings/image/features/Image.tsx | 0 .../(main)/settings/image/index.tsx | 2 +- .../(main)/settings/index.tsx | 0 .../settings/memory/features/Memory.tsx | 0 .../(main)/settings/memory/index.tsx | 2 +- .../settings/profile/features/AvatarRow.tsx | 0 .../settings/profile/features/EmailRow.tsx | 0 .../settings/profile/features/FullNameRow.tsx | 0 .../profile/features/InterestsRow.tsx | 2 +- .../KlavisAuthorizationList/index.tsx | 0 .../settings/profile/features/PasswordRow.tsx | 0 .../settings/profile/features/ProfileRow.tsx | 0 .../features/SSOProvidersList/index.tsx | 0 .../settings/profile/features/UsernameRow.tsx | 0 .../(main)/settings/profile/index.tsx | 2 +- .../settings/provider/(list)/Footer.tsx | 0 .../provider/(list)/ProviderGrid/Card.tsx | 0 .../(list)/ProviderGrid/EnableSwitch.tsx | 0 .../provider/(list)/ProviderGrid/index.tsx | 0 .../provider/(list)/ProviderGrid/style.ts | 0 .../(main)/settings/provider/(list)/index.tsx | 0 .../provider/ProviderMenu/Actions.tsx | 0 .../settings/provider/ProviderMenu/AddNew.tsx | 0 .../settings/provider/ProviderMenu/All.tsx | 0 .../settings/provider/ProviderMenu/Item.tsx | 0 .../settings/provider/ProviderMenu/List.tsx | 0 .../provider/ProviderMenu/SearchResult.tsx | 0 .../SortProviderModal/GroupItem.tsx | 0 .../ProviderMenu/SortProviderModal/index.tsx | 0 .../settings/provider/ProviderMenu/index.tsx | 0 .../provider/ProviderMenu/useDropdownMenu.tsx | 0 .../provider/_layout/Desktop/Container.tsx | 0 .../provider/_layout/Desktop/index.tsx | 0 .../provider/_layout/Desktop/style.ts | 0 .../settings/provider/_layout/Mobile.tsx | 0 .../(main)/settings/provider/const.ts | 0 .../settings/provider/detail/azure/index.tsx | 0 .../provider/detail/azureai/index.tsx | 0 .../provider/detail/bedrock/index.tsx | 0 .../provider/detail/cloudflare/index.tsx | 0 .../provider/detail/comfyui/index.tsx | 0 .../provider/detail/default/ClientMode.tsx | 0 .../detail/default/ProviderDetialPage.tsx | 0 .../provider/detail/default/index.tsx | 0 .../settings/provider/detail/github/index.tsx | 0 .../(main)/settings/provider/detail/index.tsx | 0 .../settings/provider/detail/newapi/index.tsx | 0 .../provider/detail/ollama/CheckError.tsx | 0 .../provider/detail/ollama/Container.tsx | 0 .../settings/provider/detail/ollama/index.tsx | 0 .../settings/provider/detail/openai/index.tsx | 0 .../provider/detail/vertexai/index.tsx | 0 .../features/CreateNewProvider/index.tsx | 0 .../ExtendParamsSelect.tsx | 0 .../ModelList/CreateNewModelModal/Form.tsx | 0 .../__tests__/ExtendParamsSelect.test.tsx | 0 .../ModelList/CreateNewModelModal/index.tsx | 0 .../features/ModelList/DisabledModels.tsx | 0 .../features/ModelList/EmptyModels.tsx | 0 .../ModelList/EnabledModelList/index.tsx | 0 .../ModelList/ModelConfigModal/index.tsx | 0 .../provider/features/ModelList/ModelItem.tsx | 0 .../features/ModelList/ModelTitle/Search.tsx | 0 .../features/ModelList/ModelTitle/index.tsx | 0 .../ModelList/ProviderSettingsContext.ts | 0 .../features/ModelList/SearchResult.tsx | 0 .../features/ModelList/SkeletonList.tsx | 0 .../ModelList/SortModelModal/ListItem.tsx | 0 .../ModelList/SortModelModal/index.tsx | 0 .../provider/features/ModelList/index.tsx | 0 .../features/ProviderConfig/Checker.tsx | 0 .../features/ProviderConfig/EnableSwitch.tsx | 0 .../OAuthDeviceFlowAuth/index.tsx | 0 .../OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts | 0 .../UpdateProviderInfo/SettingModal.tsx | 0 .../UpdateProviderInfo/index.tsx | 0 .../features/ProviderConfig/index.tsx | 0 .../features/customProviderSdkOptions.ts | 0 .../(main)/settings/provider/index.tsx | 0 .../(main)/settings/provider/type.ts | 0 .../settings/proxy/features/ProxyForm.tsx | 0 .../(main)/settings/proxy/index.tsx | 2 +- .../(main)/settings/security/index.tsx | 0 .../settings/skill/features/Actions.tsx | 0 .../skill/features/AgentSkillItem.tsx | 0 .../skill/features/BuiltinSkillItem.tsx | 0 .../skill/features/EditCustomPlugin.tsx | 0 .../skill/features/KlavisSkillItem.tsx | 0 .../skill/features/LobehubSkillItem.tsx | 0 .../settings/skill/features/McpSkillItem.tsx | 0 .../settings/skill/features/SkillList.tsx | 0 .../(main)/settings/skill/features/style.ts | 0 .../(main)/settings/skill/index.tsx | 2 +- .../features/components/StatsFormGroup.tsx | 0 .../stats/features/components/TimeLabel.tsx | 0 .../features/components/UsageBarChart.tsx | 0 .../features/overview/ShareButton/Preview.tsx | 0 .../overview/ShareButton/ShareModal.tsx | 0 .../overview/ShareButton/TotalCard.tsx | 0 .../features/overview/ShareButton/index.tsx | 0 .../features/overview/TotalAssistants.tsx | 0 .../stats/features/overview/TotalMessages.tsx | 0 .../stats/features/overview/TotalTopics.tsx | 0 .../stats/features/overview/TotalWords.tsx | 0 .../stats/features/overview/Welcome.tsx | 0 .../settings/stats/features/overview/index.ts | 0 .../features/rankings/AssistantsRank.tsx | 0 .../stats/features/rankings/ModelsRank.tsx | 0 .../stats/features/rankings/TopicsRank.tsx | 0 .../settings/stats/features/rankings/index.ts | 0 .../UsageCards/ActiveModels/ModelTable.tsx | 0 .../usage/UsageCards/ActiveModels/index.tsx | 0 .../features/usage/UsageCards/MonthSpend.tsx | 0 .../features/usage/UsageCards/TodaySpend.tsx | 0 .../stats/features/usage/UsageCards/index.tsx | 0 .../stats/features/usage/UsageTable.tsx | 0 .../stats/features/usage/UsageTrends.tsx | 0 .../settings/stats/features/usage/index.ts | 0 .../features/visualization/AiHeatmaps.tsx | 0 .../stats/features/visualization/index.ts | 0 .../(main)/settings/stats/index.tsx | 2 +- .../(main)/settings/stats/types.ts | 0 .../settings/storage/features/Advanced.tsx | 0 .../(main)/settings/storage/index.tsx | 2 +- .../features/ToolDetectorSection.tsx | 0 .../(main)/settings/system-tools/index.tsx | 2 +- .../(main)/settings/tts/features/OpenAI.tsx | 0 .../(main)/settings/tts/features/STT.tsx | 0 .../(main)/settings/tts/features/const.tsx | 0 .../(main)/settings/tts/index.tsx | 2 +- .../ConfigPanel/VideoConfigSkeleton.tsx | 0 .../ConfigPanel/components/FrameUpload.tsx | 2 +- .../components/ModelSelect/VideoModelItem.tsx | 0 .../components/ModelSelect/index.tsx | 0 .../video/_layout/ConfigPanel/index.tsx | 2 +- .../(main)/video/_layout/Header.tsx | 0 .../(main)/video/_layout/Sidebar.tsx | 0 .../(main)/video/_layout/TopicSidebar.tsx | 0 .../(main)/video/_layout/index.tsx | 0 .../(main)/video/_layout/style.ts | 0 .../features/GenerationFeed/BatchItem.tsx | 0 .../GenerationFeed/VideoErrorItem.tsx | 4 +- .../GenerationFeed/VideoLoadingItem.tsx | 2 +- .../GenerationFeed/VideoReferenceFrames.tsx | 0 .../GenerationFeed/VideoSuccessItem.tsx | 4 +- .../video/features/GenerationFeed/index.tsx | 0 .../video/features/PromptInput/Title.tsx | 0 .../video/features/PromptInput/index.tsx | 0 .../video/features/VideoWorkspace/Content.tsx | 0 .../features/VideoWorkspace/EmptyState.tsx | 0 .../features/VideoWorkspace/SkeletonList.tsx | 2 +- .../video/features/VideoWorkspace/index.tsx | 0 .../(main)/video/index.tsx | 0 .../(main)/video/loading.tsx | 0 .../(mobile)/(home)/_layout/MobileLayout.tsx | 0 .../(home)/_layout/MobileLayout/style.ts | 0 .../(mobile)/(home)/_layout/SessionHeader.tsx | 0 .../(home)/_layout/SessionHeader/style.ts | 0 .../(home)/_layout/SessionHydration.tsx | 0 .../(home)/_layout/SessionSearchBar.tsx | 0 .../(mobile)/(home)/_layout/index.tsx | 4 +- .../CollapseGroup/Actions.tsx | 0 .../CollapseGroup/index.tsx | 0 .../SessionListContent/DefaultMode.tsx | 0 .../SessionListContent/Inbox/index.tsx | 0 .../SessionListContent/List/AddButton.tsx | 0 .../SessionListContent/List/Item/Actions.tsx | 0 .../SessionListContent/List/Item/index.tsx | 0 .../SessionListContent/List/index.tsx | 0 .../SessionListContent/ListItem/index.tsx | 0 .../Modals/ConfigGroupModal/GroupItem.tsx | 0 .../Modals/ConfigGroupModal/index.tsx | 0 .../Modals/CreateGroupModal.tsx | 0 .../Modals/RenameGroupModal.tsx | 0 .../SessionListContent/SearchMode.tsx | 0 .../features/SessionListContent/index.tsx | 0 .../(mobile)/(home)/features/SkeletonList.tsx | 0 .../(mobile)/(home)/index.tsx | 0 .../(mobile)/_layout/NavBar.tsx | 0 .../(mobile)/_layout/index.tsx | 0 .../(mobile)/chat/_layout/index.tsx | 4 +- .../(mobile)/chat/_layout/style.ts | 0 .../features/ChatHeader/ChatHeaderTitle.tsx | 0 .../chat/features/ChatHeader/index.tsx | 2 +- .../features/AgentConfig/Header/Avatar.tsx | 0 .../features/AgentConfig/Header/index.tsx | 0 .../Topic/features/AgentConfig/SystemRole.tsx | 0 .../Topic/features/AgentConfig/index.tsx | 0 .../features/Topic/features/ConfigLayout.tsx | 0 .../features/Topic/features/TopicModal.tsx | 0 .../(mobile)/chat/features/Topic/index.tsx | 4 +- .../(mobile)/chat/index.tsx | 8 +- .../(mobile)/chat/settings/_layout/Header.tsx | 0 .../(mobile)/chat/settings/_layout/index.tsx | 0 .../features/AgentInfoDescription/index.tsx | 0 .../chat/settings/features/SettingButton.tsx | 2 +- .../(mobile)/chat/settings/index.tsx | 2 +- .../community/(detail)/_layout/Header.tsx | 0 .../community/(detail)/_layout/index.tsx | 2 +- .../community/(list)/_layout/Header.tsx | 0 .../(mobile)/community/(list)/_layout/Nav.tsx | 0 .../community/(list)/_layout/index.tsx | 0 .../community/(list)/_layout/style.ts | 0 .../(mobile)/community/_layout/index.tsx | 0 .../me/(home)/__tests__/UserBanner.test.tsx | 0 .../me/(home)/__tests__/useCategory.test.tsx | 0 .../(mobile)/me/(home)/features/Category.tsx | 0 .../(mobile)/me/(home)/features/Header.tsx | 0 .../me/(home)/features/UserBanner.tsx | 0 .../me/(home)/features/useCategory.tsx | 0 .../(mobile)/me/(home)/index.tsx | 0 .../(mobile)/me/(home)/layout.tsx | 0 .../(mobile)/me/profile/features/Category.tsx | 0 .../(mobile)/me/profile/features/Header.tsx | 0 .../(mobile)/me/profile/index.tsx | 0 .../(mobile)/me/profile/layout.tsx | 0 .../me/settings/features/Category.tsx | 0 .../(mobile)/me/settings/features/Header.tsx | 0 .../me/settings/features/useCategory.tsx | 0 .../(mobile)/me/settings/index.tsx | 0 .../(mobile)/me/settings/layout.tsx | 0 .../(mobile)/settings/_layout/Header.tsx | 0 .../(mobile)/settings/_layout/index.tsx | 0 .../(mobile)/settings/index.tsx | 0 .../settings/provider/_layout/index.tsx | 0 .../onboarding/_layout/index.tsx | 0 .../onboarding/_layout/style.ts | 0 .../components/KlavisServerItem.tsx | 0 .../components/ServerIcon.tsx | 0 .../components/ServerStatusControl.tsx | 0 .../KlavisServerList/hooks/useKlavisOAuth.ts | 0 .../hooks/useKlavisServerActions.ts | 0 .../components/KlavisServerList/index.tsx | 0 .../onboarding/components/LobeMessage.tsx | 0 .../onboarding/config.ts | 0 .../onboarding/features/FullNameStep.tsx | 0 .../onboarding/features/InterestsStep.tsx | 0 .../onboarding/features/ModeSelectionStep.tsx | 2 +- .../onboarding/features/ProSettingsStep.tsx | 2 +- .../features/ResponseLanguageStep.tsx | 0 .../onboarding/features/TelemetryStep.tsx | 0 .../onboarding/index.tsx | 0 .../share/t/[id]/SharedMessageList.tsx | 0 .../share/t/[id]/_layout/Title.tsx | 0 .../share/t/[id]/_layout/index.tsx | 0 .../share/t/[id]/_layout/style.ts | 0 .../share/t/[id]/features/ActionBar.tsx | 0 .../share/t/[id]/features/Portal/index.tsx | 0 .../share/t/[id]/index.tsx | 0 src/{ => spa}/entry.desktop.tsx | 4 +- src/{ => spa}/entry.mobile.tsx | 4 +- src/{ => spa}/entry.web.tsx | 4 +- .../router/desktopRouter.config.desktop.tsx | 123 ++++++++------- .../router/desktopRouter.config.tsx | 142 +++++++++-------- .../router/mobileRouter.config.tsx | 85 ++++++---- vite.config.ts | 4 +- 1176 files changed, 868 insertions(+), 606 deletions(-) create mode 100644 .agents/skills/spa-routes/SKILL.md delete mode 100644 src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx delete mode 100644 src/app/[variants]/(main)/image/loading.tsx delete mode 100644 src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/Actions.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/AllPagesDrawer/Content.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/AllPagesDrawer/index.tsx (100%) rename src/{app/[variants]/(main)/agent/_layout/Sidebar/Topic => features/Pages/PageLayout/Body}/List/Item/Actions.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/List/Item/Editing.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/List/Item/index.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/List/Item/useDropdownMenu.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/List/index.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/index.tsx (98%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Body/useDropdownMenu.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/DataSync.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Header/AddButton.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Header/index.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/Sidebar.tsx (100%) rename src/{app/[variants]/(main)/page/_layout => features/Pages/PageLayout}/index.tsx (100%) rename src/{app/[variants]/(main)/agent/_layout => features/Pages/PageLayout}/style.ts (100%) rename src/{app/[variants]/(main)/page/PageTitle/index.tsx => features/Pages/PageTitle.tsx} (100%) create mode 100644 src/features/Pages/index.ts rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/components/LobeMessage.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/components/OnboardingFooterActions.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/features/DataModeStep.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/features/LoginStep.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/features/PermissionsStep.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/features/WelcomeStep.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/index.tsx (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/navigation.ts (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/storage.ts (100%) rename src/{app/[variants] => routes}/(desktop)/desktop-onboarding/types.ts (100%) rename src/{app/[variants] => routes}/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx (94%) rename src/{app/[variants] => routes}/(main)/_layout/DesktopLayoutContainer.tsx (100%) rename src/{app/[variants] => routes}/(main)/_layout/DesktopLayoutContainer/style.ts (100%) rename src/{app/[variants] => routes}/(main)/_layout/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/_layout/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/AgentIdSync.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Body.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Cron/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Cron/CronTopicGroup.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Cron/CronTopicItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Cron/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Cron/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx (88%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Header/Agent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Header/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx (100%) rename src/{app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem => routes/(main)/agent/_layout/Sidebar/Topic/List/Item}/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/List/Item/Editing.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/List/Item/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx (100%) rename src/{app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item => routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem}/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicListContent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/hooks/useTopicNavigation.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/Topic/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/_layout/index.tsx (91%) rename src/{app/[variants]/(main)/memory => routes/(main)/agent}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/CronConfig.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/features/CronJobContentEditor.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/features/CronJobHeader.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/features/CronJobSaveButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/features/CronJobScheduleConfig.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/cron/[cronId]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/ChangelogModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/AgentWelcome/OpeningQuestions.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/AgentWelcome/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/ChatHydration/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/ConversationArea.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/HeaderActions/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/HeaderActions/useMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/NotebookButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/ShareButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/Tags/KnowledgeTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/Tags/MemberCountTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/Tags/SearchTags.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/Tags/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/WorkingDirectory/WorkingDirectoryContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/WorkingDirectory/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/MainChatInput/MessageFromUrl.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/MainChatInput/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/MainChatInput/useSendMenuItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/ThreadHydration.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/useActionsBarConfig.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Conversation/useAgentContext.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/features/PageTitle/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/_layout/Desktop.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/_layout/Mobile.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/features/Body.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/features/Portal.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/features/PortalPanel.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/Portal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/features/TelemetryNotification.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentCronJobs/CronJobCards.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentCronJobs/CronJobForm.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentCronJobs/CronJobList.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentCronJobs/hooks/useAgentCronJobs.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentCronJobs/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentSettings/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/AgentSettings/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/EditorCanvas/TypoBar.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/EditorCanvas/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/EditorCanvas/useSlashItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentForkTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/ForkConfirmModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/PublishButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/PublishResultModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/types.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/useMarketPublish.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentPublishButton/utils.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentStatusTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AgentVersionReviewTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/AutoSaveHint.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/AgentHeader.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/AgentTool.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/MentionList/MentionDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/MentionList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/MentionList/types.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/MentionList/useMentionItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileEditor/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileHydration.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/ProfileProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/StoreUpdater.tsx (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/constants.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/store/action.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/store/index.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/store/initialState.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/features/store/selectors.ts (100%) rename src/{app/[variants] => routes}/(main)/agent/profile/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/_layout/Header.tsx (91%) rename src/{app/[variants] => routes}/(main)/community/(detail)/_layout/Header/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/AgentForkTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/DetailProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/Block.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/Knowledge.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/KnowledgeItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/PluginItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/Plugins.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Capabilities/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Overview/TagList.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Overview/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/SystemRole/TagList.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/SystemRole/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/Versions/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Details/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Header.tsx (98%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/ActionButton/AddAgent.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/ActionButton/ForkAndChat.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/ActionButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/Related/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/Summary/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx (92%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/features/StatusPage/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/agent/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/components/NotFound.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/error.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Back.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Block.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Breadcrumb.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/DetailLayout.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/HighlightBlock.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/MakedownRender.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/ShareButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/SidebarContainer.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Toc/Heading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Toc/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/community/(detail)/features/Toc/useToc.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/DetailProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Details/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/ForkGroupAndChat.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/group_agent/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Details/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx (92%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Details/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/ActionButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/ConnectionTypeAlert.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/Related/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/ServerConfig.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/features/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/mcp/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/DetailProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Overview/ProviderList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Overview/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Parameter/ParameterItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Parameter/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Details/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Header.tsx (89%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/ActionButton/ChatWithModel.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/ActionButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/Related/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/features/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/model/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/not-found.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/DetailProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/Guide/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/Overview/ModelList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/Overview/index.tsx (88%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Details/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/ActionButton/ProviderConfig.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/ActionButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/Related/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/Related/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/features/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/provider/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/DetailProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/FollowButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/FollowStats.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/Header/Banner.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/StatusFilter.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserAgentCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserFavoriteAgents.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserFavoritePlugins.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserForkedAgentGroups.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserForkedAgents.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserGroupCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/UserGroupList.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/features/useUserDetail.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(detail)/user/loading.tsx (89%) rename src/{app/[variants] => routes}/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx (89%) rename src/{app/[variants] => routes}/(main)/community/(list)/(home)/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/(home)/loading.tsx (80%) rename src/{app/[variants] => routes}/(main)/community/(list)/_layout/Footer.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/_layout/Header.tsx (84%) rename src/{app/[variants] => routes}/(main)/community/(list)/_layout/Header/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/Client.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/Category/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/Category/useCategory.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/List/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/List/TokenTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/features/MarketSourceSwitch.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/agent/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/error.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/features/Pagination.tsx (95%) rename src/{app/[variants] => routes}/(main)/community/(list)/features/SortButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/features/Category/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/features/List/ConnectionTypeTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/features/List/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/features/List/MetaInfo.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/features/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/mcp/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/Category/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/Category/useCategory.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/List/Item.tsx (98%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/List/ModelTypeIcon.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/features/const.ts (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/model/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/not-found.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/provider/features/List/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/provider/features/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/provider/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/(list)/provider/loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/Header/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/Sidebar/Header/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/_layout/index.tsx (100%) rename src/{app/[variants]/(main)/settings => routes/(main)/community}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/community/components/CardBanner.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/CategoryContainer.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/CategoryMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/GitHubAvatar.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/GridLoadingCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/ListLoading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/Loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/SearchResultCount.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/Statistic.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/Title.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/VirtuosoGridList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/components/VirtuosoGridList/useScrollParent.ts (100%) rename src/{app/[variants] => routes}/(main)/community/features/AssistantEmpty.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/CreateButton/Inner.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/CreateButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/LikeButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/McpEmpty.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/ModelEmpty.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/ProviderEmpty.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/Search.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/Title.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/UserAvatar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/community/features/__tests__/calculateScore.test.ts (98%) rename src/{app/[variants] => routes}/(main)/community/features/const.ts (100%) rename src/{app/[variants] => routes}/(main)/community/features/useNav.tsx (100%) rename src/{app/[variants] => routes}/(main)/components/Link.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/(home)/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/Sidebar/Body/BenchmarkList.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/Sidebar/Body/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/DatasetList.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/RunList.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/BenchmarkHead.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/BenchmarkHeader/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetRunCreateModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetTabs/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/DatasetCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/EmptyState.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseEmptyState.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewPanel.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseTable.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx (96%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunCards/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunCreateModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunEditModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunsTab/EmptyState.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunsTab/RunCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/RunsTab/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/TestCaseList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/features/TestCasesTab/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/CaseBanner/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/ChatArea/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/InfoSidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/CaseResultsTable/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/BenchmarkCharts.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/ScatterPlot.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/StatusDonut.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/IdleState/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/PendingState/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx (98%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunInfo/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunningState/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/StatsCards/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/bench/[benchmarkId]/runs/[runId]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/config/datasetPresets.ts (100%) rename src/{app/[variants] => routes}/(main)/eval/features/BenchmarkCard/RunRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/BenchmarkCard/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/BenchmarkEditModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/CreateBenchmarkModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetCreateModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetEditModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetImportModal/MappingStep.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetImportModal/UploadStep.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetImportModal/const.ts (100%) rename src/{app/[variants] => routes}/(main)/eval/features/DatasetImportModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/StatusBadge.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/TestCaseCreateModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/features/TestCaseEditModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/eval/utils.ts (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/GroupIdSync.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/AddGroupMemberModal/AgentItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/AddGroupMemberModal/AvailableAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/AddGroupMemberModal/SelectedAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/AddGroupMemberModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/AddGroupMemberModal/store.ts (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Body.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/AgentProfilePopup.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/GroupMember.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/GroupMemberItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/GroupRole.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx (88%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/GroupConfig/style.ts (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx (85%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Header/Agent/index.tsx (94%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Header/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Members/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx (100%) rename src/{app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem => routes/(main)/group/_layout/Sidebar/Topic/List/Item}/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/List/Item/Editing.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/List/Item/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/List/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx (100%) rename src/{app/[variants]/(main)/home/_layout/Body/Agent/List/Item => routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem}/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicListContent/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/TopicSearchBar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/Topic/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/_layout/index.tsx (100%) rename src/{app/[variants]/(main)/community => routes/(main)/group}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/AgentWelcome/OpeningQuestions.tsx (100%) create mode 100644 src/routes/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx rename src/{app/[variants] => routes}/(main)/group/features/Conversation/AgentWelcome/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/ChatHydration/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/ChatItem/Thread.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/ChatItem/ThreadItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/ConversationArea.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/ShareButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/Tags/KnowledgeTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/Tags/MemberCountTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/Tags/SearchTags.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/Tags/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/MainChatInput/GroupChat.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/MainChatInput/MessageFromUrl.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/MainChatInput/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/MainChatInput/useSendMenuItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/ThreadHydration.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/useActionsBarConfig.ts (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/useGroupContext.ts (100%) rename src/{app/[variants] => routes}/(main)/group/features/Conversation/useGroupHooks.ts (100%) rename src/{app/[variants] => routes}/(main)/group/features/GroupAvatar.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/PageTitle/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Portal/_layout/Desktop.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Portal/_layout/Mobile.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Portal/features/Body.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/features/Portal/index.tsx (64%) rename src/{app/[variants] => routes}/(main)/group/features/TelemetryNotification.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/StoreSync.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentBuilder/AgentBuilderConversation.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentBuilder/AgentBuilderProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentBuilder/TopicSelector.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentBuilder/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentSettings/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/AgentSettings/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/GroupProfile/GroupForkTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/GroupProfile/GroupHeader.tsx (98%) rename src/{app/[variants] => routes}/(main)/group/profile/features/GroupProfile/GroupStatusTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/GroupProfile/GroupVersionReviewTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/GroupProfile/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentBuilderToggle.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/PublishButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/types.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/useMarketPublish.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AgentPublishButton/utils.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/AutoSaveHint.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/ChromeTabs/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/types.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/GroupPublishButton/utils.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/Header/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/AgentHeader.tsx (98%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/AgentTool.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/MentionList/MentionDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/MentionList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/MentionList/types.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/MentionList/useMentionItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/MemberProfile/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/group/profile/features/constants.ts (100%) rename src/{app/[variants] => routes}/(main)/group/profile/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/AllAgentsDrawer/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/AllAgentsDrawer/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/AgentGroupItem/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/AgentGroupItem/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/AgentItem/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/Group/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/Group/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/Group/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/Group/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/InboxItem.tsx (100%) rename src/{app/[variants]/(main)/page/_layout/Body => routes/(main)/home/_layout/Body/Agent}/List/Item/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/List.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/index.tsx (95%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/List/useAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/ModalProvider.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/GroupItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/Modals/CreateGroupModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/index.tsx (95%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Agent/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/BottomMenu/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/List/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/List/Editing.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/List/Item.tsx (93%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/List/index.tsx (87%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/List/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/Project/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Body/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/CreateGroupModal/AgentItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/CreateGroupModal/AvailableAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/CreateGroupModal/SelectedAgentList.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/CreateGroupModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/CreateGroupModal/store.ts (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Footer/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Header/components/AddButton.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Header/components/Nav.tsx (95%) rename src/{app/[variants] => routes}/(main)/home/_layout/Header/components/User.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/HomeAgentIdSync.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/RecentHydration.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/Sidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/SidebarContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/hooks/index.ts (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/hooks/useCreateMenuItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/hooks/useProjectMenuItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/hooks/useSessionGroupMenuItems.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityAgents/Item.tsx (96%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityAgents/List.tsx (86%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityAgents/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityRecommend/AssistantList.tsx (90%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityRecommend/GroupList.tsx (87%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityRecommend/Item.tsx (96%) rename src/{app/[variants] => routes}/(main)/home/features/CommunityRecommend/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/FeaturedPlugins/Item.tsx (88%) rename src/{app/[variants] => routes}/(main)/home/features/FeaturedPlugins/List.tsx (85%) rename src/{app/[variants] => routes}/(main)/home/features/FeaturedPlugins/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/InputArea/ModeTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/InputArea/SkillInstallBanner.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/InputArea/StarterList.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/InputArea/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/InputArea/useSend.ts (100%) rename src/{app/[variants] => routes}/(main)/home/features/RecentPage/Item.tsx (94%) rename src/{app/[variants] => routes}/(main)/home/features/RecentPage/List.tsx (85%) rename src/{app/[variants] => routes}/(main)/home/features/RecentPage/index.tsx (94%) rename src/{app/[variants] => routes}/(main)/home/features/RecentResource/Item.tsx (92%) rename src/{app/[variants] => routes}/(main)/home/features/RecentResource/List.tsx (85%) rename src/{app/[variants] => routes}/(main)/home/features/RecentResource/index.tsx (94%) rename src/{app/[variants] => routes}/(main)/home/features/RecentTopic/Item.tsx (95%) rename src/{app/[variants] => routes}/(main)/home/features/RecentTopic/List.tsx (86%) rename src/{app/[variants] => routes}/(main)/home/features/RecentTopic/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/SuggestQuestions/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/SuggestQuestions/List.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/SuggestQuestions/Skeleton.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/SuggestQuestions/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/SuggestQuestions/useRandomQuestions.ts (100%) rename src/{app/[variants] => routes}/(main)/home/features/WelcomeText/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/components/GroupBlock/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/components/GroupSkeleton.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/components/ScrollShadowWithButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/components/Time.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/features/const.ts (100%) rename src/{app/[variants] => routes}/(main)/home/features/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/home/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/hooks/useActiveTabKey.ts (100%) rename src/{app/[variants] => routes}/(main)/image/NotSupportClient.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/ImageConfigSkeleton.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/CfgSliderInput.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/DimensionControlGroup.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ImageNum.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx (98%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx (88%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx (94%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/InputNumber/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ModelSelect/ImageModelItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ModelSelect/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx (98%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx (98%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/QualitySelect.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/ResolutionSelect.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/SeedNumberInput.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/Select/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/SizeSelect.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/components/StepsSliderInput.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/constants.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/style.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/utils/__tests__/dimensionConstraints.test.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/utils/__tests__/imageValidation.test.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/utils/dimensionConstraints.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/ConfigPanel/utils/imageValidation.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/Sidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/TopicSidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/image/_layout/type.ts (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/BatchItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/styles.ts (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/types.ts (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/utils.test.ts (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/GenerationItem/utils.ts (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/ReferenceImages.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/GenerationFeed/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/ImageWorkspace/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/ImageWorkspace/EmptyState.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/ImageWorkspace/SkeletonList.tsx (95%) rename src/{app/[variants] => routes}/(main)/image/features/ImageWorkspace/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/PromptInput/Title.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/features/PromptInput/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/image/index.tsx (100%) create mode 100644 src/routes/(main)/image/loading.tsx rename src/{app/[variants] => routes}/(main)/memory/(home)/features/Persona/PersonaDetail.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/features/Persona/PersonaHeader.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/features/Persona/PersonaSummary.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/features/Persona/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/features/RoleTagCloud/TagCloudCanvas.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/features/RoleTagCloud/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/(home)/index.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/_layout/Sidebar/Header/Nav.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/_layout/Sidebar/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/_layout/Sidebar/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/_layout/index.tsx (100%) rename src/{app/[variants]/(main)/group => routes/(main)/memory}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/ActivityDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/ActivityRightPanel.tsx (80%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/List/GridView/ActivityCard.tsx (92%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/List/GridView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx (91%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/List/TimelineView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/activities/features/List/index.tsx (94%) rename src/{app/[variants] => routes}/(main)/memory/activities/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/ContextDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/ContextRightPanel.tsx (82%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/List/GridView/ContextCard.tsx (88%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/List/GridView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx (87%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/List/TimelineView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/contexts/features/List/index.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/contexts/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/ExperienceDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/ExperienceRightPanel.tsx (87%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx (87%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/List/GridView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/List/TimelineView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/experiences/features/List/index.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/experiences/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/memory/features/CateTag.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/DetailLoading.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/DetailPanel.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/EditableModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/FilterBar.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/GridView/GridCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/GridView/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/memory/features/HashTags.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/HighlightedContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/Loading.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/Action.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx (95%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/DateRangeModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/Status.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryAnalysis/useTask.ts (100%) rename src/{app/[variants] => routes}/(main)/memory/features/MemoryEmpty.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/ProgressIcon.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/SourceLink.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/Time.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/TimeLineView/PeriodGroup.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/TimeLineView/TimeLineCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/TimeLineView/index.tsx (98%) rename src/{app/[variants] => routes}/(main)/memory/features/TimeLineView/useScrollParent.ts (100%) rename src/{app/[variants] => routes}/(main)/memory/features/ViewModeSwitcher.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/features/useCateColor.ts (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/IdentityDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/IdentityRightPanel.tsx (77%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/List/GridView/IdentityCard.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/List/GridView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/List/TimelineView/IdentityCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/List/TimelineView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/List/index.tsx (94%) rename src/{app/[variants] => routes}/(main)/memory/identities/features/SegmentedBar.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/identities/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx (87%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/List/GridView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx (88%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/List/TimelineView/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/List/index.tsx (89%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/PreferenceDropdown.tsx (100%) rename src/{app/[variants] => routes}/(main)/memory/preferences/features/PreferenceRightPanel.tsx (79%) rename src/{app/[variants] => routes}/(main)/memory/preferences/index.tsx (96%) rename src/{app/[variants] => routes}/(main)/page/[id]/index.tsx (92%) create mode 100644 src/routes/(main)/page/_layout/index.tsx rename src/{app/[variants] => routes}/(main)/page/index.tsx (87%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/LibraryList/EmptyStatus.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/LibraryList/Item/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/LibraryList/Item/Editing.tsx (100%) create mode 100644 src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/LibraryList/Item/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/LibraryList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Body/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Header/CategoryMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/Sidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/_layout/index.tsx (100%) rename src/{app/[variants]/(main)/page => routes/(main)/resource/(home)}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/(home)/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/_layout/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/DndContextWrapper.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/FileDetail.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/hooks/useFileQueryParam.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/hooks/useFolderPath.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/hooks/useInitFileCheck.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/hooks/useKnowledgeItem.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/hooks/useResourceManagerUrlSync.ts (95%) rename src/{app/[variants] => routes}/(main)/resource/features/modal/FileDetail.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/modal/FilePreview.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/modal/FullscreenModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/modal/ModalPageClient.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/features/modal/useFilesQueryParam.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/store/action.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/store/index.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/store/initialState.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/features/store/selectors.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/library/[slug]/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/_layout/Header/LibraryHead.tsx (95%) rename src/{app/[variants] => routes}/(main)/resource/library/_layout/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/_layout/Sidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/_layout/index.tsx (82%) rename src/{app/[variants]/(main)/resource/(home) => routes/(main)/resource/library}/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/library/features/Container.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/features/LibraryMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/features/RegisterHotkeys.tsx (100%) rename src/{app/[variants] => routes}/(main)/resource/library/index.tsx (95%) rename src/{app/[variants] => routes}/(main)/resource/store/action.ts (100%) rename src/{app/[variants] => routes}/(main)/resource/store/initialState.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/Body/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/ContextProvider/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/SideBar.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/SidebarContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/_layout/index.tsx (88%) rename src/{app/[variants]/(main)/resource/library => routes/(main)/settings}/_layout/style.ts (92%) rename src/{app/[variants] => routes}/(main)/settings/_layout/type.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/About.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/AboutList.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/Analytics.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/ItemCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/ItemLink.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/features/Version.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/about/index.tsx (81%) rename src/{app/[variants] => routes}/(main)/settings/agent/features/DefaultAgentForm.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/agent/features/SystemAgentForm.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/agent/features/useSync.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/agent/index.tsx (92%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/ApiKey.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/ApiKeyDatePicker/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/ApiKeyDisplay/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/ApiKeyModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/EditableCell/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/features/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/apikey/index.tsx (76%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/features/ChatAppearance/ChatPreview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/features/ChatAppearance/ChatTransitionPreview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/features/ChatAppearance/HighlighterPreview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/features/ChatAppearance/MermaidPreview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/features/ChatAppearance/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/chat-appearance/index.tsx (78%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Appearance/Preview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Appearance/ThemeSwatches/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Appearance/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/common/features/Common/Common.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/common/index.tsx (80%) rename src/{app/[variants] => routes}/(main)/settings/features/SettingHeader.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/features/SettingsContent.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/features/UpgradeAlert.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/features/componentMap.desktop.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/features/componentMap.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/hooks/useCategory.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/hooks/useSyncSettings.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/hotkey/features/Conversation.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/hotkey/features/Desktop.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/hotkey/features/Essential.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/hotkey/index.tsx (84%) rename src/{app/[variants] => routes}/(main)/settings/image/features/Image.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/image/index.tsx (76%) rename src/{app/[variants] => routes}/(main)/settings/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/memory/features/Memory.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/memory/index.tsx (76%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/AvatarRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/EmailRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/FullNameRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/InterestsRow.tsx (99%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/KlavisAuthorizationList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/PasswordRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/ProfileRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/SSOProvidersList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/features/UsernameRow.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/profile/index.tsx (98%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/Footer.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/ProviderGrid/Card.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/ProviderGrid/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/ProviderGrid/style.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/(list)/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/AddNew.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/All.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/Item.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/List.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/SearchResult.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/ProviderMenu/useDropdownMenu.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/_layout/Desktop/Container.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/_layout/Desktop/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/_layout/Desktop/style.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/_layout/Mobile.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/const.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/azure/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/azureai/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/bedrock/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/cloudflare/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/comfyui/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/default/ClientMode.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/default/ProviderDetialPage.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/default/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/github/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/newapi/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/ollama/CheckError.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/ollama/Container.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/ollama/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/openai/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/detail/vertexai/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/CreateNewProvider/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/CreateNewModelModal/ExtendParamsSelect.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/CreateNewModelModal/__tests__/ExtendParamsSelect.test.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/DisabledModels.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/EmptyModels.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/ModelItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/ProviderSettingsContext.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/SearchResult.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/SkeletonList.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ModelList/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/Checker.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/EnableSwitch.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/ProviderConfig/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/features/customProviderSdkOptions.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/provider/type.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/proxy/features/ProxyForm.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/proxy/index.tsx (76%) rename src/{app/[variants] => routes}/(main)/settings/security/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/Actions.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/AgentSkillItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/BuiltinSkillItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/EditCustomPlugin.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/KlavisSkillItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/LobehubSkillItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/McpSkillItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/SkillList.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/features/style.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/skill/index.tsx (90%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/components/StatsFormGroup.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/components/TimeLabel.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/components/UsageBarChart.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/ShareButton/Preview.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/ShareButton/ShareModal.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/ShareButton/TotalCard.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/ShareButton/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/TotalAssistants.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/TotalMessages.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/TotalTopics.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/TotalWords.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/Welcome.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/overview/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/rankings/AssistantsRank.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/rankings/ModelsRank.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/rankings/TopicsRank.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/rankings/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageCards/ActiveModels/ModelTable.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageCards/ActiveModels/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageCards/MonthSpend.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageCards/TodaySpend.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageCards/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageTable.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/UsageTrends.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/usage/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/visualization/AiHeatmaps.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/features/visualization/index.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/stats/index.tsx (97%) rename src/{app/[variants] => routes}/(main)/settings/stats/types.ts (100%) rename src/{app/[variants] => routes}/(main)/settings/storage/features/Advanced.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/storage/index.tsx (92%) rename src/{app/[variants] => routes}/(main)/settings/system-tools/features/ToolDetectorSection.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/system-tools/index.tsx (79%) rename src/{app/[variants] => routes}/(main)/settings/tts/features/OpenAI.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/tts/features/STT.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/tts/features/const.tsx (100%) rename src/{app/[variants] => routes}/(main)/settings/tts/index.tsx (79%) rename src/{app/[variants] => routes}/(main)/video/_layout/ConfigPanel/VideoConfigSkeleton.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx (88%) rename src/{app/[variants] => routes}/(main)/video/_layout/ConfigPanel/components/ModelSelect/VideoModelItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/ConfigPanel/components/ModelSelect/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/ConfigPanel/index.tsx (98%) rename src/{app/[variants] => routes}/(main)/video/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/Sidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/TopicSidebar.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/BatchItem.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/VideoErrorItem.tsx (93%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx (95%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/VideoReferenceFrames.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx (81%) rename src/{app/[variants] => routes}/(main)/video/features/GenerationFeed/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/PromptInput/Title.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/PromptInput/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/VideoWorkspace/Content.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/VideoWorkspace/EmptyState.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/features/VideoWorkspace/SkeletonList.tsx (94%) rename src/{app/[variants] => routes}/(main)/video/features/VideoWorkspace/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/index.tsx (100%) rename src/{app/[variants] => routes}/(main)/video/loading.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/MobileLayout.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/MobileLayout/style.ts (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/SessionHeader.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/SessionHeader/style.ts (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/SessionHydration.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/SessionSearchBar.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/_layout/index.tsx (59%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/CollapseGroup/Actions.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/CollapseGroup/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/DefaultMode.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/Inbox/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/List/AddButton.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/List/Item/Actions.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/List/Item/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/List/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/ListItem/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/Modals/CreateGroupModal.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/Modals/RenameGroupModal.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/SearchMode.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SessionListContent/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/features/SkeletonList.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/(home)/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/_layout/NavBar.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/_layout/index.tsx (77%) rename src/{app/[variants] => routes}/(mobile)/chat/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/ChatHeader/ChatHeaderTitle.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/ChatHeader/index.tsx (88%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/AgentConfig/Header/Avatar.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/AgentConfig/Header/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/AgentConfig/SystemRole.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/AgentConfig/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/ConfigLayout.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/features/TopicModal.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/features/Topic/index.tsx (74%) rename src/{app/[variants] => routes}/(mobile)/chat/index.tsx (54%) rename src/{app/[variants] => routes}/(mobile)/chat/settings/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/settings/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/settings/features/AgentInfoDescription/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/chat/settings/features/SettingButton.tsx (93%) rename src/{app/[variants] => routes}/(mobile)/chat/settings/index.tsx (95%) rename src/{app/[variants] => routes}/(mobile)/community/(detail)/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/community/(detail)/_layout/index.tsx (83%) rename src/{app/[variants] => routes}/(mobile)/community/(list)/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/community/(list)/_layout/Nav.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/community/(list)/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/community/(list)/_layout/style.ts (100%) rename src/{app/[variants] => routes}/(mobile)/community/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/__tests__/UserBanner.test.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/__tests__/useCategory.test.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/features/Category.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/features/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/features/UserBanner.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/features/useCategory.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/(home)/layout.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/profile/features/Category.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/profile/features/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/profile/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/profile/layout.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/settings/features/Category.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/settings/features/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/settings/features/useCategory.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/settings/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/me/settings/layout.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/settings/_layout/Header.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/settings/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/settings/index.tsx (100%) rename src/{app/[variants] => routes}/(mobile)/settings/provider/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/onboarding/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/onboarding/_layout/style.ts (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/components/KlavisServerItem.tsx (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/components/ServerIcon.tsx (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/components/ServerStatusControl.tsx (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/hooks/useKlavisOAuth.ts (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/hooks/useKlavisServerActions.ts (100%) rename src/{app/[variants] => routes}/onboarding/components/KlavisServerList/index.tsx (100%) rename src/{app/[variants] => routes}/onboarding/components/LobeMessage.tsx (100%) rename src/{app/[variants] => routes}/onboarding/config.ts (100%) rename src/{app/[variants] => routes}/onboarding/features/FullNameStep.tsx (100%) rename src/{app/[variants] => routes}/onboarding/features/InterestsStep.tsx (100%) rename src/{app/[variants] => routes}/onboarding/features/ModeSelectionStep.tsx (98%) rename src/{app/[variants] => routes}/onboarding/features/ProSettingsStep.tsx (97%) rename src/{app/[variants] => routes}/onboarding/features/ResponseLanguageStep.tsx (100%) rename src/{app/[variants] => routes}/onboarding/features/TelemetryStep.tsx (100%) rename src/{app/[variants] => routes}/onboarding/index.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/SharedMessageList.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/_layout/Title.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/_layout/index.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/_layout/style.ts (100%) rename src/{app/[variants] => routes}/share/t/[id]/features/ActionBar.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/features/Portal/index.tsx (100%) rename src/{app/[variants] => routes}/share/t/[id]/index.tsx (100%) rename src/{ => spa}/entry.desktop.tsx (79%) rename src/{ => spa}/entry.mobile.tsx (78%) rename src/{ => spa}/entry.web.tsx (85%) rename src/{app/[variants] => spa}/router/desktopRouter.config.desktop.tsx (70%) rename src/{app/[variants] => spa}/router/desktopRouter.config.tsx (70%) rename src/{app/[variants]/(mobile) => spa}/router/mobileRouter.config.tsx (69%) diff --git a/.agents/skills/project-overview/SKILL.md b/.agents/skills/project-overview/SKILL.md index 5e66f997a5..fb1cf125cb 100644 --- a/.agents/skills/project-overview/SKILL.md +++ b/.agents/skills/project-overview/SKILL.md @@ -101,13 +101,20 @@ lobe-chat/ │ │ │ ├── oidc/ │ │ │ ├── trpc/ │ │ │ └── webapi/ -│ │ ├── [variants]/ -│ │ │ ├── (auth)/ -│ │ │ ├── (main)/ -│ │ │ ├── (mobile)/ -│ │ │ ├── onboarding/ -│ │ │ └── router/ -│ │ └── desktop/ +│ │ ├── spa/ # SPA HTML template service +│ │ └── [variants]/ +│ │ └── (auth)/ # Auth pages (SSR required) +│ ├── routes/ # SPA page components (Vite) +│ │ ├── (main)/ +│ │ ├── (mobile)/ +│ │ ├── (desktop)/ +│ │ ├── onboarding/ +│ │ └── share/ +│ ├── spa/ # SPA entry points and router config +│ │ ├── entry.web.tsx +│ │ ├── entry.mobile.tsx +│ │ ├── entry.desktop.tsx +│ │ └── router/ │ ├── business/ # Cloud-only (client/server) │ │ ├── client/ │ │ ├── locales/ @@ -155,6 +162,8 @@ lobe-chat/ | Layer | Location | | ---------------- | --------------------------------------------------- | | UI Components | `src/components`, `src/features` | +| SPA Pages | `src/routes/` | +| React Router | `src/spa/router/` | | Global Providers | `src/layout` | | Zustand Stores | `src/store` | | Client Services | `src/services/` | diff --git a/.agents/skills/react/SKILL.md b/.agents/skills/react/SKILL.md index 5f1d5cf2fa..ecb9490190 100644 --- a/.agents/skills/react/SKILL.md +++ b/.agents/skills/react/SKILL.md @@ -36,9 +36,9 @@ Hybrid routing: Next.js App Router (static pages) + React Router DOM (main SPA). ### Key Files -- Entry: `src/app/[variants]/page.tsx` -- Desktop router: `src/app/[variants]/router/desktopRouter.config.tsx` -- Mobile router: `src/app/[variants]/(mobile)/router/mobileRouter.config.tsx` +- Entry: `src/spa/entry.web.tsx` (web), `src/spa/entry.mobile.tsx`, `src/spa/entry.desktop.tsx` +- Desktop router: `src/spa/router/desktopRouter.config.tsx` +- Mobile router: `src/spa/router/mobileRouter.config.tsx` - Router utilities: `src/utils/router.tsx` ### Router Utilities diff --git a/.agents/skills/spa-routes/SKILL.md b/.agents/skills/spa-routes/SKILL.md new file mode 100644 index 0000000000..0cd55f3710 --- /dev/null +++ b/.agents/skills/spa-routes/SKILL.md @@ -0,0 +1,145 @@ +--- +name: spa-routes +description: SPA route and feature structure. Use when adding or modifying SPA routes in src/routes, defining new route segments, or moving route logic into src/features. Covers how to keep routes thin and how to divide files between routes and features. +--- + +# SPA Routes and Features Guide + +SPA structure: + +- **`src/spa/`** – Entry points (`entry.web.tsx`, `entry.mobile.tsx`, `entry.desktop.tsx`) and router config (`router/`). Router lives here to avoid confusion with `src/routes/`. +- **`src/routes/`** – Page segments only (roots). +- **`src/features/`** – Business logic and UI by domain. + +This project uses a **roots vs features** split: `src/routes/` only holds page segments; business logic and UI live in `src/features/` by domain. + +## When to Use This Skill + +- Adding a new SPA route or route segment +- Defining or refactoring layout/page files under `src/routes/` +- Moving route-specific components or logic into `src/features/` +- Deciding where to put a new component (route folder vs feature folder) + +--- + +## 1. What Belongs in `src/routes/` (roots) + +Each route directory should contain **only**: + +| File / folder | Purpose | +| --------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------ | +| `_layout/index.tsx` or `layout.tsx` | Layout for this segment: wrap with ``, optional shell (e.g. sidebar + main). Should be thin: prefer re-exporting or composing from `@/features/*`. | +| `index.tsx` or `page.tsx` | Page entry for this segment. Only import from features and render; no business logic. | +| `[param]/index.tsx` (e.g. `[id]`, `[cronId]`) | Dynamic segment page. Same rule: thin, delegate to features. | + +**Rule:** Route files should only **import and compose**. No new `features/` folders or heavy components inside `src/routes/`. + +--- + +## 2. What Belongs in `src/features/` + +Put **domain-oriented** UI and logic here: + +- Layout building blocks: sidebars, headers, body panels, drawers +- Hooks and store usage for that domain +- Domain-specific forms, lists, modals, etc. + +Organize by **domain** (e.g. `Pages`, `Home`, `Agent`, `PageEditor`), not by route path. One route can use several features; one feature can be used by several routes. + +Each feature should: + +- Live under `src/features//` +- Export a clear public API via `index.ts` or `index.tsx` +- Use `@/features//...` for internal imports when needed + +--- + +## 3. How to Add a New SPA Route + +1. **Choose the route group** + - `(main)/` – desktop main app + - `(mobile)/` – mobile + - `(desktop)/` – Electron-specific + - `onboarding/`, `share/` – special flows + +2. **Create only segment files under `src/routes/`** + - e.g. `src/routes/(main)/my-feature/_layout/index.tsx` and `src/routes/(main)/my-feature/index.tsx` (and optional `[id]/index.tsx`). + +3. **Implement layout and page content in `src/features/`** + - Create or reuse a domain (e.g. `src/features/MyFeature/`). + - Put layout (sidebar, header, body) and page UI there; export from the feature’s `index`. + +4. **Keep route files thin** + - Layout: `export { default } from '@/features/MyFeature/MyLayout'` or compose a few feature components + ``. + - Page: import from `@/features/MyFeature` (or a specific subpath) and render; no business logic in the route file. + +5. **Register the route** + - Add the segment to `src/spa/router/desktopRouter.config.tsx` (or the right router config) with `dynamicElement` / `dynamicLayout` pointing at the new route paths (e.g. `@/routes/(main)/my-feature`). + +--- + +## 4. How to Divide Files (route vs feature) + +| Question | Put in `src/routes/` | Put in `src/features/` | +| -------------------------------------------------------- | -------------------------------------------------------- | ---------------------------- | +| Is it the route’s layout wrapper or page entry? | Yes – `_layout/index.tsx`, `index.tsx`, `[id]/index.tsx` | No | +| Does it contain business logic or non-trivial UI? | No | Yes – under the right domain | +| Is it a reusable layout piece (sidebar, header, body)? | No | Yes | +| Is it a hook, store usage, or domain logic? | No | Yes | +| Is it only re-exporting or composing feature components? | Yes | No | + +**Examples** + +- **Route (thin):**\ + `src/routes/(main)/page/_layout/index.tsx` → `export { default } from '@/features/Pages/PageLayout'` +- **Feature (real implementation):**\ + `src/features/Pages/PageLayout/` → Sidebar, DataSync, Body, Header, styles, etc. +- **Route (thin):**\ + `src/routes/(main)/page/index.tsx` → Import `PageTitle`, `PageExplorerPlaceholder` from `@/features/Pages` and `@/features/PageExplorer`; render with `` and placeholder. +- **Feature:**\ + Page list, actions, drawers, and hooks live under `src/features/Pages/`. + +--- + +## 5. Progressive Migration (existing code) + +We are migrating existing routes to this structure step by step: + +- **Phase 1 (done):** `/page` route – segment files in `src/routes/(main)/page/`, implementation in `src/features/Pages/`. +- **Later phases:** home, settings, agent/group, community/resource/memory, mobile/share/onboarding. + +When touching an old route that still has logic or `features/` inside `src/routes/`: + +1. Prefer adding **new** code in `src/features//` and importing from routes. +2. For larger refactors, move existing route-only logic into the right feature and then thin out the route files (re-export or compose from features). +3. Use `git mv` when moving files so history is preserved. + +--- + +## 6. Reference Structure (after Phase 1) + +**Route (thin):** + +``` +src/routes/(main)/page/ +├── _layout/index.tsx → re-export or compose from @/features/Pages/PageLayout +├── index.tsx → import from @/features/Pages, @/features/PageExplorer +└── [id]/index.tsx → import from @/features/Pages, @/features/PageExplorer +``` + +**Feature (implementation):** + +``` +src/features/Pages/ +├── index.ts → export PageLayout, PageTitle +├── PageTitle.tsx +└── PageLayout/ + ├── index.tsx → Sidebar + Outlet + DataSync + ├── DataSync.tsx + ├── Sidebar.tsx + ├── style.ts + ├── Body/ → list, actions, drawer, etc. + └── Header/ → breadcrumb, add button, etc. +``` + +Router config continues to point at **route** paths (e.g. `@/routes/(main)/page`, `@/routes/(main)/page/_layout`); route files then delegate to features. diff --git a/AGENTS.md b/AGENTS.md index 722c995404..6c265f82a2 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -26,6 +26,9 @@ lobe-chat/ │ └── ... ├── src/ │ ├── app/ # Next.js app router +│ ├── spa/ # SPA entry points (entry.*.tsx) and router config +│ ├── routes/ # SPA page components (roots) +│ ├── features/ # Business components by domain │ ├── store/ # Zustand stores │ ├── services/ # Client services │ ├── server/ # Server services and routers @@ -87,19 +90,26 @@ cd packages/[package-name] && bunx vitest run --silent='passed-only' '[file-path Follow [Linear rules in CLAUDE.md](CLAUDE.md#linear-issue-management-ignore-if-not-installed-linear-mcp) when working with Linear issues. +## SPA Routes and Features + +- **`src/routes/`** holds only page segments (layout + page entry files). Keep route files thin; they should import from `@/features/*` and compose. +- **`src/features/`** holds business components by domain. Put layout pieces, hooks, and domain UI here. +- See [CLAUDE.md – SPA Routes and Features](CLAUDE.md#spa-routes-and-features) and the **spa-routes** skill for how to add new routes and how to split files. + ## Skills (Auto-loaded) All AI development skills are available in `.agents/skills/` directory: -| Category | Skills | -| ----------- | ------------------------------------------ | -| Frontend | `react`, `typescript`, `i18n`, `microcopy` | -| State | `zustand` | -| Backend | `drizzle` | -| Desktop | `desktop` | -| Testing | `testing` | -| UI | `modal`, `hotkey`, `recent-data` | -| Config | `add-provider-doc`, `add-setting-env` | -| Workflow | `linear`, `debug` | -| Performance | `vercel-react-best-practices` | -| Overview | `project-overview` | +| Category | Skills | +| ------------ | ------------------------------------------ | +| Frontend | `react`, `typescript`, `i18n`, `microcopy` | +| State | `zustand` | +| Backend | `drizzle` | +| Desktop | `desktop` | +| Testing | `testing` | +| UI | `modal`, `hotkey`, `recent-data` | +| Config | `add-provider-doc`, `add-setting-env` | +| Workflow | `linear`, `debug` | +| Architecture | `spa-routes` | +| Performance | `vercel-react-best-practices` | +| Overview | `project-overview` | diff --git a/CLAUDE.md b/CLAUDE.md index 13a27c8fd2..18e6584cbb 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -21,7 +21,21 @@ lobe-chat/ │ ├── agent-runtime/ # Agent runtime │ └── ... ├── src/ -│ ├── app/ # Next.js app router +│ ├── app/ # Next.js App Router (backend API + auth) +│ │ ├── (backend)/ # API routes (trpc, webapi, etc.) +│ │ ├── spa/ # SPA HTML template service +│ │ └── [variants]/(auth)/ # Auth pages (SSR required) +│ ├── routes/ # SPA page components (Vite) +│ │ ├── (main)/ # Desktop pages +│ │ ├── (mobile)/ # Mobile pages +│ │ ├── (desktop)/ # Desktop-specific pages +│ │ ├── onboarding/ # Onboarding pages +│ │ └── share/ # Share pages +│ ├── spa/ # SPA entry points and router config +│ │ ├── entry.web.tsx # Web entry +│ │ ├── entry.mobile.tsx +│ │ ├── entry.desktop.tsx +│ │ └── router/ # React Router configuration │ ├── store/ # Zustand stores │ ├── services/ # Client services │ ├── server/ # Server services and routers @@ -29,6 +43,26 @@ lobe-chat/ └── e2e/ # E2E tests (Cucumber + Playwright) ``` +## SPA Routes and Features + +SPA-related code is grouped under `src/spa/` (entries + router) and `src/routes/` (page segments). We use a **roots vs features** split: route trees only hold page segments; business logic and UI live in features. + +- **`src/spa/`** – SPA entry points (`entry.web.tsx`, `entry.mobile.tsx`, `entry.desktop.tsx`) and React Router config (`router/`). Keeps router config next to entries to avoid confusion with `src/routes/`. + +- **`src/routes/` (roots)**\ + Only page-segment files: `_layout/index.tsx`, `index.tsx` (or `page.tsx`), and dynamic segments like `[id]/index.tsx`. Keep these **thin**: they should only import from `@/features/*` and compose layout/page, with no business logic or heavy UI. + +- **`src/features/`**\ + Business components by **domain** (e.g. `Pages`, `PageEditor`, `Home`). Put layout chunks (sidebar, header, body), hooks, and domain-specific UI here. Each feature exposes an `index.ts` (or `index.tsx`) with clear exports. + +When adding or changing SPA routes: + +1. In `src/routes/`, add only the route segment files (layout + page) that delegate to features. +2. Implement layout and page content under `src/features//` and export from there. +3. In route files, use `import { X } from '@/features/'` (or `import Y from '@/features//...'`). Do not add new `features/` folders inside `src/routes/`. + +See the **spa-routes** skill (`.agents/skills/spa-routes/SKILL.md`) for the full convention and file-division rules. + ## Development ### Starting the Dev Environment diff --git a/apps/desktop/index.html b/apps/desktop/index.html index 73d8d12586..b54833c64a 100644 --- a/apps/desktop/index.html +++ b/apps/desktop/index.html @@ -85,6 +85,6 @@ - + diff --git a/index.html b/index.html index c8c79be8a8..124faa05d0 100644 --- a/index.html +++ b/index.html @@ -136,6 +136,6 @@
- + diff --git a/index.mobile.html b/index.mobile.html index 4bdd5bb5ed..d92a9c36d4 100644 --- a/index.mobile.html +++ b/index.mobile.html @@ -63,6 +63,6 @@
- + diff --git a/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx b/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx deleted file mode 100644 index 249bd457b9..0000000000 --- a/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx +++ /dev/null @@ -1,2 +0,0 @@ -// Re-export from chat version to avoid code duplication -export { default } from '@/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert'; diff --git a/src/app/[variants]/(main)/image/loading.tsx b/src/app/[variants]/(main)/image/loading.tsx deleted file mode 100644 index 4b3f9beffc..0000000000 --- a/src/app/[variants]/(main)/image/loading.tsx +++ /dev/null @@ -1,3 +0,0 @@ -import Loading from '@/components/Loading/BrandTextLoading'; - -export default () => ; diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx b/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx deleted file mode 100644 index 55220b0efe..0000000000 --- a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx +++ /dev/null @@ -1,98 +0,0 @@ -import { Icon } from '@lobehub/ui'; -import { cssVar } from 'antd-style'; -import { Loader2Icon } from 'lucide-react'; -import { type CSSProperties } from 'react'; -import React, { memo, useCallback, useMemo } from 'react'; -import { useNavigate } from 'react-router-dom'; - -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import RepoIcon from '@/components/LibIcon'; -import NavItem from '@/features/NavPanel/components/NavItem'; -import { useKnowledgeBaseStore } from '@/store/library'; - -import Actions from './Actions'; -import Editing from './Editing'; -import { useDropdownMenu } from './useDropdownMenu'; - -interface KnowledgeBaseItemProps { - active?: boolean; - className?: string; - description?: string | null; - id: string; - name: string; - style?: CSSProperties; -} - -const KnowledgeBaseItem = memo(({ id, name, description, active, style, className }) => { - const setLibraryId = useResourceManagerStore((s) => s.setLibraryId); - const navigate = useNavigate(); - - const [editing, isLoading] = useKnowledgeBaseStore((s) => [ - s.knowledgeBaseRenamingId === id, - s.knowledgeBaseLoadingIds.includes(id), - ]); - - const toggleEditing = useCallback( - (visible?: boolean) => { - useKnowledgeBaseStore.setState( - { knowledgeBaseRenamingId: visible ? id : null }, - false, - 'toggleEditing', - ); - }, - [id], - ); - - const handleClick = useCallback(() => { - if (!editing) { - navigate(`/resource/library/${id}`); - setLibraryId(id); - } - }, [editing, navigate, id]); - - const handleDoubleClick = useCallback( - (e: React.MouseEvent) => { - if (e.altKey) { - toggleEditing(true); - } - }, - [toggleEditing], - ); - - // Icon (show loader when updating) - const icon = useMemo(() => { - if (isLoading) { - return ; - } - return ; - }, [isLoading]); - - const dropdownMenu = useDropdownMenu({ - description, - id, - name, - toggleEditing, - }); - - return ( - <> - } - active={active} - className={className} - contextMenuItems={dropdownMenu} - disabled={editing} - icon={icon} - key={id} - loading={isLoading} - style={style} - title={name} - onClick={handleClick} - onDoubleClick={handleDoubleClick} - /> - - - ); -}); - -export default KnowledgeBaseItem; diff --git a/src/features/ChatInput/ActionBar/Tools/ToolsList.tsx b/src/features/ChatInput/ActionBar/Tools/ToolsList.tsx index 78218ab1a1..3d448052ce 100644 --- a/src/features/ChatInput/ActionBar/Tools/ToolsList.tsx +++ b/src/features/ChatInput/ActionBar/Tools/ToolsList.tsx @@ -7,8 +7,7 @@ import { Fragment, isValidElement, memo } from 'react'; export const toolsListStyles = createStaticStyles(({ css }) => ({ groupLabel: css` - padding-block-start: 12px; - padding-block-end: 4px; + padding-block: 12px 4px; padding-inline: 12px; `, item: css` diff --git a/src/features/CommandMenu/useCommandMenu.ts b/src/features/CommandMenu/useCommandMenu.ts index 66dcdc9539..260d0b6729 100644 --- a/src/features/CommandMenu/useCommandMenu.ts +++ b/src/features/CommandMenu/useCommandMenu.ts @@ -4,12 +4,12 @@ import { useCallback, useEffect, useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; import useSWR from 'swr'; -import { useCreateMenuItems } from '@/app/[variants]/(main)/home/_layout/hooks'; import { isDesktop } from '@/const/version'; import { type SearchResult } from '@/database/repositories/search'; import { useCreateNewModal } from '@/features/LibraryModal'; import { useGroupWizard } from '@/layout/GlobalProvider/GroupWizardProvider'; import { lambdaClient } from '@/libs/trpc/client'; +import { useCreateMenuItems } from '@/routes/(main)/home/_layout/hooks'; import { electronSystemService } from '@/services/electron/system'; import { useAgentStore } from '@/store/agent'; import { builtinAgentSelectors } from '@/store/agent/selectors/builtinAgentSelectors'; diff --git a/src/features/DesktopFileMenuBridge/index.tsx b/src/features/DesktopFileMenuBridge/index.tsx index 95d4fe2750..979a59af7e 100644 --- a/src/features/DesktopFileMenuBridge/index.tsx +++ b/src/features/DesktopFileMenuBridge/index.tsx @@ -5,7 +5,7 @@ import { useWatchBroadcast } from '@lobechat/electron-client-ipc'; import { useCallback } from 'react'; import { useNavigate } from 'react-router-dom'; -import { useCreateMenuItems } from '@/app/[variants]/(main)/home/_layout/hooks/useCreateMenuItems'; +import { useCreateMenuItems } from '@/routes/(main)/home/_layout/hooks/useCreateMenuItems'; import { useAgentStore } from '@/store/agent'; import { builtinAgentSelectors } from '@/store/agent/selectors'; diff --git a/src/features/Electron/AuthRequiredModal/index.tsx b/src/features/Electron/AuthRequiredModal/index.tsx index d96a548846..4db264d2d3 100644 --- a/src/features/Electron/AuthRequiredModal/index.tsx +++ b/src/features/Electron/AuthRequiredModal/index.tsx @@ -7,7 +7,7 @@ import { AlertCircle, LogIn } from 'lucide-react'; import { memo, useCallback, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { getDesktopOnboardingCompleted } from '@/app/[variants]/(desktop)/desktop-onboarding/storage'; +import { getDesktopOnboardingCompleted } from '@/routes/(desktop)/desktop-onboarding/storage'; import { useElectronStore } from '@/store/electron'; interface AuthRequiredModalContentProps { diff --git a/src/features/Electron/connection/Connection.tsx b/src/features/Electron/connection/Connection.tsx index 1381e417e2..45980d932b 100644 --- a/src/features/Electron/connection/Connection.tsx +++ b/src/features/Electron/connection/Connection.tsx @@ -3,8 +3,8 @@ import { Drawer } from 'antd'; import { createStaticStyles, cssVar } from 'antd-style'; import { Suspense, useCallback } from 'react'; -import LoginStep from '@/app/[variants]/(desktop)/desktop-onboarding/features/LoginStep'; import { BrandTextLoading } from '@/components/Loading'; +import LoginStep from '@/routes/(desktop)/desktop-onboarding/features/LoginStep'; import { useElectronStore } from '@/store/electron'; import { isMacOS } from '@/utils/platform'; diff --git a/src/features/MCPPluginDetail/CollapseLayout.tsx b/src/features/MCPPluginDetail/CollapseLayout.tsx index c65796d801..07da304f60 100644 --- a/src/features/MCPPluginDetail/CollapseLayout.tsx +++ b/src/features/MCPPluginDetail/CollapseLayout.tsx @@ -2,8 +2,8 @@ import { Flexbox } from '@lobehub/ui'; import { type ReactNode } from 'react'; import { memo } from 'react'; -import { type TitleProps } from '../../app/[variants]/(main)/community/features/Title'; -import Title from '../../app/[variants]/(main)/community/features/Title'; +import { type TitleProps } from '@/routes/(main)/community/features/Title'; +import Title from '@/routes/(main)/community/features/Title'; export type CollapseItemType = { children: ReactNode; diff --git a/src/features/MCPPluginDetail/Deployment/index.tsx b/src/features/MCPPluginDetail/Deployment/index.tsx index a4a6899e1d..4be94100c0 100644 --- a/src/features/MCPPluginDetail/Deployment/index.tsx +++ b/src/features/MCPPluginDetail/Deployment/index.tsx @@ -28,9 +28,9 @@ import { useTranslation } from 'react-i18next'; import Descriptions from '@/components/Descriptions'; import InlineTable from '@/components/InlineTable'; +import Title from '@/routes/(main)/community/features/Title'; import { markdownToTxt } from '@/utils/markdownToTxt'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; import InstallationIcon from '../../../components/MCPDepsIcon'; import CollapseDesc from '../CollapseDesc'; import CollapseLayout from '../CollapseLayout'; diff --git a/src/features/MCPPluginDetail/Overview/index.tsx b/src/features/MCPPluginDetail/Overview/index.tsx index 415c23d23c..354c03df41 100644 --- a/src/features/MCPPluginDetail/Overview/index.tsx +++ b/src/features/MCPPluginDetail/Overview/index.tsx @@ -3,9 +3,10 @@ import qs from 'query-string'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MarkdownRender from '../../../app/[variants]/(main)/community/(detail)/features/MakedownRender'; -import McpList from '../../../app/[variants]/(main)/community/(list)/mcp/features/List'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; +import MarkdownRender from '@/routes/(main)/community/(detail)/features/MakedownRender'; +import McpList from '@/routes/(main)/community/(list)/mcp/features/List'; +import Title from '@/routes/(main)/community/features/Title'; + import { useDetailContext } from '../DetailProvider'; import TagList from './TagList'; diff --git a/src/features/MCPPluginDetail/Schema/Block.tsx b/src/features/MCPPluginDetail/Schema/Block.tsx index 01ab65979a..ecac5e9b06 100644 --- a/src/features/MCPPluginDetail/Schema/Block.tsx +++ b/src/features/MCPPluginDetail/Schema/Block.tsx @@ -3,7 +3,8 @@ import { type ReactNode } from 'react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; +import Title from '@/routes/(main)/community/features/Title'; + import { ModeType } from './types'; interface BlockProps { diff --git a/src/features/MCPPluginDetail/Schema/Prompts.tsx b/src/features/MCPPluginDetail/Schema/Prompts.tsx index 17c9581277..fc3356bf58 100644 --- a/src/features/MCPPluginDetail/Schema/Prompts.tsx +++ b/src/features/MCPPluginDetail/Schema/Prompts.tsx @@ -5,9 +5,9 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import InlineTable from '@/components/InlineTable'; +import Title from '@/routes/(main)/community/features/Title'; import { markdownToTxt } from '@/utils/markdownToTxt'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; import CollapseDesc from '../CollapseDesc'; import CollapseLayout from '../CollapseLayout'; import { useDetailContext } from '../DetailProvider'; diff --git a/src/features/MCPPluginDetail/Schema/Tools.tsx b/src/features/MCPPluginDetail/Schema/Tools.tsx index 2f0b2b5ec8..0d0bb245a4 100644 --- a/src/features/MCPPluginDetail/Schema/Tools.tsx +++ b/src/features/MCPPluginDetail/Schema/Tools.tsx @@ -5,9 +5,9 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import InlineTable from '@/components/InlineTable'; +import Title from '@/routes/(main)/community/features/Title'; import { markdownToTxt } from '@/utils/markdownToTxt'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; import CollapseDesc from '../CollapseDesc'; import CollapseLayout from '../CollapseLayout'; import { useDetailContext } from '../DetailProvider'; diff --git a/src/features/MCPPluginDetail/Score/ScoreItem.tsx b/src/features/MCPPluginDetail/Score/ScoreItem.tsx index 123e0ba662..a96b3a6096 100644 --- a/src/features/MCPPluginDetail/Score/ScoreItem.tsx +++ b/src/features/MCPPluginDetail/Score/ScoreItem.tsx @@ -4,7 +4,7 @@ import { BanIcon, CircleCheckBigIcon, CircleDashedIcon } from 'lucide-react'; import { type ReactNode } from 'react'; import { memo } from 'react'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; +import Title from '@/routes/(main)/community/features/Title'; export interface ScoreItemProps { check: boolean; diff --git a/src/features/MCPPluginDetail/Score/index.tsx b/src/features/MCPPluginDetail/Score/index.tsx index 024d6fcee4..de2dbc36de 100644 --- a/src/features/MCPPluginDetail/Score/index.tsx +++ b/src/features/MCPPluginDetail/Score/index.tsx @@ -9,8 +9,8 @@ import { sortItemsByPriority, } from '@/features/MCP/calculateScore'; import { useScoreList } from '@/features/MCP/useScoreList'; +import Title from '@/routes/(main)/community/features/Title'; -import Title from '../../../app/[variants]/(main)/community/features/Title'; import { useDetailContext } from '../DetailProvider'; import GithubBadge from './GithubBadge'; import ScoreList from './ScoreList'; diff --git a/src/features/NavPanel/SideBarLayout.tsx b/src/features/NavPanel/SideBarLayout.tsx index e9bee9935f..8b8a965cf6 100644 --- a/src/features/NavPanel/SideBarLayout.tsx +++ b/src/features/NavPanel/SideBarLayout.tsx @@ -2,8 +2,8 @@ import { Flexbox, ScrollShadow, TooltipGroup } from '@lobehub/ui'; import { type ReactNode } from 'react'; import { memo, Suspense } from 'react'; -import Footer from '@/app/[variants]/(main)/home/_layout/Footer'; import SkeletonList, { SkeletonItem } from '@/features/NavPanel/components/SkeletonList'; +import Footer from '@/routes/(main)/home/_layout/Footer'; interface SidebarLayoutProps { body?: ReactNode; diff --git a/src/features/NavPanel/components/NavPanelDraggable.tsx b/src/features/NavPanel/components/NavPanelDraggable.tsx index b737c89161..81c43a482a 100644 --- a/src/features/NavPanel/components/NavPanelDraggable.tsx +++ b/src/features/NavPanel/components/NavPanelDraggable.tsx @@ -3,12 +3,12 @@ import { DraggablePanel, Freeze } from '@lobehub/ui'; import { createStaticStyles, cssVar } from 'antd-style'; import { AnimatePresence, motion, useIsPresent } from 'motion/react'; -import { type ReactNode } from 'react'; +import { type ReactNode } from 'react'; import { memo, useLayoutEffect, useMemo, useRef } from 'react'; -import { USER_DROPDOWN_ICON_ID } from '@/app/[variants]/(main)/home/_layout/Header/components/User'; import { isDesktop } from '@/const/version'; import { TOGGLE_BUTTON_ID } from '@/features/NavPanel/ToggleLeftPanelButton'; +import { USER_DROPDOWN_ICON_ID } from '@/routes/(main)/home/_layout/Header/components/User'; import { useGlobalStore } from '@/store/global'; import { systemStatusSelectors } from '@/store/global/selectors'; import { useUserStore } from '@/store/user'; diff --git a/src/features/NavPanel/index.tsx b/src/features/NavPanel/index.tsx index d7d43fc9f7..9017d1f0d5 100644 --- a/src/features/NavPanel/index.tsx +++ b/src/features/NavPanel/index.tsx @@ -3,7 +3,8 @@ import { type PropsWithChildren, type ReactNode } from 'react'; import { memo, useLayoutEffect, useSyncExternalStore } from 'react'; -import Sidebar from '../../app/[variants]/(main)/home/_layout/Sidebar'; +import Sidebar from '@/routes/(main)/home/_layout/Sidebar'; + import { NavPanelDraggable } from './components/NavPanelDraggable'; export const NAV_PANEL_RIGHT_DRAWER_ID = 'nav-panel-drawer'; diff --git a/src/features/PageEditor/Copilot/AgentSelector/AgentItem.tsx b/src/features/PageEditor/Copilot/AgentSelector/AgentItem.tsx index fc117572c2..1e21853b50 100644 --- a/src/features/PageEditor/Copilot/AgentSelector/AgentItem.tsx +++ b/src/features/PageEditor/Copilot/AgentSelector/AgentItem.tsx @@ -2,8 +2,8 @@ import { type GroupMemberAvatar } from '@lobechat/types'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import AgentAvatar from '@/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar'; import NavItem from '@/features/NavPanel/components/NavItem'; +import AgentAvatar from '@/routes/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar'; interface AgentItemProps { active: boolean; diff --git a/src/features/PageEditor/Copilot/AgentSelector/AgentSelectorAction.tsx b/src/features/PageEditor/Copilot/AgentSelector/AgentSelectorAction.tsx index da1b881bf2..0b78efb315 100644 --- a/src/features/PageEditor/Copilot/AgentSelector/AgentSelectorAction.tsx +++ b/src/features/PageEditor/Copilot/AgentSelector/AgentSelectorAction.tsx @@ -4,10 +4,10 @@ import { ChevronsUpDownIcon } from 'lucide-react'; import { memo, Suspense, useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import AgentAvatar from '@/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar'; -import { AgentModalProvider } from '@/app/[variants]/(main)/home/_layout/Body/Agent/ModalProvider'; import SkeletonList from '@/features/NavPanel/components/SkeletonList'; import { useFetchAgentList } from '@/hooks/useFetchAgentList'; +import AgentAvatar from '@/routes/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar'; +import { AgentModalProvider } from '@/routes/(main)/home/_layout/Body/Agent/ModalProvider'; import { useAgentStore } from '@/store/agent'; import { useHomeStore } from '@/store/home'; import { homeAgentListSelectors } from '@/store/home/selectors'; diff --git a/src/features/PageExplorer/index.tsx b/src/features/PageExplorer/index.tsx index 749963ee56..84546084f7 100644 --- a/src/features/PageExplorer/index.tsx +++ b/src/features/PageExplorer/index.tsx @@ -12,7 +12,7 @@ interface PageExplorerProps { /** * Dedicated for the /page route * - * Work together with a sidebar src/app/[variants]/(main)/page/_layout/Body/index.tsx + * Work together with a sidebar @/features/Pages/PageLayout/Body */ const PageExplorer = memo(({ pageId }) => { const updatePageOptimistically = usePageStore((s) => s.updatePageOptimistically); diff --git a/src/app/[variants]/(main)/page/_layout/Body/Actions.tsx b/src/features/Pages/PageLayout/Body/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/Actions.tsx rename to src/features/Pages/PageLayout/Body/Actions.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/AllPagesDrawer/Content.tsx b/src/features/Pages/PageLayout/Body/AllPagesDrawer/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/AllPagesDrawer/Content.tsx rename to src/features/Pages/PageLayout/Body/AllPagesDrawer/Content.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/AllPagesDrawer/index.tsx b/src/features/Pages/PageLayout/Body/AllPagesDrawer/index.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/AllPagesDrawer/index.tsx rename to src/features/Pages/PageLayout/Body/AllPagesDrawer/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/Actions.tsx b/src/features/Pages/PageLayout/Body/List/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/Actions.tsx rename to src/features/Pages/PageLayout/Body/List/Item/Actions.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/List/Item/Editing.tsx b/src/features/Pages/PageLayout/Body/List/Item/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/List/Item/Editing.tsx rename to src/features/Pages/PageLayout/Body/List/Item/Editing.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/List/Item/index.tsx b/src/features/Pages/PageLayout/Body/List/Item/index.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/List/Item/index.tsx rename to src/features/Pages/PageLayout/Body/List/Item/index.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/List/Item/useDropdownMenu.tsx b/src/features/Pages/PageLayout/Body/List/Item/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/List/Item/useDropdownMenu.tsx rename to src/features/Pages/PageLayout/Body/List/Item/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/List/index.tsx b/src/features/Pages/PageLayout/Body/List/index.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/List/index.tsx rename to src/features/Pages/PageLayout/Body/List/index.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/index.tsx b/src/features/Pages/PageLayout/Body/index.tsx similarity index 98% rename from src/app/[variants]/(main)/page/_layout/Body/index.tsx rename to src/features/Pages/PageLayout/Body/index.tsx index 9d95ebc64a..6683870c3d 100644 --- a/src/app/[variants]/(main)/page/_layout/Body/index.tsx +++ b/src/features/Pages/PageLayout/Body/index.tsx @@ -1,7 +1,7 @@ 'use client'; import { Accordion, AccordionItem, ContextMenuTrigger, Flexbox, Text } from '@lobehub/ui'; -import React, { memo,Suspense } from 'react'; +import React, { memo, Suspense } from 'react'; import { useTranslation } from 'react-i18next'; import SkeletonList from '@/features/NavPanel/components/SkeletonList'; diff --git a/src/app/[variants]/(main)/page/_layout/Body/useDropdownMenu.tsx b/src/features/Pages/PageLayout/Body/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/useDropdownMenu.tsx rename to src/features/Pages/PageLayout/Body/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/page/_layout/DataSync.tsx b/src/features/Pages/PageLayout/DataSync.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/DataSync.tsx rename to src/features/Pages/PageLayout/DataSync.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Header/AddButton.tsx b/src/features/Pages/PageLayout/Header/AddButton.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Header/AddButton.tsx rename to src/features/Pages/PageLayout/Header/AddButton.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Header/index.tsx b/src/features/Pages/PageLayout/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Header/index.tsx rename to src/features/Pages/PageLayout/Header/index.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Sidebar.tsx b/src/features/Pages/PageLayout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Sidebar.tsx rename to src/features/Pages/PageLayout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/page/_layout/index.tsx b/src/features/Pages/PageLayout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/index.tsx rename to src/features/Pages/PageLayout/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/style.ts b/src/features/Pages/PageLayout/style.ts similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/style.ts rename to src/features/Pages/PageLayout/style.ts diff --git a/src/app/[variants]/(main)/page/PageTitle/index.tsx b/src/features/Pages/PageTitle.tsx similarity index 100% rename from src/app/[variants]/(main)/page/PageTitle/index.tsx rename to src/features/Pages/PageTitle.tsx diff --git a/src/features/Pages/index.ts b/src/features/Pages/index.ts new file mode 100644 index 0000000000..07f0acb15c --- /dev/null +++ b/src/features/Pages/index.ts @@ -0,0 +1,2 @@ +export { default as PageLayout } from './PageLayout'; +export { default as PageTitle } from './PageTitle'; diff --git a/src/features/ResourceManager/components/Editor/FileDetail.tsx b/src/features/ResourceManager/components/Editor/FileDetail.tsx index 771cbfd5c9..170eaba146 100644 --- a/src/features/ResourceManager/components/Editor/FileDetail.tsx +++ b/src/features/ResourceManager/components/Editor/FileDetail.tsx @@ -2,7 +2,7 @@ import { memo } from 'react'; -import FileDetailComponent from '@/app/[variants]/(main)/resource/features/FileDetail'; +import FileDetailComponent from '@/routes/(main)/resource/features/FileDetail'; import { fileManagerSelectors, useFileStore } from '@/store/file'; interface FileDetailProps { diff --git a/src/features/ResourceManager/components/Editor/index.tsx b/src/features/ResourceManager/components/Editor/index.tsx index a24704b7a8..82115e63c6 100644 --- a/src/features/ResourceManager/components/Editor/index.tsx +++ b/src/features/ResourceManager/components/Editor/index.tsx @@ -8,11 +8,11 @@ import { ArrowLeftIcon, DownloadIcon, InfoIcon } from 'lucide-react'; import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import FileDetailComponent from '@/app/[variants]/(main)/resource/features/FileDetail'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import Loading from '@/components/Loading/BrandTextLoading'; import NavHeader from '@/features/NavHeader'; import PageAgentProvider from '@/features/PageEditor/PageAgentProvider'; +import FileDetailComponent from '@/routes/(main)/resource/features/FileDetail'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useAgentStore } from '@/store/agent'; import { builtinAgentSelectors } from '@/store/agent/selectors'; import { fileManagerSelectors, useFileStore } from '@/store/file'; @@ -39,7 +39,12 @@ const FileEditorCanvas = memo(({ onBack }) => { + { const { t } = useTranslation('components'); diff --git a/src/features/ResourceManager/components/Explorer/Header/index.tsx b/src/features/ResourceManager/components/Explorer/Header/index.tsx index 1300a4ac3f..2d4e004eae 100644 --- a/src/features/ResourceManager/components/Explorer/Header/index.tsx +++ b/src/features/ResourceManager/components/Explorer/Header/index.tsx @@ -7,8 +7,8 @@ import { BookMinusIcon, FileBoxIcon, Trash2Icon } from 'lucide-react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import NavHeader from '@/features/NavHeader'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { FilesTabs } from '@/types/files'; import AddButton from '../../Header/AddButton'; diff --git a/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx b/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx index 02aedfbbae..2e1fff8729 100644 --- a/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx +++ b/src/features/ResourceManager/components/Explorer/ListView/ListItem/index.tsx @@ -18,15 +18,15 @@ import { memo, useCallback, useEffect, useMemo, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { shallow } from 'zustand/shallow'; +import FileIcon from '@/components/FileIcon'; +import { clearTreeFolderCache } from '@/features/ResourceManager/components/LibraryHierarchy'; +import { PAGE_FILE_TYPE } from '@/features/ResourceManager/constants'; import { getTransparentDragImage, useDragActive, useDragState, -} from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import FileIcon from '@/components/FileIcon'; -import { clearTreeFolderCache } from '@/features/ResourceManager/components/LibraryHierarchy'; -import { PAGE_FILE_TYPE } from '@/features/ResourceManager/constants'; +} from '@/routes/(main)/resource/features/DndContextWrapper'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { fileManagerSelectors, useFileStore } from '@/store/file'; import { type FileListItem as FileListItemType } from '@/types/files'; import { formatSize } from '@/utils/format'; diff --git a/src/features/ResourceManager/components/Explorer/ListView/index.tsx b/src/features/ResourceManager/components/Explorer/ListView/index.tsx index 36e5f31c2b..7cbfdff799 100644 --- a/src/features/ResourceManager/components/Explorer/ListView/index.tsx +++ b/src/features/ResourceManager/components/Explorer/ListView/index.tsx @@ -9,13 +9,13 @@ import { useTranslation } from 'react-i18next'; import { type VirtuosoHandle } from 'react-virtuoso'; import { Virtuoso } from 'react-virtuoso'; -import { useDragActive } from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; -import { useFolderPath } from '@/app/[variants]/(main)/resource/features/hooks/useFolderPath'; +import { useDragActive } from '@/routes/(main)/resource/features/DndContextWrapper'; +import { useFolderPath } from '@/routes/(main)/resource/features/hooks/useFolderPath'; import { useResourceManagerFetchFolderBreadcrumb, useResourceManagerStore, -} from '@/app/[variants]/(main)/resource/features/store'; -import { sortFileList } from '@/app/[variants]/(main)/resource/features/store/selectors'; +} from '@/routes/(main)/resource/features/store'; +import { sortFileList } from '@/routes/(main)/resource/features/store/selectors'; import { useFileStore } from '@/store/file'; import { useFetchResources } from '@/store/file/slices/resource/hooks'; import { useGlobalStore } from '@/store/global'; diff --git a/src/features/ResourceManager/components/Explorer/MasonryView/MasonryItem/index.tsx b/src/features/ResourceManager/components/Explorer/MasonryView/MasonryItem/index.tsx index 49d2854174..5fc6431d3f 100644 --- a/src/features/ResourceManager/components/Explorer/MasonryView/MasonryItem/index.tsx +++ b/src/features/ResourceManager/components/Explorer/MasonryView/MasonryItem/index.tsx @@ -6,7 +6,7 @@ import { getTransparentDragImage, useDragActive, useDragState, -} from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; +} from '@/routes/(main)/resource/features/DndContextWrapper'; import { documentService } from '@/services/document'; import { type FileListItem } from '@/types/files'; diff --git a/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx b/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx index f176286323..5e1b8115d0 100644 --- a/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx +++ b/src/features/ResourceManager/components/Explorer/MasonryView/index.tsx @@ -7,8 +7,8 @@ import { type UIEvent } from 'react'; import { memo, useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import { sortFileList } from '@/app/[variants]/(main)/resource/features/store/selectors'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; +import { sortFileList } from '@/routes/(main)/resource/features/store/selectors'; import { useFileStore } from '@/store/file'; import { useFetchResources } from '@/store/file/slices/resource/hooks'; import { type FileListItem } from '@/types/files'; diff --git a/src/features/ResourceManager/components/Explorer/SearchResultsOverlay.tsx b/src/features/ResourceManager/components/Explorer/SearchResultsOverlay.tsx index 7cc7b57041..2ce62a6bcd 100644 --- a/src/features/ResourceManager/components/Explorer/SearchResultsOverlay.tsx +++ b/src/features/ResourceManager/components/Explorer/SearchResultsOverlay.tsx @@ -8,9 +8,9 @@ import { memo, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Virtuoso } from 'react-virtuoso'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import NeuralNetworkLoading from '@/components/NeuralNetworkLoading'; import { useClientDataSWR } from '@/libs/swr'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { resourceService } from '@/services/resource'; import { useGlobalStore } from '@/store/global'; import { INITIAL_STATUS } from '@/store/global/initialState'; diff --git a/src/features/ResourceManager/components/Explorer/ToolBar/BatchActionsDropdown.tsx b/src/features/ResourceManager/components/Explorer/ToolBar/BatchActionsDropdown.tsx index 81e36954da..efa465754e 100644 --- a/src/features/ResourceManager/components/Explorer/ToolBar/BatchActionsDropdown.tsx +++ b/src/features/ResourceManager/components/Explorer/ToolBar/BatchActionsDropdown.tsx @@ -11,8 +11,8 @@ import { import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import RepoIcon from '@/components/LibIcon'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useKnowledgeBaseStore } from '@/store/library'; import ActionIconWithChevron from './ActionIconWithChevron'; diff --git a/src/features/ResourceManager/components/Explorer/ToolBar/MultiSelectActions.tsx b/src/features/ResourceManager/components/Explorer/ToolBar/MultiSelectActions.tsx index d893a1d770..b3c823e9ae 100644 --- a/src/features/ResourceManager/components/Explorer/ToolBar/MultiSelectActions.tsx +++ b/src/features/ResourceManager/components/Explorer/ToolBar/MultiSelectActions.tsx @@ -5,7 +5,7 @@ import { BookMinusIcon, BookPlusIcon, FileBoxIcon, Trash2Icon } from 'lucide-rea import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; const styles = createStaticStyles(({ css }) => ({ total: css` diff --git a/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx b/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx index 54a71a06e8..b41f0e23bd 100644 --- a/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx +++ b/src/features/ResourceManager/components/Explorer/ToolBar/SortDropdown.tsx @@ -4,8 +4,8 @@ import { ArrowDownAZ, CalendarIcon, Check, HardDriveIcon } from 'lucide-react'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import { type MenuProps } from '@/components/Menu'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import ActionIconWithChevron from './ActionIconWithChevron'; diff --git a/src/features/ResourceManager/components/Explorer/hooks/useFileItemClick.ts b/src/features/ResourceManager/components/Explorer/hooks/useFileItemClick.ts index 483737a3f8..18a7b68adf 100644 --- a/src/features/ResourceManager/components/Explorer/hooks/useFileItemClick.ts +++ b/src/features/ResourceManager/components/Explorer/hooks/useFileItemClick.ts @@ -1,7 +1,7 @@ import { useCallback } from 'react'; import { useNavigate, useSearchParams } from 'react-router-dom'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; export interface UseFileItemClickOptions { id: string; diff --git a/src/features/ResourceManager/components/Explorer/hooks/useFileSelection.ts b/src/features/ResourceManager/components/Explorer/hooks/useFileSelection.ts index cd4e14c211..8d08e37185 100644 --- a/src/features/ResourceManager/components/Explorer/hooks/useFileSelection.ts +++ b/src/features/ResourceManager/components/Explorer/hooks/useFileSelection.ts @@ -1,6 +1,6 @@ import { useCallback, useEffect, useState } from 'react'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { type FileListItem } from '@/types/files'; /** diff --git a/src/features/ResourceManager/components/Explorer/hooks/useViewMode.ts b/src/features/ResourceManager/components/Explorer/hooks/useViewMode.ts index 09a9bc1216..be05c0dff9 100644 --- a/src/features/ResourceManager/components/Explorer/hooks/useViewMode.ts +++ b/src/features/ResourceManager/components/Explorer/hooks/useViewMode.ts @@ -1,8 +1,8 @@ import { useCallback, useEffect } from 'react'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import { type ViewMode } from '@/app/[variants]/(main)/resource/features/store/initialState'; import { parseAsStringEnum, useQueryState } from '@/hooks/useQueryParam'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; +import { type ViewMode } from '@/routes/(main)/resource/features/store/initialState'; /** * Hook to manage view mode with URL query sync diff --git a/src/features/ResourceManager/components/Explorer/index.tsx b/src/features/ResourceManager/components/Explorer/index.tsx index cabc82c8ec..31e436f622 100644 --- a/src/features/ResourceManager/components/Explorer/index.tsx +++ b/src/features/ResourceManager/components/Explorer/index.tsx @@ -3,10 +3,10 @@ import { Flexbox } from '@lobehub/ui'; import { memo, useEffect, useMemo } from 'react'; -import { useFolderPath } from '@/app/[variants]/(main)/resource/features/hooks/useFolderPath'; -import { useResourceManagerUrlSync } from '@/app/[variants]/(main)/resource/features/hooks/useResourceManagerUrlSync'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import { sortFileList } from '@/app/[variants]/(main)/resource/features/store/selectors'; +import { useFolderPath } from '@/routes/(main)/resource/features/hooks/useFolderPath'; +import { useResourceManagerUrlSync } from '@/routes/(main)/resource/features/hooks/useResourceManagerUrlSync'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; +import { sortFileList } from '@/routes/(main)/resource/features/store/selectors'; import { useFetchResources, useResourceStore } from '@/store/file/slices/resource/hooks'; import EmptyPlaceholder from './EmptyPlaceholder'; diff --git a/src/features/ResourceManager/components/Explorer/useResourceExplorer.ts b/src/features/ResourceManager/components/Explorer/useResourceExplorer.ts index 479237a40b..3fdd3e6f1f 100644 --- a/src/features/ResourceManager/components/Explorer/useResourceExplorer.ts +++ b/src/features/ResourceManager/components/Explorer/useResourceExplorer.ts @@ -1,16 +1,16 @@ import { useCallback, useEffect } from 'react'; import { useSearchParams } from 'react-router-dom'; -import { useFolderPath } from '@/app/[variants]/(main)/resource/features/hooks/useFolderPath'; +import { useAddFilesToKnowledgeBaseModal } from '@/features/LibraryModal'; +import { useFolderPath } from '@/routes/(main)/resource/features/hooks/useFolderPath'; import { useResourceManagerFetchFolderBreadcrumb, useResourceManagerFetchKnowledgeItem, useResourceManagerFetchKnowledgeItems, useResourceManagerStore, -} from '@/app/[variants]/(main)/resource/features/store'; -import { type MultiSelectActionType } from '@/app/[variants]/(main)/resource/features/store/action'; -import { selectors, sortFileList } from '@/app/[variants]/(main)/resource/features/store/selectors'; -import { useAddFilesToKnowledgeBaseModal } from '@/features/LibraryModal'; +} from '@/routes/(main)/resource/features/store'; +import { type MultiSelectActionType } from '@/routes/(main)/resource/features/store/action'; +import { selectors, sortFileList } from '@/routes/(main)/resource/features/store/selectors'; import { fileManagerSelectors, useFileStore } from '@/store/file'; import { type FilesTabs } from '@/types/files'; diff --git a/src/features/ResourceManager/components/Header/AddButton.tsx b/src/features/ResourceManager/components/Header/AddButton.tsx index 0fbad0a965..4734fa5fa5 100644 --- a/src/features/ResourceManager/components/Header/AddButton.tsx +++ b/src/features/ResourceManager/components/Header/AddButton.tsx @@ -10,10 +10,10 @@ import { type ChangeEvent } from 'react'; import { useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import { message } from '@/components/AntdStaticMethods'; import GuideModal from '@/components/GuideModal'; import GuideVideo from '@/components/GuideVideo'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useFileStore } from '@/store/file'; import { FilesTabs } from '@/types/files'; diff --git a/src/features/ResourceManager/components/LibraryHierarchy/HierarchyNode.tsx b/src/features/ResourceManager/components/LibraryHierarchy/HierarchyNode.tsx index 8aa75e6b02..c749c11651 100644 --- a/src/features/ResourceManager/components/LibraryHierarchy/HierarchyNode.tsx +++ b/src/features/ResourceManager/components/LibraryHierarchy/HierarchyNode.tsx @@ -9,14 +9,14 @@ import * as motion from 'motion/react-m'; import React, { memo, useCallback, useMemo, useRef, useState } from 'react'; import { useNavigate } from 'react-router-dom'; +import FileIcon from '@/components/FileIcon'; +import { PAGE_FILE_TYPE } from '@/features/ResourceManager/constants'; import { getTransparentDragImage, useDragActive, useDragState, -} from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; -import FileIcon from '@/components/FileIcon'; -import { PAGE_FILE_TYPE } from '@/features/ResourceManager/constants'; +} from '@/routes/(main)/resource/features/DndContextWrapper'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useFileStore } from '@/store/file'; import { useFileItemClick } from '../Explorer/hooks/useFileItemClick'; diff --git a/src/features/ResourceManager/components/LibraryHierarchy/index.tsx b/src/features/ResourceManager/components/LibraryHierarchy/index.tsx index 08f822eb88..86d9b97f15 100644 --- a/src/features/ResourceManager/components/LibraryHierarchy/index.tsx +++ b/src/features/ResourceManager/components/LibraryHierarchy/index.tsx @@ -4,8 +4,8 @@ import { Flexbox } from '@lobehub/ui'; import { memo, useCallback, useEffect, useMemo, useReducer, useRef } from 'react'; import { VList } from 'virtua'; -import { useFolderPath } from '@/app/[variants]/(main)/resource/features/hooks/useFolderPath'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; +import { useFolderPath } from '@/routes/(main)/resource/features/hooks/useFolderPath'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { fileService } from '@/services/file'; import { useFileStore } from '@/store/file'; import { type ResourceQueryParams } from '@/types/resource'; diff --git a/src/features/ResourceManager/index.tsx b/src/features/ResourceManager/index.tsx index 3252dfd80f..a89d41bbb3 100644 --- a/src/features/ResourceManager/index.tsx +++ b/src/features/ResourceManager/index.tsx @@ -6,10 +6,10 @@ import { createStaticStyles, useTheme } from 'antd-style'; import { memo, useCallback, useEffect, useMemo } from 'react'; import { useSearchParams } from 'react-router-dom'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import DragUploadZone from '@/components/DragUploadZone'; import { PageEditor } from '@/features/PageEditor'; import dynamic from '@/libs/next/dynamic'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { documentService } from '@/services/document'; import { useFileStore } from '@/store/file'; import { documentSelectors } from '@/store/file/slices/document/selectors'; diff --git a/src/features/SkillStore/SkillDetail/Schema.tsx b/src/features/SkillStore/SkillDetail/Schema.tsx index abaa0d1db3..8facf17113 100644 --- a/src/features/SkillStore/SkillDetail/Schema.tsx +++ b/src/features/SkillStore/SkillDetail/Schema.tsx @@ -6,12 +6,12 @@ import { createStaticStyles, cssVar } from 'antd-style'; import { memo, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import Title from '@/app/[variants]/(main)/community/features/Title'; import ContentViewer from '@/features/AgentSkillDetail/ContentViewer'; import FileTree from '@/features/AgentSkillDetail/FileTree'; import { DetailProvider } from '@/features/MCPPluginDetail/DetailProvider'; import Tools from '@/features/MCPPluginDetail/Schema/Tools'; import { ModeType } from '@/features/MCPPluginDetail/Schema/types'; +import Title from '@/routes/(main)/community/features/Title'; import { useDetailContext } from './DetailContext'; diff --git a/src/features/User/UserPanel/PanelContent.tsx b/src/features/User/UserPanel/PanelContent.tsx index 5b5bf79d3a..2fb6a9b688 100644 --- a/src/features/User/UserPanel/PanelContent.tsx +++ b/src/features/User/UserPanel/PanelContent.tsx @@ -3,13 +3,13 @@ import { Flexbox } from '@lobehub/ui'; import { type FC } from 'react'; import { Link } from 'react-router-dom'; -import { navigateToDesktopOnboarding } from '@/app/[variants]/(desktop)/desktop-onboarding/navigation'; -import { clearDesktopOnboardingCompleted } from '@/app/[variants]/(desktop)/desktop-onboarding/storage'; -import { DesktopOnboardingScreen } from '@/app/[variants]/(desktop)/desktop-onboarding/types'; import BusinessPanelContent from '@/business/client/features/User/BusinessPanelContent'; import BrandWatermark from '@/components/BrandWatermark'; import Menu from '@/components/Menu'; import { isDesktop } from '@/const/version'; +import { navigateToDesktopOnboarding } from '@/routes/(desktop)/desktop-onboarding/navigation'; +import { clearDesktopOnboardingCompleted } from '@/routes/(desktop)/desktop-onboarding/storage'; +import { DesktopOnboardingScreen } from '@/routes/(desktop)/desktop-onboarding/types'; import { useUserStore } from '@/store/user'; import { authSelectors } from '@/store/user/selectors'; diff --git a/src/layout/GlobalProvider/useUserStateRedirect.ts b/src/layout/GlobalProvider/useUserStateRedirect.ts index 3a79c76d90..3940ad8885 100644 --- a/src/layout/GlobalProvider/useUserStateRedirect.ts +++ b/src/layout/GlobalProvider/useUserStateRedirect.ts @@ -3,8 +3,8 @@ import { OFFICIAL_URL } from '@lobechat/const'; import { useCallback } from 'react'; -import { getDesktopOnboardingCompleted } from '@/app/[variants]/(desktop)/desktop-onboarding/storage'; import { isDesktop } from '@/const/version'; +import { getDesktopOnboardingCompleted } from '@/routes/(desktop)/desktop-onboarding/storage'; import { useElectronStore } from '@/store/electron'; import { useUserStore } from '@/store/user'; import { onboardingSelectors } from '@/store/user/selectors'; diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/_layout/index.tsx b/src/routes/(desktop)/desktop-onboarding/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/_layout/index.tsx rename to src/routes/(desktop)/desktop-onboarding/_layout/index.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/_layout/style.ts b/src/routes/(desktop)/desktop-onboarding/_layout/style.ts similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/_layout/style.ts rename to src/routes/(desktop)/desktop-onboarding/_layout/style.ts diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/components/LobeMessage.tsx b/src/routes/(desktop)/desktop-onboarding/components/LobeMessage.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/components/LobeMessage.tsx rename to src/routes/(desktop)/desktop-onboarding/components/LobeMessage.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/components/OnboardingFooterActions.tsx b/src/routes/(desktop)/desktop-onboarding/components/OnboardingFooterActions.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/components/OnboardingFooterActions.tsx rename to src/routes/(desktop)/desktop-onboarding/components/OnboardingFooterActions.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/features/DataModeStep.tsx b/src/routes/(desktop)/desktop-onboarding/features/DataModeStep.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/features/DataModeStep.tsx rename to src/routes/(desktop)/desktop-onboarding/features/DataModeStep.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/features/LoginStep.tsx b/src/routes/(desktop)/desktop-onboarding/features/LoginStep.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/features/LoginStep.tsx rename to src/routes/(desktop)/desktop-onboarding/features/LoginStep.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/features/PermissionsStep.tsx b/src/routes/(desktop)/desktop-onboarding/features/PermissionsStep.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/features/PermissionsStep.tsx rename to src/routes/(desktop)/desktop-onboarding/features/PermissionsStep.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/features/WelcomeStep.tsx b/src/routes/(desktop)/desktop-onboarding/features/WelcomeStep.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/features/WelcomeStep.tsx rename to src/routes/(desktop)/desktop-onboarding/features/WelcomeStep.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/index.tsx b/src/routes/(desktop)/desktop-onboarding/index.tsx similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/index.tsx rename to src/routes/(desktop)/desktop-onboarding/index.tsx diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/navigation.ts b/src/routes/(desktop)/desktop-onboarding/navigation.ts similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/navigation.ts rename to src/routes/(desktop)/desktop-onboarding/navigation.ts diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/storage.ts b/src/routes/(desktop)/desktop-onboarding/storage.ts similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/storage.ts rename to src/routes/(desktop)/desktop-onboarding/storage.ts diff --git a/src/app/[variants]/(desktop)/desktop-onboarding/types.ts b/src/routes/(desktop)/desktop-onboarding/types.ts similarity index 100% rename from src/app/[variants]/(desktop)/desktop-onboarding/types.ts rename to src/routes/(desktop)/desktop-onboarding/types.ts diff --git a/src/app/[variants]/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx b/src/routes/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx similarity index 94% rename from src/app/[variants]/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx rename to src/routes/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx index 550ac54ab9..858b1d2efa 100644 --- a/src/app/[variants]/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx +++ b/src/routes/(main)/_layout/DesktopAutoOidcOnFirstOpen.tsx @@ -2,7 +2,7 @@ import { memo, useEffect } from 'react'; -import { getDesktopOnboardingCompleted } from '@/app/[variants]/(desktop)/desktop-onboarding/storage'; +import { getDesktopOnboardingCompleted } from '@/routes/(desktop)/desktop-onboarding/storage'; import { useElectronStore } from '@/store/electron'; import { getDesktopAutoOidcFirstOpenHandled, diff --git a/src/app/[variants]/(main)/_layout/DesktopLayoutContainer.tsx b/src/routes/(main)/_layout/DesktopLayoutContainer.tsx similarity index 100% rename from src/app/[variants]/(main)/_layout/DesktopLayoutContainer.tsx rename to src/routes/(main)/_layout/DesktopLayoutContainer.tsx diff --git a/src/app/[variants]/(main)/_layout/DesktopLayoutContainer/style.ts b/src/routes/(main)/_layout/DesktopLayoutContainer/style.ts similarity index 100% rename from src/app/[variants]/(main)/_layout/DesktopLayoutContainer/style.ts rename to src/routes/(main)/_layout/DesktopLayoutContainer/style.ts diff --git a/src/app/[variants]/(main)/_layout/RegisterHotkeys.tsx b/src/routes/(main)/_layout/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/_layout/RegisterHotkeys.tsx rename to src/routes/(main)/_layout/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/_layout/index.tsx b/src/routes/(main)/_layout/index.tsx similarity index 97% rename from src/app/[variants]/(main)/_layout/index.tsx rename to src/routes/(main)/_layout/index.tsx index 8c2958e75e..2f4927607b 100644 --- a/src/app/[variants]/(main)/_layout/index.tsx +++ b/src/routes/(main)/_layout/index.tsx @@ -8,7 +8,6 @@ import { lazy, Suspense } from 'react'; import { HotkeysProvider } from 'react-hotkeys-hook'; import { Outlet } from 'react-router-dom'; -import { DndContextWrapper } from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; import Loading from '@/components/Loading/BrandTextLoading'; import { isDesktop } from '@/const/version'; import { BANNER_HEIGHT } from '@/features/AlertBanner/CloudBanner'; @@ -23,6 +22,7 @@ import { usePlatform } from '@/hooks/usePlatform'; import { MarketAuthProvider } from '@/layout/AuthProvider/MarketAuth'; import CmdkLazy from '@/layout/GlobalProvider/CmdkLazy'; import dynamic from '@/libs/next/dynamic'; +import { DndContextWrapper } from '@/routes/(main)/resource/features/DndContextWrapper'; import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig'; import { HotkeyScopeEnum } from '@/types/hotkey'; diff --git a/src/app/[variants]/(main)/_layout/style.ts b/src/routes/(main)/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/_layout/style.ts rename to src/routes/(main)/_layout/style.ts diff --git a/src/app/[variants]/(main)/agent/_layout/AgentIdSync.tsx b/src/routes/(main)/agent/_layout/AgentIdSync.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/AgentIdSync.tsx rename to src/routes/(main)/agent/_layout/AgentIdSync.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/RegisterHotkeys.tsx b/src/routes/(main)/agent/_layout/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/RegisterHotkeys.tsx rename to src/routes/(main)/agent/_layout/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Body.tsx b/src/routes/(main)/agent/_layout/Sidebar/Body.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Body.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Body.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/Actions.tsx b/src/routes/(main)/agent/_layout/Sidebar/Cron/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/Actions.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Cron/Actions.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/CronTopicGroup.tsx b/src/routes/(main)/agent/_layout/Sidebar/Cron/CronTopicGroup.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/CronTopicGroup.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Cron/CronTopicGroup.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/CronTopicItem.tsx b/src/routes/(main)/agent/_layout/Sidebar/Cron/CronTopicItem.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/CronTopicItem.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Cron/CronTopicItem.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Cron/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Cron/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/useDropdownMenu.tsx b/src/routes/(main)/agent/_layout/Sidebar/Cron/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Cron/useDropdownMenu.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Cron/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx b/src/routes/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx similarity index 88% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx index 3ed9060976..55437d52be 100644 --- a/src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx +++ b/src/routes/(main)/agent/_layout/Sidebar/Header/Agent/SwitchPanel.tsx @@ -4,9 +4,9 @@ import { type PropsWithChildren } from 'react'; import { memo, Suspense, useMemo } from 'react'; import { useNavigate } from 'react-router-dom'; -import List from '@/app/[variants]/(main)/home/_layout/Body/Agent/List'; -import { AgentModalProvider } from '@/app/[variants]/(main)/home/_layout/Body/Agent/ModalProvider'; import SkeletonList from '@/features/NavPanel/components/SkeletonList'; +import List from '@/routes/(main)/home/_layout/Body/Agent/List'; +import { AgentModalProvider } from '@/routes/(main)/home/_layout/Body/Agent/ModalProvider'; const styles = createStaticStyles(({ cssVar, css }) => ({ trigger: css` diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Agent/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Header/Agent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Agent/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Header/Agent/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Nav.tsx b/src/routes/(main)/agent/_layout/Sidebar/Header/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Header/Nav.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Header/Nav.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Header/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Header/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Header/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/Actions.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/Actions.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/Actions.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/Actions.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/Editing.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/Editing.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/Editing.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/List/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/List/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/List/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/Actions.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/Actions.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts b/src/routes/(main)/agent/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts rename to src/routes/(main)/agent/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/hooks/useTopicNavigation.ts b/src/routes/(main)/agent/_layout/Sidebar/Topic/hooks/useTopicNavigation.ts similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/hooks/useTopicNavigation.ts rename to src/routes/(main)/agent/_layout/Sidebar/Topic/hooks/useTopicNavigation.ts diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/useDropdownMenu.tsx b/src/routes/(main)/agent/_layout/Sidebar/Topic/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/Topic/useDropdownMenu.tsx rename to src/routes/(main)/agent/_layout/Sidebar/Topic/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/Sidebar/index.tsx b/src/routes/(main)/agent/_layout/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/_layout/Sidebar/index.tsx rename to src/routes/(main)/agent/_layout/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/agent/_layout/index.tsx b/src/routes/(main)/agent/_layout/index.tsx similarity index 91% rename from src/app/[variants]/(main)/agent/_layout/index.tsx rename to src/routes/(main)/agent/_layout/index.tsx index f7410be31f..3ed19c1ac7 100644 --- a/src/app/[variants]/(main)/agent/_layout/index.tsx +++ b/src/routes/(main)/agent/_layout/index.tsx @@ -2,10 +2,10 @@ import { Flexbox } from '@lobehub/ui'; import { type FC } from 'react'; import { Outlet } from 'react-router-dom'; -import AgentIdSync from '@/app/[variants]/(main)/agent/_layout/AgentIdSync'; import { isDesktop } from '@/const/version'; import ProtocolUrlHandler from '@/features/ProtocolUrlHandler'; import { useInitAgentConfig } from '@/hooks/useInitAgentConfig'; +import AgentIdSync from '@/routes/(main)/agent/_layout/AgentIdSync'; import RegisterHotkeys from './RegisterHotkeys'; import Sidebar from './Sidebar'; diff --git a/src/app/[variants]/(main)/memory/_layout/style.ts b/src/routes/(main)/agent/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/memory/_layout/style.ts rename to src/routes/(main)/agent/_layout/style.ts diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/CronConfig.ts b/src/routes/(main)/agent/cron/[cronId]/CronConfig.ts similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/CronConfig.ts rename to src/routes/(main)/agent/cron/[cronId]/CronConfig.ts diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobContentEditor.tsx b/src/routes/(main)/agent/cron/[cronId]/features/CronJobContentEditor.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobContentEditor.tsx rename to src/routes/(main)/agent/cron/[cronId]/features/CronJobContentEditor.tsx diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobHeader.tsx b/src/routes/(main)/agent/cron/[cronId]/features/CronJobHeader.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobHeader.tsx rename to src/routes/(main)/agent/cron/[cronId]/features/CronJobHeader.tsx diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobSaveButton.tsx b/src/routes/(main)/agent/cron/[cronId]/features/CronJobSaveButton.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobSaveButton.tsx rename to src/routes/(main)/agent/cron/[cronId]/features/CronJobSaveButton.tsx diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobScheduleConfig.tsx b/src/routes/(main)/agent/cron/[cronId]/features/CronJobScheduleConfig.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/features/CronJobScheduleConfig.tsx rename to src/routes/(main)/agent/cron/[cronId]/features/CronJobScheduleConfig.tsx diff --git a/src/app/[variants]/(main)/agent/cron/[cronId]/index.tsx b/src/routes/(main)/agent/cron/[cronId]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/cron/[cronId]/index.tsx rename to src/routes/(main)/agent/cron/[cronId]/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/ChangelogModal.tsx b/src/routes/(main)/agent/features/ChangelogModal.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/ChangelogModal.tsx rename to src/routes/(main)/agent/features/ChangelogModal.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/OpeningQuestions.tsx b/src/routes/(main)/agent/features/Conversation/AgentWelcome/OpeningQuestions.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/OpeningQuestions.tsx rename to src/routes/(main)/agent/features/Conversation/AgentWelcome/OpeningQuestions.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert.tsx b/src/routes/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert.tsx rename to src/routes/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/index.tsx b/src/routes/(main)/agent/features/Conversation/AgentWelcome/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/AgentWelcome/index.tsx rename to src/routes/(main)/agent/features/Conversation/AgentWelcome/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/ChatHydration/index.tsx b/src/routes/(main)/agent/features/Conversation/ChatHydration/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/ChatHydration/index.tsx rename to src/routes/(main)/agent/features/Conversation/ChatHydration/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/ConversationArea.tsx b/src/routes/(main)/agent/features/Conversation/ConversationArea.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/ConversationArea.tsx rename to src/routes/(main)/agent/features/Conversation/ConversationArea.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/HeaderActions/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/HeaderActions/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/HeaderActions/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/HeaderActions/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/HeaderActions/useMenu.tsx b/src/routes/(main)/agent/features/Conversation/Header/HeaderActions/useMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/HeaderActions/useMenu.tsx rename to src/routes/(main)/agent/features/Conversation/Header/HeaderActions/useMenu.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/NotebookButton/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/NotebookButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/NotebookButton/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/NotebookButton/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/ShareButton/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/ShareButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/ShareButton/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/ShareButton/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/KnowledgeTag.tsx b/src/routes/(main)/agent/features/Conversation/Header/Tags/KnowledgeTag.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/KnowledgeTag.tsx rename to src/routes/(main)/agent/features/Conversation/Header/Tags/KnowledgeTag.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/MemberCountTag.tsx b/src/routes/(main)/agent/features/Conversation/Header/Tags/MemberCountTag.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/MemberCountTag.tsx rename to src/routes/(main)/agent/features/Conversation/Header/Tags/MemberCountTag.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/SearchTags.tsx b/src/routes/(main)/agent/features/Conversation/Header/Tags/SearchTags.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/SearchTags.tsx rename to src/routes/(main)/agent/features/Conversation/Header/Tags/SearchTags.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/Tags/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/Tags/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/Tags/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/WorkingDirectory/WorkingDirectoryContent.tsx b/src/routes/(main)/agent/features/Conversation/Header/WorkingDirectory/WorkingDirectoryContent.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/WorkingDirectory/WorkingDirectoryContent.tsx rename to src/routes/(main)/agent/features/Conversation/Header/WorkingDirectory/WorkingDirectoryContent.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/WorkingDirectory/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/WorkingDirectory/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/WorkingDirectory/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/WorkingDirectory/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/Header/index.tsx b/src/routes/(main)/agent/features/Conversation/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/Header/index.tsx rename to src/routes/(main)/agent/features/Conversation/Header/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/MessageFromUrl.tsx b/src/routes/(main)/agent/features/Conversation/MainChatInput/MessageFromUrl.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/MessageFromUrl.tsx rename to src/routes/(main)/agent/features/Conversation/MainChatInput/MessageFromUrl.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/index.tsx b/src/routes/(main)/agent/features/Conversation/MainChatInput/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/index.tsx rename to src/routes/(main)/agent/features/Conversation/MainChatInput/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/useSendMenuItems.tsx b/src/routes/(main)/agent/features/Conversation/MainChatInput/useSendMenuItems.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/MainChatInput/useSendMenuItems.tsx rename to src/routes/(main)/agent/features/Conversation/MainChatInput/useSendMenuItems.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/ThreadHydration.tsx b/src/routes/(main)/agent/features/Conversation/ThreadHydration.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/ThreadHydration.tsx rename to src/routes/(main)/agent/features/Conversation/ThreadHydration.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/index.tsx b/src/routes/(main)/agent/features/Conversation/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/index.tsx rename to src/routes/(main)/agent/features/Conversation/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Conversation/useActionsBarConfig.ts b/src/routes/(main)/agent/features/Conversation/useActionsBarConfig.ts similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/useActionsBarConfig.ts rename to src/routes/(main)/agent/features/Conversation/useActionsBarConfig.ts diff --git a/src/app/[variants]/(main)/agent/features/Conversation/useAgentContext.ts b/src/routes/(main)/agent/features/Conversation/useAgentContext.ts similarity index 100% rename from src/app/[variants]/(main)/agent/features/Conversation/useAgentContext.ts rename to src/routes/(main)/agent/features/Conversation/useAgentContext.ts diff --git a/src/app/[variants]/(main)/agent/features/PageTitle/index.tsx b/src/routes/(main)/agent/features/PageTitle/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/PageTitle/index.tsx rename to src/routes/(main)/agent/features/PageTitle/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/_layout/Desktop.tsx b/src/routes/(main)/agent/features/Portal/_layout/Desktop.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/_layout/Desktop.tsx rename to src/routes/(main)/agent/features/Portal/_layout/Desktop.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/_layout/Mobile.tsx b/src/routes/(main)/agent/features/Portal/_layout/Mobile.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/_layout/Mobile.tsx rename to src/routes/(main)/agent/features/Portal/_layout/Mobile.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/features/Body.tsx b/src/routes/(main)/agent/features/Portal/features/Body.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/features/Body.tsx rename to src/routes/(main)/agent/features/Portal/features/Body.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/features/Portal.tsx b/src/routes/(main)/agent/features/Portal/features/Portal.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/features/Portal.tsx rename to src/routes/(main)/agent/features/Portal/features/Portal.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/features/PortalPanel.tsx b/src/routes/(main)/agent/features/Portal/features/PortalPanel.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/features/PortalPanel.tsx rename to src/routes/(main)/agent/features/Portal/features/PortalPanel.tsx diff --git a/src/app/[variants]/(main)/agent/features/Portal/index.tsx b/src/routes/(main)/agent/features/Portal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/Portal/index.tsx rename to src/routes/(main)/agent/features/Portal/index.tsx diff --git a/src/app/[variants]/(main)/agent/features/TelemetryNotification.tsx b/src/routes/(main)/agent/features/TelemetryNotification.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/features/TelemetryNotification.tsx rename to src/routes/(main)/agent/features/TelemetryNotification.tsx diff --git a/src/app/[variants]/(main)/agent/index.tsx b/src/routes/(main)/agent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/index.tsx rename to src/routes/(main)/agent/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobCards.tsx b/src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobCards.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobCards.tsx rename to src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobCards.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobForm.tsx b/src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobForm.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobForm.tsx rename to src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobForm.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobList.tsx b/src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobList.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/CronJobList.tsx rename to src/routes/(main)/agent/profile/features/AgentCronJobs/CronJobList.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/hooks/useAgentCronJobs.ts b/src/routes/(main)/agent/profile/features/AgentCronJobs/hooks/useAgentCronJobs.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/hooks/useAgentCronJobs.ts rename to src/routes/(main)/agent/profile/features/AgentCronJobs/hooks/useAgentCronJobs.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/index.tsx b/src/routes/(main)/agent/profile/features/AgentCronJobs/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentCronJobs/index.tsx rename to src/routes/(main)/agent/profile/features/AgentCronJobs/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentSettings/Content.tsx b/src/routes/(main)/agent/profile/features/AgentSettings/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentSettings/Content.tsx rename to src/routes/(main)/agent/profile/features/AgentSettings/Content.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/AgentSettings/index.tsx b/src/routes/(main)/agent/profile/features/AgentSettings/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/AgentSettings/index.tsx rename to src/routes/(main)/agent/profile/features/AgentSettings/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/EditorCanvas/TypoBar.tsx b/src/routes/(main)/agent/profile/features/EditorCanvas/TypoBar.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/EditorCanvas/TypoBar.tsx rename to src/routes/(main)/agent/profile/features/EditorCanvas/TypoBar.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/EditorCanvas/index.tsx b/src/routes/(main)/agent/profile/features/EditorCanvas/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/EditorCanvas/index.tsx rename to src/routes/(main)/agent/profile/features/EditorCanvas/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/EditorCanvas/useSlashItems.tsx b/src/routes/(main)/agent/profile/features/EditorCanvas/useSlashItems.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/EditorCanvas/useSlashItems.tsx rename to src/routes/(main)/agent/profile/features/EditorCanvas/useSlashItems.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentForkTag.tsx b/src/routes/(main)/agent/profile/features/Header/AgentForkTag.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentForkTag.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentForkTag.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/ForkConfirmModal.tsx b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/ForkConfirmModal.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/ForkConfirmModal.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/ForkConfirmModal.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/PublishButton.tsx b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/PublishButton.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/PublishButton.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/PublishButton.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/PublishResultModal.tsx b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/PublishResultModal.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/PublishResultModal.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/PublishResultModal.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/index.tsx b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/index.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/types.ts b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/types.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/types.ts rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/types.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/useMarketPublish.ts b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/useMarketPublish.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/useMarketPublish.ts rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/useMarketPublish.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/utils.ts b/src/routes/(main)/agent/profile/features/Header/AgentPublishButton/utils.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentPublishButton/utils.ts rename to src/routes/(main)/agent/profile/features/Header/AgentPublishButton/utils.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentStatusTag.tsx b/src/routes/(main)/agent/profile/features/Header/AgentStatusTag.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentStatusTag.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentStatusTag.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AgentVersionReviewTag.tsx b/src/routes/(main)/agent/profile/features/Header/AgentVersionReviewTag.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AgentVersionReviewTag.tsx rename to src/routes/(main)/agent/profile/features/Header/AgentVersionReviewTag.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/AutoSaveHint.tsx b/src/routes/(main)/agent/profile/features/Header/AutoSaveHint.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/AutoSaveHint.tsx rename to src/routes/(main)/agent/profile/features/Header/AutoSaveHint.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/Header/index.tsx b/src/routes/(main)/agent/profile/features/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/Header/index.tsx rename to src/routes/(main)/agent/profile/features/Header/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/AgentHeader.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/AgentHeader.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/AgentHeader.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/AgentHeader.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/AgentTool.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/AgentTool.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/AgentTool.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/AgentTool.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/MentionDropdown.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/MentionDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/MentionDropdown.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/MentionDropdown.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/index.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/index.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/types.ts b/src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/types.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/types.ts rename to src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/types.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/useMentionItems.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/useMentionItems.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/MentionList/useMentionItems.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/MentionList/useMentionItems.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileEditor/index.tsx b/src/routes/(main)/agent/profile/features/ProfileEditor/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileEditor/index.tsx rename to src/routes/(main)/agent/profile/features/ProfileEditor/index.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileHydration.tsx b/src/routes/(main)/agent/profile/features/ProfileHydration.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileHydration.tsx rename to src/routes/(main)/agent/profile/features/ProfileHydration.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/ProfileProvider.tsx b/src/routes/(main)/agent/profile/features/ProfileProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/ProfileProvider.tsx rename to src/routes/(main)/agent/profile/features/ProfileProvider.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/StoreUpdater.tsx b/src/routes/(main)/agent/profile/features/StoreUpdater.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/StoreUpdater.tsx rename to src/routes/(main)/agent/profile/features/StoreUpdater.tsx diff --git a/src/app/[variants]/(main)/agent/profile/features/constants.ts b/src/routes/(main)/agent/profile/features/constants.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/constants.ts rename to src/routes/(main)/agent/profile/features/constants.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/store/action.ts b/src/routes/(main)/agent/profile/features/store/action.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/store/action.ts rename to src/routes/(main)/agent/profile/features/store/action.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/store/index.ts b/src/routes/(main)/agent/profile/features/store/index.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/store/index.ts rename to src/routes/(main)/agent/profile/features/store/index.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/store/initialState.ts b/src/routes/(main)/agent/profile/features/store/initialState.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/store/initialState.ts rename to src/routes/(main)/agent/profile/features/store/initialState.ts diff --git a/src/app/[variants]/(main)/agent/profile/features/store/selectors.ts b/src/routes/(main)/agent/profile/features/store/selectors.ts similarity index 100% rename from src/app/[variants]/(main)/agent/profile/features/store/selectors.ts rename to src/routes/(main)/agent/profile/features/store/selectors.ts diff --git a/src/app/[variants]/(main)/agent/profile/index.tsx b/src/routes/(main)/agent/profile/index.tsx similarity index 100% rename from src/app/[variants]/(main)/agent/profile/index.tsx rename to src/routes/(main)/agent/profile/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/_layout/Header.tsx b/src/routes/(main)/community/(detail)/_layout/Header.tsx similarity index 91% rename from src/app/[variants]/(main)/community/(detail)/_layout/Header.tsx rename to src/routes/(main)/community/(detail)/_layout/Header.tsx index 515ca12ea9..78a5a6adc8 100644 --- a/src/app/[variants]/(main)/community/(detail)/_layout/Header.tsx +++ b/src/routes/(main)/community/(detail)/_layout/Header.tsx @@ -7,9 +7,9 @@ import { memo } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; import urlJoin from 'url-join'; -import StoreSearchBar from '@/app/[variants]/(main)/community/features/Search'; -import UserAvatar from '@/app/[variants]/(main)/community/features/UserAvatar'; import NavHeader from '@/features/NavHeader'; +import StoreSearchBar from '@/routes/(main)/community/features/Search'; +import UserAvatar from '@/routes/(main)/community/features/UserAvatar'; import { styles } from './Header/style'; diff --git a/src/app/[variants]/(main)/community/(detail)/_layout/Header/style.ts b/src/routes/(main)/community/(detail)/_layout/Header/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/_layout/Header/style.ts rename to src/routes/(main)/community/(detail)/_layout/Header/style.ts diff --git a/src/app/[variants]/(main)/community/(detail)/_layout/index.tsx b/src/routes/(main)/community/(detail)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/_layout/index.tsx rename to src/routes/(main)/community/(detail)/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/_layout/style.ts b/src/routes/(main)/community/(detail)/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/_layout/style.ts rename to src/routes/(main)/community/(detail)/_layout/style.ts diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/AgentForkTag.tsx b/src/routes/(main)/community/(detail)/agent/features/AgentForkTag.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/AgentForkTag.tsx rename to src/routes/(main)/community/(detail)/agent/features/AgentForkTag.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/DetailProvider.tsx b/src/routes/(main)/community/(detail)/agent/features/DetailProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/DetailProvider.tsx rename to src/routes/(main)/community/(detail)/agent/features/DetailProvider.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Block.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Block.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Block.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Block.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Knowledge.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Knowledge.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Knowledge.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Knowledge.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/KnowledgeItem.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/KnowledgeItem.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/KnowledgeItem.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/KnowledgeItem.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/PluginItem.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/PluginItem.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/PluginItem.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/PluginItem.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Plugins.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Plugins.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/Plugins.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/Plugins.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Capabilities/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Capabilities/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Nav.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Nav.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Nav.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Overview/TagList.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Overview/TagList.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Overview/TagList.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Overview/TagList.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Overview/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Overview/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Overview/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Overview/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Related/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Related/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/SystemRole/TagList.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/SystemRole/TagList.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/SystemRole/TagList.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/SystemRole/TagList.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/SystemRole/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/SystemRole/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/SystemRole/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/SystemRole/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/Versions/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/Versions/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/Versions/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/Versions/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Details/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Details/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Details/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Details/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Header.tsx b/src/routes/(main)/community/(detail)/agent/features/Header.tsx similarity index 98% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Header.tsx rename to src/routes/(main)/community/(detail)/agent/features/Header.tsx index 3e79cb47f5..60785a4853 100644 --- a/src/app/[variants]/(main)/community/(detail)/agent/features/Header.tsx +++ b/src/routes/(main)/community/(detail)/agent/features/Header.tsx @@ -29,11 +29,11 @@ import { Link } from 'react-router-dom'; import useSWR from 'swr'; import urlJoin from 'url-join'; +import PublishedTime from '@/components/PublishedTime'; import { useMarketAuth } from '@/layout/AuthProvider/MarketAuth'; import { socialService } from '@/services/social'; import { formatIntergerNumber } from '@/utils/format'; -import PublishedTime from '../../../../../../../components/PublishedTime'; import { useCategory } from '../../../(list)/agent/features/Category/useCategory'; import AgentForkTag from './AgentForkTag'; import { useDetailContext } from './DetailProvider'; diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/AddAgent.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/AddAgent.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/AddAgent.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/AddAgent.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/ForkAndChat.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/ForkAndChat.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/ForkAndChat.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/ForkAndChat.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/ActionButton/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/ActionButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Related/Item.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/Related/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Related/Item.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/Related/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Related/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Related/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Summary/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/Summary/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/Summary/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/Summary/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx similarity index 92% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx index d72ca7e9de..89db64df81 100644 --- a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx +++ b/src/routes/(main)/community/(detail)/agent/features/Sidebar/TocList/index.tsx @@ -5,8 +5,8 @@ import { type AnchorProps } from 'antd'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useToc } from '@/app/[variants]/(main)/community/(detail)/features/Toc/useToc'; import { useQuery } from '@/hooks/useQuery'; +import { useToc } from '@/routes/(main)/community/(detail)/features/Toc/useToc'; import { AssistantNavKey } from '@/types/discover'; import Title from '../../../../../features/Title'; diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/index.tsx b/src/routes/(main)/community/(detail)/agent/features/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/Sidebar/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/features/StatusPage/index.tsx b/src/routes/(main)/community/(detail)/agent/features/StatusPage/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/features/StatusPage/index.tsx rename to src/routes/(main)/community/(detail)/agent/features/StatusPage/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/index.tsx b/src/routes/(main)/community/(detail)/agent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/index.tsx rename to src/routes/(main)/community/(detail)/agent/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/agent/loading.tsx b/src/routes/(main)/community/(detail)/agent/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/agent/loading.tsx rename to src/routes/(main)/community/(detail)/agent/loading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/components/NotFound.tsx b/src/routes/(main)/community/(detail)/components/NotFound.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/components/NotFound.tsx rename to src/routes/(main)/community/(detail)/components/NotFound.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/error.tsx b/src/routes/(main)/community/(detail)/error.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/error.tsx rename to src/routes/(main)/community/(detail)/error.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/Back.tsx b/src/routes/(main)/community/(detail)/features/Back.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/Back.tsx rename to src/routes/(main)/community/(detail)/features/Back.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/Block.tsx b/src/routes/(main)/community/(detail)/features/Block.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/Block.tsx rename to src/routes/(main)/community/(detail)/features/Block.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/Breadcrumb.tsx b/src/routes/(main)/community/(detail)/features/Breadcrumb.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/Breadcrumb.tsx rename to src/routes/(main)/community/(detail)/features/Breadcrumb.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/DetailLayout.tsx b/src/routes/(main)/community/(detail)/features/DetailLayout.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/DetailLayout.tsx rename to src/routes/(main)/community/(detail)/features/DetailLayout.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/HighlightBlock.tsx b/src/routes/(main)/community/(detail)/features/HighlightBlock.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/HighlightBlock.tsx rename to src/routes/(main)/community/(detail)/features/HighlightBlock.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/MakedownRender.tsx b/src/routes/(main)/community/(detail)/features/MakedownRender.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/MakedownRender.tsx rename to src/routes/(main)/community/(detail)/features/MakedownRender.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/ShareButton.tsx b/src/routes/(main)/community/(detail)/features/ShareButton.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/ShareButton.tsx rename to src/routes/(main)/community/(detail)/features/ShareButton.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/SidebarContainer.tsx b/src/routes/(main)/community/(detail)/features/SidebarContainer.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/SidebarContainer.tsx rename to src/routes/(main)/community/(detail)/features/SidebarContainer.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/Toc/Heading.tsx b/src/routes/(main)/community/(detail)/features/Toc/Heading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/Toc/Heading.tsx rename to src/routes/(main)/community/(detail)/features/Toc/Heading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/features/Toc/index.tsx b/src/routes/(main)/community/(detail)/features/Toc/index.tsx similarity index 96% rename from src/app/[variants]/(main)/community/(detail)/features/Toc/index.tsx rename to src/routes/(main)/community/(detail)/features/Toc/index.tsx index 1e54339c39..185515152c 100644 --- a/src/app/[variants]/(main)/community/(detail)/features/Toc/index.tsx +++ b/src/routes/(main)/community/(detail)/features/Toc/index.tsx @@ -5,7 +5,7 @@ import { Anchor } from 'antd'; import { createStaticStyles, cx, responsive } from 'antd-style'; import { memo, useMemo } from 'react'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import { isOnServerSide } from '@/utils/env'; import { createTOCTree } from './useToc'; diff --git a/src/app/[variants]/(main)/community/(detail)/features/Toc/useToc.tsx b/src/routes/(main)/community/(detail)/features/Toc/useToc.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/features/Toc/useToc.tsx rename to src/routes/(main)/community/(detail)/features/Toc/useToc.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/DetailProvider.tsx b/src/routes/(main)/community/(detail)/group_agent/features/DetailProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/DetailProvider.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/DetailProvider.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/Members/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Nav.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Nav.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/Nav.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/Overview/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/SystemRole/TagList.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/SystemRole/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/Versions/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Details/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Details/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Details/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx b/src/routes/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/GroupAgentForkTag.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Header.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Header.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Header.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Header.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/AddGroupAgent.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/ForkGroupAndChat.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/ForkGroupAndChat.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/ForkGroupAndChat.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/ForkGroupAndChat.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Sidebar/ActionButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Sidebar/Summary/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx b/src/routes/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/features/StatusPage/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/index.tsx b/src/routes/(main)/community/(detail)/group_agent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/index.tsx rename to src/routes/(main)/community/(detail)/group_agent/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/group_agent/loading.tsx b/src/routes/(main)/community/(detail)/group_agent/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/group_agent/loading.tsx rename to src/routes/(main)/community/(detail)/group_agent/loading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Details/Related/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Details/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Details/Related/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Details/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx similarity index 92% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx index a8c4ffa123..f037ac175b 100644 --- a/src/app/[variants]/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx +++ b/src/routes/(main)/community/(detail)/mcp/features/Details/Versions/index.tsx @@ -6,11 +6,11 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import InlineTable from '@/components/InlineTable'; +import PublishedTime from '@/components/PublishedTime'; +import { useDetailContext } from '@/features/MCPPluginDetail/DetailProvider'; import Link from '@/libs/router/Link'; import { usePathname } from '@/libs/router/navigation'; -import PublishedTime from '../../../../../../../../../components/PublishedTime'; -import { useDetailContext } from '../../../../../../../../../features/MCPPluginDetail/DetailProvider'; import Title from '../../../../../features/Title'; const Versions = memo(() => { diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Details/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Details/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Details/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Details/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ActionButton/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/ActionButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ActionButton/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/ActionButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ConnectionTypeAlert.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/ConnectionTypeAlert.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ConnectionTypeAlert.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/ConnectionTypeAlert.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/Related/Item.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/Related/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/Related/Item.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/Related/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/Related/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/Related/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ServerConfig.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/ServerConfig.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/ServerConfig.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/ServerConfig.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx similarity index 96% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx index 8b1d8644be..035b0a8c77 100644 --- a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx +++ b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/TocList/index.tsx @@ -6,9 +6,9 @@ import { startCase } from 'es-toolkit/compat'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { useToc } from '@/app/[variants]/(main)/community/(detail)/features/Toc/useToc'; import { useDetailContext } from '@/features/MCPPluginDetail/DetailProvider'; import { useQuery } from '@/hooks/useQuery'; +import { useToc } from '@/routes/(main)/community/(detail)/features/Toc/useToc'; import { McpNavKey } from '@/types/discover'; import Title from '../../../../../features/Title'; diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/index.tsx b/src/routes/(main)/community/(detail)/mcp/features/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/features/Sidebar/index.tsx rename to src/routes/(main)/community/(detail)/mcp/features/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/index.tsx b/src/routes/(main)/community/(detail)/mcp/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/index.tsx rename to src/routes/(main)/community/(detail)/mcp/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/mcp/loading.tsx b/src/routes/(main)/community/(detail)/mcp/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/mcp/loading.tsx rename to src/routes/(main)/community/(detail)/mcp/loading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/DetailProvider.tsx b/src/routes/(main)/community/(detail)/model/features/DetailProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/DetailProvider.tsx rename to src/routes/(main)/community/(detail)/model/features/DetailProvider.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Nav.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Nav.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Nav.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Overview/ProviderList/index.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Overview/ProviderList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Overview/ProviderList/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Overview/ProviderList/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Overview/index.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Overview/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Overview/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Overview/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Parameter/ParameterItem.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Parameter/ParameterItem.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Parameter/ParameterItem.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Parameter/ParameterItem.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Parameter/index.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Parameter/index.tsx similarity index 97% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Parameter/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Parameter/index.tsx index d42b1daea6..e45d1923b0 100644 --- a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Parameter/index.tsx +++ b/src/routes/(main)/community/(detail)/model/features/Details/Parameter/index.tsx @@ -13,7 +13,7 @@ import { import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import Title from '@/app/[variants]/(main)/community/features/Title'; +import Title from '@/routes/(main)/community/features/Title'; import { formatTokenNumber } from '@/utils/format'; import { useDetailContext } from '../../DetailProvider'; diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/Related/index.tsx b/src/routes/(main)/community/(detail)/model/features/Details/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/Related/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Details/index.tsx b/src/routes/(main)/community/(detail)/model/features/Details/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Details/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Details/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Header.tsx b/src/routes/(main)/community/(detail)/model/features/Header.tsx similarity index 89% rename from src/app/[variants]/(main)/community/(detail)/model/features/Header.tsx rename to src/routes/(main)/community/(detail)/model/features/Header.tsx index 7aedcefccb..67dc61e9e4 100644 --- a/src/app/[variants]/(main)/community/(detail)/model/features/Header.tsx +++ b/src/routes/(main)/community/(detail)/model/features/Header.tsx @@ -7,10 +7,10 @@ import { DotIcon } from 'lucide-react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import ModelTypeIcon from '@/app/[variants]/(main)/community/(list)/model/features/List/ModelTypeIcon'; import { ModelInfoTags } from '@/components/ModelSelect'; +import PublishedTime from '@/components/PublishedTime'; +import ModelTypeIcon from '@/routes/(main)/community/(list)/model/features/List/ModelTypeIcon'; -import PublishedTime from '../../../../../../../components/PublishedTime'; import { useDetailContext } from './DetailProvider'; const styles = createStaticStyles(({ css, cssVar }) => { @@ -88,11 +88,7 @@ const Header = memo<{ mobile?: boolean }>(({ mobile: isMobile }) => { {...abilities} /> - + diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/ActionButton/ChatWithModel.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/ActionButton/ChatWithModel.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/ActionButton/ChatWithModel.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/ActionButton/ChatWithModel.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/ActionButton/index.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/ActionButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/ActionButton/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/ActionButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/Related/Item.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/Related/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/Related/Item.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/Related/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/Related/index.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/Related/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/Item.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/Item.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/index.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/RelatedProviders/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/index.tsx b/src/routes/(main)/community/(detail)/model/features/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/features/Sidebar/index.tsx rename to src/routes/(main)/community/(detail)/model/features/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/index.tsx b/src/routes/(main)/community/(detail)/model/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/index.tsx rename to src/routes/(main)/community/(detail)/model/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/model/loading.tsx b/src/routes/(main)/community/(detail)/model/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/model/loading.tsx rename to src/routes/(main)/community/(detail)/model/loading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/not-found.tsx b/src/routes/(main)/community/(detail)/not-found.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/not-found.tsx rename to src/routes/(main)/community/(detail)/not-found.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/DetailProvider.tsx b/src/routes/(main)/community/(detail)/provider/features/DetailProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/DetailProvider.tsx rename to src/routes/(main)/community/(detail)/provider/features/DetailProvider.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Guide/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/Guide/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/Guide/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/Guide/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Nav.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/Nav.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/Nav.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Overview/ModelList/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/Overview/ModelList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/Overview/ModelList/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/Overview/ModelList/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Overview/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/Overview/index.tsx similarity index 88% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/Overview/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/Overview/index.tsx index 3f9392cfb2..09ec6bff69 100644 --- a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Overview/index.tsx +++ b/src/routes/(main)/community/(detail)/provider/features/Details/Overview/index.tsx @@ -2,7 +2,7 @@ import { Flexbox, Tag } from '@lobehub/ui'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import Title from '@/app/[variants]/(main)/community/features/Title'; +import Title from '@/routes/(main)/community/features/Title'; import { useDetailContext } from '../../DetailProvider'; import ModelList from './ModelList'; diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/Related/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/Related/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Details/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Details/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Details/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Details/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Header.tsx b/src/routes/(main)/community/(detail)/provider/features/Header.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Header.tsx rename to src/routes/(main)/community/(detail)/provider/features/Header.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/ActionButton/ProviderConfig.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/ActionButton/ProviderConfig.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/ActionButton/ProviderConfig.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/ActionButton/ProviderConfig.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/ActionButton/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/ActionButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/ActionButton/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/ActionButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/Related/Item.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/Related/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/Related/Item.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/Related/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/Related/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/Related/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/Related/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/Related/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/Item.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/Item.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/Item.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/RelatedModels/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/index.tsx b/src/routes/(main)/community/(detail)/provider/features/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/features/Sidebar/index.tsx rename to src/routes/(main)/community/(detail)/provider/features/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/index.tsx b/src/routes/(main)/community/(detail)/provider/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/index.tsx rename to src/routes/(main)/community/(detail)/provider/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/provider/loading.tsx b/src/routes/(main)/community/(detail)/provider/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/provider/loading.tsx rename to src/routes/(main)/community/(detail)/provider/loading.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/DetailProvider.tsx b/src/routes/(main)/community/(detail)/user/features/DetailProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/DetailProvider.tsx rename to src/routes/(main)/community/(detail)/user/features/DetailProvider.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/FollowButton.tsx b/src/routes/(main)/community/(detail)/user/features/FollowButton.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/FollowButton.tsx rename to src/routes/(main)/community/(detail)/user/features/FollowButton.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/FollowStats.tsx b/src/routes/(main)/community/(detail)/user/features/FollowStats.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/FollowStats.tsx rename to src/routes/(main)/community/(detail)/user/features/FollowStats.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/Header/Banner.tsx b/src/routes/(main)/community/(detail)/user/features/Header/Banner.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/Header/Banner.tsx rename to src/routes/(main)/community/(detail)/user/features/Header/Banner.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/Header/index.tsx b/src/routes/(main)/community/(detail)/user/features/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/Header/index.tsx rename to src/routes/(main)/community/(detail)/user/features/Header/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/StatusFilter.tsx b/src/routes/(main)/community/(detail)/user/features/StatusFilter.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/StatusFilter.tsx rename to src/routes/(main)/community/(detail)/user/features/StatusFilter.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserAgentCard.tsx b/src/routes/(main)/community/(detail)/user/features/UserAgentCard.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserAgentCard.tsx rename to src/routes/(main)/community/(detail)/user/features/UserAgentCard.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserAgentList.tsx b/src/routes/(main)/community/(detail)/user/features/UserAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserAgentList.tsx rename to src/routes/(main)/community/(detail)/user/features/UserAgentList.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserContent.tsx b/src/routes/(main)/community/(detail)/user/features/UserContent.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserContent.tsx rename to src/routes/(main)/community/(detail)/user/features/UserContent.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserFavoriteAgents.tsx b/src/routes/(main)/community/(detail)/user/features/UserFavoriteAgents.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserFavoriteAgents.tsx rename to src/routes/(main)/community/(detail)/user/features/UserFavoriteAgents.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserFavoritePlugins.tsx b/src/routes/(main)/community/(detail)/user/features/UserFavoritePlugins.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserFavoritePlugins.tsx rename to src/routes/(main)/community/(detail)/user/features/UserFavoritePlugins.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserForkedAgentGroups.tsx b/src/routes/(main)/community/(detail)/user/features/UserForkedAgentGroups.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserForkedAgentGroups.tsx rename to src/routes/(main)/community/(detail)/user/features/UserForkedAgentGroups.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserForkedAgents.tsx b/src/routes/(main)/community/(detail)/user/features/UserForkedAgents.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserForkedAgents.tsx rename to src/routes/(main)/community/(detail)/user/features/UserForkedAgents.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupCard.tsx b/src/routes/(main)/community/(detail)/user/features/UserGroupCard.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserGroupCard.tsx rename to src/routes/(main)/community/(detail)/user/features/UserGroupCard.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/UserGroupList.tsx b/src/routes/(main)/community/(detail)/user/features/UserGroupList.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/UserGroupList.tsx rename to src/routes/(main)/community/(detail)/user/features/UserGroupList.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/features/useUserDetail.ts b/src/routes/(main)/community/(detail)/user/features/useUserDetail.ts similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/features/useUserDetail.ts rename to src/routes/(main)/community/(detail)/user/features/useUserDetail.ts diff --git a/src/app/[variants]/(main)/community/(detail)/user/index.tsx b/src/routes/(main)/community/(detail)/user/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(detail)/user/index.tsx rename to src/routes/(main)/community/(detail)/user/index.tsx diff --git a/src/app/[variants]/(main)/community/(detail)/user/loading.tsx b/src/routes/(main)/community/(detail)/user/loading.tsx similarity index 89% rename from src/app/[variants]/(main)/community/(detail)/user/loading.tsx rename to src/routes/(main)/community/(detail)/user/loading.tsx index 65e59b38b5..82c3447e0c 100644 --- a/src/app/[variants]/(main)/community/(detail)/user/loading.tsx +++ b/src/routes/(main)/community/(detail)/user/loading.tsx @@ -4,7 +4,7 @@ import { Flexbox, Skeleton } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo } from 'react'; -import ListLoading from '@/app/[variants]/(main)/community/components/ListLoading'; +import ListLoading from '@/routes/(main)/community/components/ListLoading'; import Banner from './features/Header/Banner'; diff --git a/src/app/[variants]/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx b/src/routes/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx similarity index 89% rename from src/app/[variants]/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx rename to src/routes/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx index f82346cde1..3860a5ba89 100644 --- a/src/app/[variants]/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx +++ b/src/routes/(main)/community/(list)/(home)/features/CreatorRewardBanner.tsx @@ -10,12 +10,15 @@ import { useIsDark } from '@/hooks/useIsDark'; const styles = createStaticStyles(({ css }) => ({ banner: css` position: relative; + width: 100%; - padding: 24px 32px; + padding-block: 24px; + padding-inline: 32px; border-radius: 12px; ${responsive.sm} { - padding: 16px 20px; + padding-block: 16px; + padding-inline: 20px; } `, banner_dark: css` @@ -35,21 +38,24 @@ const styles = createStaticStyles(({ css }) => ({ } `, subtitle_dark: css` - color: rgba(255, 255, 255, 0.65); + color: rgb(255 255 255 / 65%); `, subtitle_light: css` - color: rgba(0, 0, 0, 0.65); + color: rgb(0 0 0 / 65%); `, symbols: css` + pointer-events: none; + position: absolute; - top: 0; - right: 0; - bottom: 0; + inset-block: 0; + inset-inline-end: 0; + overflow: hidden; + width: 50%; border-radius: 0 12px 12px 0; + background: url('/images/banner_creator.png') right center / auto 100% no-repeat; - pointer-events: none; ${responsive.sm} { display: none; @@ -66,10 +72,10 @@ const styles = createStaticStyles(({ css }) => ({ } `, title_dark: css` - color: rgba(255, 255, 255, 0.88); + color: rgb(255 255 255 / 88%); `, title_light: css` - color: rgba(0, 0, 0, 0.88); + color: rgb(0 0 0 / 88%); `, })); diff --git a/src/app/[variants]/(main)/community/(list)/(home)/index.tsx b/src/routes/(main)/community/(list)/(home)/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/(home)/index.tsx rename to src/routes/(main)/community/(list)/(home)/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/(home)/loading.tsx b/src/routes/(main)/community/(list)/(home)/loading.tsx similarity index 80% rename from src/app/[variants]/(main)/community/(list)/(home)/loading.tsx rename to src/routes/(main)/community/(list)/(home)/loading.tsx index 93fd2e5dfb..080e88017e 100644 --- a/src/app/[variants]/(main)/community/(list)/(home)/loading.tsx +++ b/src/routes/(main)/community/(list)/(home)/loading.tsx @@ -1,8 +1,8 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import ListLoading from '@/app/[variants]/(main)/community/components/ListLoading'; -import Title from '@/app/[variants]/(main)/community/components/Title'; +import ListLoading from '@/routes/(main)/community/components/ListLoading'; +import Title from '@/routes/(main)/community/components/Title'; import CreatorRewardBanner from './features/CreatorRewardBanner'; diff --git a/src/app/[variants]/(main)/community/(list)/_layout/Footer.tsx b/src/routes/(main)/community/(list)/_layout/Footer.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/_layout/Footer.tsx rename to src/routes/(main)/community/(list)/_layout/Footer.tsx diff --git a/src/app/[variants]/(main)/community/(list)/_layout/Header.tsx b/src/routes/(main)/community/(list)/_layout/Header.tsx similarity index 84% rename from src/app/[variants]/(main)/community/(list)/_layout/Header.tsx rename to src/routes/(main)/community/(list)/_layout/Header.tsx index 9ea1f3a804..28485aaace 100644 --- a/src/app/[variants]/(main)/community/(list)/_layout/Header.tsx +++ b/src/routes/(main)/community/(list)/_layout/Header.tsx @@ -4,9 +4,9 @@ import { cssVar } from 'antd-style'; import { memo } from 'react'; import { useLocation } from 'react-router-dom'; -import StoreSearchBar from '@/app/[variants]/(main)/community/features/Search'; -import UserAvatar from '@/app/[variants]/(main)/community/features/UserAvatar'; import NavHeader from '@/features/NavHeader'; +import StoreSearchBar from '@/routes/(main)/community/features/Search'; +import UserAvatar from '@/routes/(main)/community/features/UserAvatar'; import SortButton from '../features/SortButton'; import { styles } from './Header/style'; diff --git a/src/app/[variants]/(main)/community/(list)/_layout/Header/style.ts b/src/routes/(main)/community/(list)/_layout/Header/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(list)/_layout/Header/style.ts rename to src/routes/(main)/community/(list)/_layout/Header/style.ts diff --git a/src/app/[variants]/(main)/community/(list)/_layout/index.tsx b/src/routes/(main)/community/(list)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/_layout/index.tsx rename to src/routes/(main)/community/(list)/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/_layout/style.ts b/src/routes/(main)/community/(list)/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(list)/_layout/style.ts rename to src/routes/(main)/community/(list)/_layout/style.ts diff --git a/src/app/[variants]/(main)/community/(list)/agent/Client.tsx b/src/routes/(main)/community/(list)/agent/Client.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/Client.tsx rename to src/routes/(main)/community/(list)/agent/Client.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/_layout/index.tsx b/src/routes/(main)/community/(list)/agent/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/_layout/index.tsx rename to src/routes/(main)/community/(list)/agent/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/_layout/style.ts b/src/routes/(main)/community/(list)/agent/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/_layout/style.ts rename to src/routes/(main)/community/(list)/agent/_layout/style.ts diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/Category/index.tsx b/src/routes/(main)/community/(list)/agent/features/Category/index.tsx similarity index 97% rename from src/app/[variants]/(main)/community/(list)/agent/features/Category/index.tsx rename to src/routes/(main)/community/(list)/agent/features/Category/index.tsx index 4607fc041d..090485c3f2 100644 --- a/src/app/[variants]/(main)/community/(list)/agent/features/Category/index.tsx +++ b/src/routes/(main)/community/(list)/agent/features/Category/index.tsx @@ -5,9 +5,9 @@ import qs from 'query-string'; import { memo, useMemo } from 'react'; import { Link, useNavigate } from 'react-router-dom'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; import { withSuspense } from '@/components/withSuspense'; import { useQuery } from '@/hooks/useQuery'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import { useDiscoverStore } from '@/store/discover'; import { AssistantCategory, AssistantSorts } from '@/types/discover'; diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/Category/useCategory.tsx b/src/routes/(main)/community/(list)/agent/features/Category/useCategory.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/features/Category/useCategory.tsx rename to src/routes/(main)/community/(list)/agent/features/Category/useCategory.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/List/Item.tsx b/src/routes/(main)/community/(list)/agent/features/List/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/features/List/Item.tsx rename to src/routes/(main)/community/(list)/agent/features/List/Item.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/List/TokenTag.tsx b/src/routes/(main)/community/(list)/agent/features/List/TokenTag.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/features/List/TokenTag.tsx rename to src/routes/(main)/community/(list)/agent/features/List/TokenTag.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/List/index.tsx b/src/routes/(main)/community/(list)/agent/features/List/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/features/List/index.tsx rename to src/routes/(main)/community/(list)/agent/features/List/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/features/MarketSourceSwitch.tsx b/src/routes/(main)/community/(list)/agent/features/MarketSourceSwitch.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/features/MarketSourceSwitch.tsx rename to src/routes/(main)/community/(list)/agent/features/MarketSourceSwitch.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/index.tsx b/src/routes/(main)/community/(list)/agent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/index.tsx rename to src/routes/(main)/community/(list)/agent/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/agent/loading.tsx b/src/routes/(main)/community/(list)/agent/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/agent/loading.tsx rename to src/routes/(main)/community/(list)/agent/loading.tsx diff --git a/src/app/[variants]/(main)/community/(list)/error.tsx b/src/routes/(main)/community/(list)/error.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/error.tsx rename to src/routes/(main)/community/(list)/error.tsx diff --git a/src/app/[variants]/(main)/community/(list)/features/Pagination.tsx b/src/routes/(main)/community/(list)/features/Pagination.tsx similarity index 95% rename from src/app/[variants]/(main)/community/(list)/features/Pagination.tsx rename to src/routes/(main)/community/(list)/features/Pagination.tsx index eca023a07c..77ae87e809 100644 --- a/src/app/[variants]/(main)/community/(list)/features/Pagination.tsx +++ b/src/routes/(main)/community/(list)/features/Pagination.tsx @@ -5,8 +5,8 @@ import { createStaticStyles, useResponsive } from 'antd-style'; import { memo } from 'react'; import { useLocation, useNavigate } from 'react-router-dom'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; import { useQuery } from '@/hooks/useQuery'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import { type DiscoverTab } from '@/types/discover'; const SCROLL_CONTAINER_ID = 'lobe-mobile-scroll-container'; diff --git a/src/app/[variants]/(main)/community/(list)/features/SortButton/index.tsx b/src/routes/(main)/community/(list)/features/SortButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/features/SortButton/index.tsx rename to src/routes/(main)/community/(list)/features/SortButton/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/_layout/index.tsx b/src/routes/(main)/community/(list)/mcp/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/_layout/index.tsx rename to src/routes/(main)/community/(list)/mcp/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/_layout/style.ts b/src/routes/(main)/community/(list)/mcp/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/_layout/style.ts rename to src/routes/(main)/community/(list)/mcp/_layout/style.ts diff --git a/src/app/[variants]/(main)/community/(list)/mcp/features/Category/index.tsx b/src/routes/(main)/community/(list)/mcp/features/Category/index.tsx similarity index 96% rename from src/app/[variants]/(main)/community/(list)/mcp/features/Category/index.tsx rename to src/routes/(main)/community/(list)/mcp/features/Category/index.tsx index 62bff14b18..d8e2d3fb74 100644 --- a/src/app/[variants]/(main)/community/(list)/mcp/features/Category/index.tsx +++ b/src/routes/(main)/community/(list)/mcp/features/Category/index.tsx @@ -5,10 +5,10 @@ import qs from 'query-string'; import { memo, useMemo } from 'react'; import { Link, useNavigate } from 'react-router-dom'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; import { withSuspense } from '@/components/withSuspense'; import { useCategory } from '@/hooks/useMCPCategory'; import { useQuery } from '@/hooks/useQuery'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import { useDiscoverStore } from '@/store/discover'; import { McpCategory, McpSorts } from '@/types/discover'; diff --git a/src/app/[variants]/(main)/community/(list)/mcp/features/List/ConnectionTypeTag.tsx b/src/routes/(main)/community/(list)/mcp/features/List/ConnectionTypeTag.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/features/List/ConnectionTypeTag.tsx rename to src/routes/(main)/community/(list)/mcp/features/List/ConnectionTypeTag.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/features/List/Item.tsx b/src/routes/(main)/community/(list)/mcp/features/List/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/features/List/Item.tsx rename to src/routes/(main)/community/(list)/mcp/features/List/Item.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/features/List/MetaInfo.tsx b/src/routes/(main)/community/(list)/mcp/features/List/MetaInfo.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/features/List/MetaInfo.tsx rename to src/routes/(main)/community/(list)/mcp/features/List/MetaInfo.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/features/List/index.tsx b/src/routes/(main)/community/(list)/mcp/features/List/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/features/List/index.tsx rename to src/routes/(main)/community/(list)/mcp/features/List/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/index.tsx b/src/routes/(main)/community/(list)/mcp/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/index.tsx rename to src/routes/(main)/community/(list)/mcp/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/mcp/loading.tsx b/src/routes/(main)/community/(list)/mcp/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/mcp/loading.tsx rename to src/routes/(main)/community/(list)/mcp/loading.tsx diff --git a/src/app/[variants]/(main)/community/(list)/model/_layout/index.tsx b/src/routes/(main)/community/(list)/model/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/model/_layout/index.tsx rename to src/routes/(main)/community/(list)/model/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/(list)/model/_layout/style.ts b/src/routes/(main)/community/(list)/model/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/(list)/model/_layout/style.ts rename to src/routes/(main)/community/(list)/model/_layout/style.ts diff --git a/src/app/[variants]/(main)/community/(list)/model/features/Category/index.tsx b/src/routes/(main)/community/(list)/model/features/Category/index.tsx similarity index 96% rename from src/app/[variants]/(main)/community/(list)/model/features/Category/index.tsx rename to src/routes/(main)/community/(list)/model/features/Category/index.tsx index bcc1948e7c..f8a7f5adbb 100644 --- a/src/app/[variants]/(main)/community/(list)/model/features/Category/index.tsx +++ b/src/routes/(main)/community/(list)/model/features/Category/index.tsx @@ -5,9 +5,9 @@ import qs from 'query-string'; import { memo, useMemo } from 'react'; import { Link, useNavigate } from 'react-router-dom'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; import { withSuspense } from '@/components/withSuspense'; import { useQuery } from '@/hooks/useQuery'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import { useDiscoverStore } from '@/store/discover'; import CategoryMenu from '../../../../components/CategoryMenu'; diff --git a/src/app/[variants]/(main)/community/(list)/model/features/Category/useCategory.tsx b/src/routes/(main)/community/(list)/model/features/Category/useCategory.tsx similarity index 100% rename from src/app/[variants]/(main)/community/(list)/model/features/Category/useCategory.tsx rename to src/routes/(main)/community/(list)/model/features/Category/useCategory.tsx diff --git a/src/app/[variants]/(main)/community/(list)/model/features/List/Item.tsx b/src/routes/(main)/community/(list)/model/features/List/Item.tsx similarity index 98% rename from src/app/[variants]/(main)/community/(list)/model/features/List/Item.tsx rename to src/routes/(main)/community/(list)/model/features/List/Item.tsx index d91455b50f..1ecee0599b 100644 --- a/src/app/[variants]/(main)/community/(list)/model/features/List/Item.tsx +++ b/src/routes/(main)/community/(list)/model/features/List/Item.tsx @@ -11,9 +11,9 @@ import { Link, useNavigate } from 'react-router-dom'; import urlJoin from 'url-join'; import { ModelInfoTags } from '@/components/ModelSelect'; +import PublishedTime from '@/components/PublishedTime'; import { type DiscoverModelItem } from '@/types/discover'; -import PublishedTime from '../../../../../../../../components/PublishedTime'; import ModelTypeIcon from './ModelTypeIcon'; const styles = createStaticStyles(({ css, cssVar }) => { @@ -150,7 +150,6 @@ const ModelItem = memo( { describe('Grade A scenarios', () => { diff --git a/src/app/[variants]/(main)/community/features/const.ts b/src/routes/(main)/community/features/const.ts similarity index 100% rename from src/app/[variants]/(main)/community/features/const.ts rename to src/routes/(main)/community/features/const.ts diff --git a/src/app/[variants]/(main)/community/features/useNav.tsx b/src/routes/(main)/community/features/useNav.tsx similarity index 100% rename from src/app/[variants]/(main)/community/features/useNav.tsx rename to src/routes/(main)/community/features/useNav.tsx diff --git a/src/app/[variants]/(main)/components/Link.tsx b/src/routes/(main)/components/Link.tsx similarity index 100% rename from src/app/[variants]/(main)/components/Link.tsx rename to src/routes/(main)/components/Link.tsx diff --git a/src/app/[variants]/(main)/eval/(home)/_layout/index.tsx b/src/routes/(main)/eval/(home)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/(home)/_layout/index.tsx rename to src/routes/(main)/eval/(home)/_layout/index.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/Sidebar/Body/BenchmarkList.tsx b/src/routes/(main)/eval/_layout/Sidebar/Body/BenchmarkList.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/Sidebar/Body/BenchmarkList.tsx rename to src/routes/(main)/eval/_layout/Sidebar/Body/BenchmarkList.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/Sidebar/Body/index.tsx b/src/routes/(main)/eval/_layout/Sidebar/Body/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/Sidebar/Body/index.tsx rename to src/routes/(main)/eval/_layout/Sidebar/Body/index.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/Sidebar/Header/index.tsx b/src/routes/(main)/eval/_layout/Sidebar/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/Sidebar/Header/index.tsx rename to src/routes/(main)/eval/_layout/Sidebar/Header/index.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/Sidebar/index.tsx b/src/routes/(main)/eval/_layout/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/Sidebar/index.tsx rename to src/routes/(main)/eval/_layout/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/index.tsx b/src/routes/(main)/eval/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/index.tsx rename to src/routes/(main)/eval/_layout/index.tsx diff --git a/src/app/[variants]/(main)/eval/_layout/style.ts b/src/routes/(main)/eval/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/eval/_layout/style.ts rename to src/routes/(main)/eval/_layout/style.ts diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/DatasetList.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/DatasetList.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/DatasetList.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/DatasetList.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/RunList.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/RunList.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/RunList.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/RunList.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Body/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/BenchmarkHead.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/BenchmarkHead.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/BenchmarkHead.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/BenchmarkHead.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/Header/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/style.ts b/src/routes/(main)/eval/bench/[benchmarkId]/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/_layout/style.ts rename to src/routes/(main)/eval/bench/[benchmarkId]/_layout/style.ts diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/BenchmarkHeader/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/BenchmarkHeader/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/BenchmarkHeader/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/BenchmarkHeader/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetRunCreateModal/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetRunCreateModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetRunCreateModal/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetRunCreateModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetTabs/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetTabs/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetTabs/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetTabs/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/DatasetCard.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/DatasetCard.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/DatasetCard.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/DatasetCard.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/EmptyState.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/EmptyState.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/EmptyState.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/EmptyState.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseEmptyState.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseEmptyState.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseEmptyState.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseEmptyState.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewModal.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewModal.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewModal.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewModal.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewPanel.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewPanel.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewPanel.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCasePreviewPanel.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseTable.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseTable.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseTable.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/TestCaseTable.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/DatasetsTab/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx similarity index 96% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx index d3c3d905f5..8efb42f585 100644 --- a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx +++ b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunCards/RunSummaryCard.tsx @@ -6,7 +6,7 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; import { Link } from 'react-router-dom'; -import StatusBadge from '@/app/[variants]/(main)/eval/features/StatusBadge'; +import StatusBadge from '@/routes/(main)/eval/features/StatusBadge'; interface RunSummaryCardProps { benchmarkId: string; diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCards/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunCards/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCards/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunCards/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCreateModal/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunCreateModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunCreateModal/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunCreateModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunEditModal/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunEditModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunEditModal/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunEditModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/EmptyState.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/EmptyState.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/EmptyState.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/EmptyState.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/RunCard.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/RunCard.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/RunCard.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/RunCard.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunsTab/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/RunsTab/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/TestCaseList/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/TestCaseList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/TestCaseList/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/TestCaseList/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/TestCasesTab/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/features/TestCasesTab/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/features/TestCasesTab/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/features/TestCasesTab/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/CaseBanner/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/CaseBanner/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/CaseBanner/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/CaseBanner/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/ChatArea/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/ChatArea/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/ChatArea/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/ChatArea/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/InfoSidebar/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/InfoSidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/InfoSidebar/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/features/InfoSidebar/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/CaseResultsTable/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/CaseResultsTable/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/CaseResultsTable/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/CaseResultsTable/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/BenchmarkCharts.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/BenchmarkCharts.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/BenchmarkCharts.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/BenchmarkCharts.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/ScatterPlot.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/ScatterPlot.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/ScatterPlot.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/ScatterPlot.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/StatusDonut.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/StatusDonut.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/StatusDonut.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/Charts/StatusDonut.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/IdleState/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/IdleState/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/IdleState/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/IdleState/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/PendingState/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/PendingState/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/PendingState/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/PendingState/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx similarity index 98% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx index 5128387394..dc811ee957 100644 --- a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx +++ b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunHeader/index.tsx @@ -10,8 +10,8 @@ import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { Link, useNavigate } from 'react-router-dom'; -import RunEditModal from '@/app/[variants]/(main)/eval/bench/[benchmarkId]/features/RunEditModal'; -import StatusBadge from '@/app/[variants]/(main)/eval/features/StatusBadge'; +import RunEditModal from '@/routes/(main)/eval/bench/[benchmarkId]/features/RunEditModal'; +import StatusBadge from '@/routes/(main)/eval/features/StatusBadge'; import { useEvalStore } from '@/store/eval'; const useStyles = createStyles(({ css, token }) => ({ diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunInfo/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunInfo/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunInfo/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunInfo/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunningState/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunningState/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunningState/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/RunningState/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/StatsCards/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/StatsCards/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/StatsCards/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/features/StatsCards/index.tsx diff --git a/src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/index.tsx b/src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/bench/[benchmarkId]/runs/[runId]/index.tsx rename to src/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/index.tsx diff --git a/src/app/[variants]/(main)/eval/config/datasetPresets.ts b/src/routes/(main)/eval/config/datasetPresets.ts similarity index 100% rename from src/app/[variants]/(main)/eval/config/datasetPresets.ts rename to src/routes/(main)/eval/config/datasetPresets.ts diff --git a/src/app/[variants]/(main)/eval/features/BenchmarkCard/RunRow.tsx b/src/routes/(main)/eval/features/BenchmarkCard/RunRow.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/BenchmarkCard/RunRow.tsx rename to src/routes/(main)/eval/features/BenchmarkCard/RunRow.tsx diff --git a/src/app/[variants]/(main)/eval/features/BenchmarkCard/index.tsx b/src/routes/(main)/eval/features/BenchmarkCard/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/BenchmarkCard/index.tsx rename to src/routes/(main)/eval/features/BenchmarkCard/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/BenchmarkEditModal/index.tsx b/src/routes/(main)/eval/features/BenchmarkEditModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/BenchmarkEditModal/index.tsx rename to src/routes/(main)/eval/features/BenchmarkEditModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/CreateBenchmarkModal/index.tsx b/src/routes/(main)/eval/features/CreateBenchmarkModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/CreateBenchmarkModal/index.tsx rename to src/routes/(main)/eval/features/CreateBenchmarkModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/DatasetCreateModal/index.tsx b/src/routes/(main)/eval/features/DatasetCreateModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetCreateModal/index.tsx rename to src/routes/(main)/eval/features/DatasetCreateModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/DatasetEditModal/index.tsx b/src/routes/(main)/eval/features/DatasetEditModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetEditModal/index.tsx rename to src/routes/(main)/eval/features/DatasetEditModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/DatasetImportModal/MappingStep.tsx b/src/routes/(main)/eval/features/DatasetImportModal/MappingStep.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetImportModal/MappingStep.tsx rename to src/routes/(main)/eval/features/DatasetImportModal/MappingStep.tsx diff --git a/src/app/[variants]/(main)/eval/features/DatasetImportModal/UploadStep.tsx b/src/routes/(main)/eval/features/DatasetImportModal/UploadStep.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetImportModal/UploadStep.tsx rename to src/routes/(main)/eval/features/DatasetImportModal/UploadStep.tsx index cffb875fe9..2f2d3a0241 100644 --- a/src/app/[variants]/(main)/eval/features/DatasetImportModal/UploadStep.tsx +++ b/src/routes/(main)/eval/features/DatasetImportModal/UploadStep.tsx @@ -29,25 +29,25 @@ const styles = createStaticStyles(({ css, cssVar }) => ({ flex-wrap: wrap; `, formatDescription: css` - color: ${cssVar.colorTextDescription}; font-size: 12px; + color: ${cssVar.colorTextDescription}; `, hintText: css` margin: 0; - color: ${cssVar.colorTextTertiary}; font-size: 12px; + color: ${cssVar.colorTextTertiary}; `, icon: css` color: ${cssVar.colorPrimary}; `, iconCenter: css` - background: ${cssVar.colorBgElevated}; border: 1px solid ${cssVar.colorFillTertiary}; border-radius: ${cssVar.borderRadius}; + background: ${cssVar.colorBgElevated}; `, presetDescription: css` - color: ${cssVar.colorTextSecondary}; font-size: 12px; + color: ${cssVar.colorTextSecondary}; `, presetName: css` font-size: 14px; @@ -62,9 +62,9 @@ const styles = createStaticStyles(({ css, cssVar }) => ({ `, uploadText: css` margin: 0; - color: ${cssVar.colorText}; font-size: 14px; font-weight: 500; + color: ${cssVar.colorText}; `, })); diff --git a/src/app/[variants]/(main)/eval/features/DatasetImportModal/const.ts b/src/routes/(main)/eval/features/DatasetImportModal/const.ts similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetImportModal/const.ts rename to src/routes/(main)/eval/features/DatasetImportModal/const.ts diff --git a/src/app/[variants]/(main)/eval/features/DatasetImportModal/index.tsx b/src/routes/(main)/eval/features/DatasetImportModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/DatasetImportModal/index.tsx rename to src/routes/(main)/eval/features/DatasetImportModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/StatusBadge.tsx b/src/routes/(main)/eval/features/StatusBadge.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/StatusBadge.tsx rename to src/routes/(main)/eval/features/StatusBadge.tsx diff --git a/src/app/[variants]/(main)/eval/features/TestCaseCreateModal/index.tsx b/src/routes/(main)/eval/features/TestCaseCreateModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/TestCaseCreateModal/index.tsx rename to src/routes/(main)/eval/features/TestCaseCreateModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/features/TestCaseEditModal/index.tsx b/src/routes/(main)/eval/features/TestCaseEditModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/features/TestCaseEditModal/index.tsx rename to src/routes/(main)/eval/features/TestCaseEditModal/index.tsx diff --git a/src/app/[variants]/(main)/eval/index.tsx b/src/routes/(main)/eval/index.tsx similarity index 100% rename from src/app/[variants]/(main)/eval/index.tsx rename to src/routes/(main)/eval/index.tsx diff --git a/src/app/[variants]/(main)/eval/utils.ts b/src/routes/(main)/eval/utils.ts similarity index 100% rename from src/app/[variants]/(main)/eval/utils.ts rename to src/routes/(main)/eval/utils.ts diff --git a/src/app/[variants]/(main)/group/_layout/GroupIdSync.tsx b/src/routes/(main)/group/_layout/GroupIdSync.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/GroupIdSync.tsx rename to src/routes/(main)/group/_layout/GroupIdSync.tsx diff --git a/src/app/[variants]/(main)/group/_layout/RegisterHotkeys.tsx b/src/routes/(main)/group/_layout/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/RegisterHotkeys.tsx rename to src/routes/(main)/group/_layout/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/AgentItem.tsx b/src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/AgentItem.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/AgentItem.tsx rename to src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/AgentItem.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/AvailableAgentList.tsx b/src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/AvailableAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/AvailableAgentList.tsx rename to src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/AvailableAgentList.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/SelectedAgentList.tsx b/src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/SelectedAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/SelectedAgentList.tsx rename to src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/SelectedAgentList.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/index.tsx b/src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/store.ts b/src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/store.ts similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal/store.ts rename to src/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal/store.ts diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Body.tsx b/src/routes/(main)/group/_layout/Sidebar/Body.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Body.tsx rename to src/routes/(main)/group/_layout/Sidebar/Body.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/AgentProfilePopup.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/AgentProfilePopup.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/AgentProfilePopup.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/AgentProfilePopup.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupMember.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupMember.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupMember.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupMember.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupMemberItem.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupMemberItem.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupMemberItem.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupMemberItem.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupRole.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupRole.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/GroupRole.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/GroupRole.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx similarity index 88% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx index a0b475aea3..b994f46295 100644 --- a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx +++ b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/Header/Avatar.tsx @@ -3,8 +3,8 @@ import { Block } from '@lobehub/ui'; import { memo } from 'react'; -import SupervisorAvatar from '@/app/[variants]/(main)/group/features/GroupAvatar'; import { useOpenChatSettings } from '@/hooks/useInterceptingRoutes'; +import SupervisorAvatar from '@/routes/(main)/group/features/GroupAvatar'; const HeaderAvatar = memo<{ size?: number }>(() => { const openChatSettings = useOpenChatSettings(); diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/Header/index.tsx b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/Header/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/Header/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/style.ts b/src/routes/(main)/group/_layout/Sidebar/GroupConfig/style.ts similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/GroupConfig/style.ts rename to src/routes/(main)/group/_layout/Sidebar/GroupConfig/style.ts diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx b/src/routes/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx similarity index 85% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx rename to src/routes/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx index a9320c8576..fe50b7b850 100644 --- a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx +++ b/src/routes/(main)/group/_layout/Sidebar/Header/Agent/SwitchPanel.tsx @@ -3,9 +3,9 @@ import { type PropsWithChildren } from 'react'; import React, { memo, Suspense } from 'react'; import { useNavigate } from 'react-router-dom'; -import List from '@/app/[variants]/(main)/home/_layout/Body/Agent/List'; -import { AgentModalProvider } from '@/app/[variants]/(main)/home/_layout/Body/Agent/ModalProvider'; import SkeletonList from '@/features/NavPanel/components/SkeletonList'; +import List from '@/routes/(main)/home/_layout/Body/Agent/List'; +import { AgentModalProvider } from '@/routes/(main)/home/_layout/Body/Agent/ModalProvider'; const SwitchPanel = memo(({ children }) => { const navigate = useNavigate(); diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Header/Agent/index.tsx similarity index 94% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Header/Agent/index.tsx index 6762315b3b..91efc6880e 100644 --- a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/Agent/index.tsx +++ b/src/routes/(main)/group/_layout/Sidebar/Header/Agent/index.tsx @@ -6,8 +6,8 @@ import { type PropsWithChildren } from 'react'; import React, { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import SupervisorAvatar from '@/app/[variants]/(main)/group/features/GroupAvatar'; import { SkeletonItem } from '@/features/NavPanel/components/SkeletonList'; +import SupervisorAvatar from '@/routes/(main)/group/features/GroupAvatar'; import { useAgentGroupStore } from '@/store/agentGroup'; import { agentGroupSelectors } from '@/store/agentGroup/selectors'; diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/Nav.tsx b/src/routes/(main)/group/_layout/Sidebar/Header/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Header/Nav.tsx rename to src/routes/(main)/group/_layout/Sidebar/Header/Nav.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Header/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Header/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Header/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Members/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Members/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Members/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Members/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/Actions.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/Actions.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/Actions.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/Content.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/AllTopicsDrawer/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/Actions.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/Editing.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/Editing.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/Editing.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/List/Item/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/List/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/List/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/List/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/GroupItem.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ByTimeMode/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/FlatMode/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/SearchResult/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/Item/Actions.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/Item/Actions.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Actions.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/Editing.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/ThreadItem/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/ThreadList/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicListContent/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicListContent/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicSearchBar/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/TopicSearchBar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/TopicSearchBar/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/TopicSearchBar/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts b/src/routes/(main)/group/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts rename to src/routes/(main)/group/_layout/Sidebar/Topic/hooks/useThreadNavigation.ts diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/index.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/Topic/useDropdownMenu.tsx b/src/routes/(main)/group/_layout/Sidebar/Topic/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/Topic/useDropdownMenu.tsx rename to src/routes/(main)/group/_layout/Sidebar/Topic/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/group/_layout/Sidebar/index.tsx b/src/routes/(main)/group/_layout/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/Sidebar/index.tsx rename to src/routes/(main)/group/_layout/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/index.tsx b/src/routes/(main)/group/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/_layout/index.tsx rename to src/routes/(main)/group/_layout/index.tsx diff --git a/src/app/[variants]/(main)/community/_layout/style.ts b/src/routes/(main)/group/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/community/_layout/style.ts rename to src/routes/(main)/group/_layout/style.ts diff --git a/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/OpeningQuestions.tsx b/src/routes/(main)/group/features/Conversation/AgentWelcome/OpeningQuestions.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/OpeningQuestions.tsx rename to src/routes/(main)/group/features/Conversation/AgentWelcome/OpeningQuestions.tsx diff --git a/src/routes/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx b/src/routes/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx new file mode 100644 index 0000000000..89be94e83c --- /dev/null +++ b/src/routes/(main)/group/features/Conversation/AgentWelcome/ToolAuthAlert.tsx @@ -0,0 +1,2 @@ +// Re-export from chat version to avoid code duplication +export { default } from '@/routes/(main)/agent/features/Conversation/AgentWelcome/ToolAuthAlert'; diff --git a/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/index.tsx b/src/routes/(main)/group/features/Conversation/AgentWelcome/index.tsx similarity index 97% rename from src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/index.tsx rename to src/routes/(main)/group/features/Conversation/AgentWelcome/index.tsx index 1c46536510..b7384889a3 100644 --- a/src/app/[variants]/(main)/group/features/Conversation/AgentWelcome/index.tsx +++ b/src/routes/(main)/group/features/Conversation/AgentWelcome/index.tsx @@ -5,8 +5,8 @@ import isEqual from 'fast-deep-equal'; import React, { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import SupervisorAvatar from '@/app/[variants]/(main)/group/features/GroupAvatar'; import { useIsMobile } from '@/hooks/useIsMobile'; +import SupervisorAvatar from '@/routes/(main)/group/features/GroupAvatar'; import { useAgentStore } from '@/store/agent'; import { agentSelectors, builtinAgentSelectors } from '@/store/agent/selectors'; import { agentGroupSelectors, useAgentGroupStore } from '@/store/agentGroup'; diff --git a/src/app/[variants]/(main)/group/features/Conversation/ChatHydration/index.tsx b/src/routes/(main)/group/features/Conversation/ChatHydration/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/ChatHydration/index.tsx rename to src/routes/(main)/group/features/Conversation/ChatHydration/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/ChatItem/Thread.tsx b/src/routes/(main)/group/features/Conversation/ChatItem/Thread.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/ChatItem/Thread.tsx rename to src/routes/(main)/group/features/Conversation/ChatItem/Thread.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/ChatItem/ThreadItem.tsx b/src/routes/(main)/group/features/Conversation/ChatItem/ThreadItem.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/ChatItem/ThreadItem.tsx rename to src/routes/(main)/group/features/Conversation/ChatItem/ThreadItem.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/ConversationArea.tsx b/src/routes/(main)/group/features/Conversation/ConversationArea.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/ConversationArea.tsx rename to src/routes/(main)/group/features/Conversation/ConversationArea.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/ShareButton/index.tsx b/src/routes/(main)/group/features/Conversation/Header/ShareButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/ShareButton/index.tsx rename to src/routes/(main)/group/features/Conversation/Header/ShareButton/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/Tags/KnowledgeTag.tsx b/src/routes/(main)/group/features/Conversation/Header/Tags/KnowledgeTag.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/Tags/KnowledgeTag.tsx rename to src/routes/(main)/group/features/Conversation/Header/Tags/KnowledgeTag.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/Tags/MemberCountTag.tsx b/src/routes/(main)/group/features/Conversation/Header/Tags/MemberCountTag.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/Tags/MemberCountTag.tsx rename to src/routes/(main)/group/features/Conversation/Header/Tags/MemberCountTag.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/Tags/SearchTags.tsx b/src/routes/(main)/group/features/Conversation/Header/Tags/SearchTags.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/Tags/SearchTags.tsx rename to src/routes/(main)/group/features/Conversation/Header/Tags/SearchTags.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/Tags/index.tsx b/src/routes/(main)/group/features/Conversation/Header/Tags/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/Tags/index.tsx rename to src/routes/(main)/group/features/Conversation/Header/Tags/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/Header/index.tsx b/src/routes/(main)/group/features/Conversation/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/Header/index.tsx rename to src/routes/(main)/group/features/Conversation/Header/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/MainChatInput/GroupChat.tsx b/src/routes/(main)/group/features/Conversation/MainChatInput/GroupChat.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/MainChatInput/GroupChat.tsx rename to src/routes/(main)/group/features/Conversation/MainChatInput/GroupChat.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/MainChatInput/MessageFromUrl.tsx b/src/routes/(main)/group/features/Conversation/MainChatInput/MessageFromUrl.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/MainChatInput/MessageFromUrl.tsx rename to src/routes/(main)/group/features/Conversation/MainChatInput/MessageFromUrl.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/MainChatInput/index.tsx b/src/routes/(main)/group/features/Conversation/MainChatInput/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/MainChatInput/index.tsx rename to src/routes/(main)/group/features/Conversation/MainChatInput/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/MainChatInput/useSendMenuItems.tsx b/src/routes/(main)/group/features/Conversation/MainChatInput/useSendMenuItems.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/MainChatInput/useSendMenuItems.tsx rename to src/routes/(main)/group/features/Conversation/MainChatInput/useSendMenuItems.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/ThreadHydration.tsx b/src/routes/(main)/group/features/Conversation/ThreadHydration.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/ThreadHydration.tsx rename to src/routes/(main)/group/features/Conversation/ThreadHydration.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/index.tsx b/src/routes/(main)/group/features/Conversation/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/index.tsx rename to src/routes/(main)/group/features/Conversation/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Conversation/useActionsBarConfig.ts b/src/routes/(main)/group/features/Conversation/useActionsBarConfig.ts similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/useActionsBarConfig.ts rename to src/routes/(main)/group/features/Conversation/useActionsBarConfig.ts diff --git a/src/app/[variants]/(main)/group/features/Conversation/useGroupContext.ts b/src/routes/(main)/group/features/Conversation/useGroupContext.ts similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/useGroupContext.ts rename to src/routes/(main)/group/features/Conversation/useGroupContext.ts diff --git a/src/app/[variants]/(main)/group/features/Conversation/useGroupHooks.ts b/src/routes/(main)/group/features/Conversation/useGroupHooks.ts similarity index 100% rename from src/app/[variants]/(main)/group/features/Conversation/useGroupHooks.ts rename to src/routes/(main)/group/features/Conversation/useGroupHooks.ts diff --git a/src/app/[variants]/(main)/group/features/GroupAvatar.tsx b/src/routes/(main)/group/features/GroupAvatar.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/GroupAvatar.tsx rename to src/routes/(main)/group/features/GroupAvatar.tsx diff --git a/src/app/[variants]/(main)/group/features/PageTitle/index.tsx b/src/routes/(main)/group/features/PageTitle/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/PageTitle/index.tsx rename to src/routes/(main)/group/features/PageTitle/index.tsx diff --git a/src/app/[variants]/(main)/group/features/Portal/_layout/Desktop.tsx b/src/routes/(main)/group/features/Portal/_layout/Desktop.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Portal/_layout/Desktop.tsx rename to src/routes/(main)/group/features/Portal/_layout/Desktop.tsx diff --git a/src/app/[variants]/(main)/group/features/Portal/_layout/Mobile.tsx b/src/routes/(main)/group/features/Portal/_layout/Mobile.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Portal/_layout/Mobile.tsx rename to src/routes/(main)/group/features/Portal/_layout/Mobile.tsx diff --git a/src/app/[variants]/(main)/group/features/Portal/features/Body.tsx b/src/routes/(main)/group/features/Portal/features/Body.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/Portal/features/Body.tsx rename to src/routes/(main)/group/features/Portal/features/Body.tsx diff --git a/src/app/[variants]/(main)/group/features/Portal/index.tsx b/src/routes/(main)/group/features/Portal/index.tsx similarity index 64% rename from src/app/[variants]/(main)/group/features/Portal/index.tsx rename to src/routes/(main)/group/features/Portal/index.tsx index ebe3e464e3..84a9421ea9 100644 --- a/src/app/[variants]/(main)/group/features/Portal/index.tsx +++ b/src/routes/(main)/group/features/Portal/index.tsx @@ -1,8 +1,8 @@ import { Suspense } from 'react'; -import Portal from '@/app/[variants]/(main)/agent/features/Portal/features/Portal'; -import PortalPanel from '@/app/[variants]/(main)/agent/features/Portal/features/PortalPanel'; import Loading from '@/components/Loading/BrandTextLoading'; +import Portal from '@/routes/(main)/agent/features/Portal/features/Portal'; +import PortalPanel from '@/routes/(main)/agent/features/Portal/features/PortalPanel'; const ChatPortal = () => { return ( diff --git a/src/app/[variants]/(main)/group/features/TelemetryNotification.tsx b/src/routes/(main)/group/features/TelemetryNotification.tsx similarity index 100% rename from src/app/[variants]/(main)/group/features/TelemetryNotification.tsx rename to src/routes/(main)/group/features/TelemetryNotification.tsx diff --git a/src/app/[variants]/(main)/group/index.tsx b/src/routes/(main)/group/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/index.tsx rename to src/routes/(main)/group/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/StoreSync.tsx b/src/routes/(main)/group/profile/StoreSync.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/StoreSync.tsx rename to src/routes/(main)/group/profile/StoreSync.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentBuilder/AgentBuilderConversation.tsx b/src/routes/(main)/group/profile/features/AgentBuilder/AgentBuilderConversation.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentBuilder/AgentBuilderConversation.tsx rename to src/routes/(main)/group/profile/features/AgentBuilder/AgentBuilderConversation.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentBuilder/AgentBuilderProvider.tsx b/src/routes/(main)/group/profile/features/AgentBuilder/AgentBuilderProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentBuilder/AgentBuilderProvider.tsx rename to src/routes/(main)/group/profile/features/AgentBuilder/AgentBuilderProvider.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentBuilder/TopicSelector.tsx b/src/routes/(main)/group/profile/features/AgentBuilder/TopicSelector.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentBuilder/TopicSelector.tsx rename to src/routes/(main)/group/profile/features/AgentBuilder/TopicSelector.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentBuilder/index.tsx b/src/routes/(main)/group/profile/features/AgentBuilder/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentBuilder/index.tsx rename to src/routes/(main)/group/profile/features/AgentBuilder/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentSettings/Content.tsx b/src/routes/(main)/group/profile/features/AgentSettings/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentSettings/Content.tsx rename to src/routes/(main)/group/profile/features/AgentSettings/Content.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/AgentSettings/index.tsx b/src/routes/(main)/group/profile/features/AgentSettings/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/AgentSettings/index.tsx rename to src/routes/(main)/group/profile/features/AgentSettings/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupForkTag.tsx b/src/routes/(main)/group/profile/features/GroupProfile/GroupForkTag.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupForkTag.tsx rename to src/routes/(main)/group/profile/features/GroupProfile/GroupForkTag.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupHeader.tsx b/src/routes/(main)/group/profile/features/GroupProfile/GroupHeader.tsx similarity index 98% rename from src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupHeader.tsx rename to src/routes/(main)/group/profile/features/GroupProfile/GroupHeader.tsx index dd59ffeb24..85bfb23c1f 100644 --- a/src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupHeader.tsx +++ b/src/routes/(main)/group/profile/features/GroupProfile/GroupHeader.tsx @@ -9,9 +9,9 @@ import { PaletteIcon } from 'lucide-react'; import { memo, Suspense, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import GroupAvatar from '@/app/[variants]/(main)/group/features/GroupAvatar'; import EmojiPicker from '@/components/EmojiPicker'; import BackgroundSwatches from '@/features/AgentSetting/AgentMeta/BackgroundSwatches'; +import GroupAvatar from '@/routes/(main)/group/features/GroupAvatar'; import { useAgentGroupStore } from '@/store/agentGroup'; import { agentGroupSelectors } from '@/store/agentGroup/selectors'; import { useFileStore } from '@/store/file'; diff --git a/src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupStatusTag.tsx b/src/routes/(main)/group/profile/features/GroupProfile/GroupStatusTag.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupStatusTag.tsx rename to src/routes/(main)/group/profile/features/GroupProfile/GroupStatusTag.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupVersionReviewTag.tsx b/src/routes/(main)/group/profile/features/GroupProfile/GroupVersionReviewTag.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/GroupProfile/GroupVersionReviewTag.tsx rename to src/routes/(main)/group/profile/features/GroupProfile/GroupVersionReviewTag.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/GroupProfile/index.tsx b/src/routes/(main)/group/profile/features/GroupProfile/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/GroupProfile/index.tsx rename to src/routes/(main)/group/profile/features/GroupProfile/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentBuilderToggle.tsx b/src/routes/(main)/group/profile/features/Header/AgentBuilderToggle.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentBuilderToggle.tsx rename to src/routes/(main)/group/profile/features/Header/AgentBuilderToggle.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/PublishButton.tsx b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/PublishButton.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/PublishButton.tsx rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/PublishButton.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/PublishResultModal.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/index.tsx b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/index.tsx rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/types.ts b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/types.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/types.ts rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/types.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/useMarketPublish.ts b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/useMarketPublish.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/useMarketPublish.ts rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/useMarketPublish.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/utils.ts b/src/routes/(main)/group/profile/features/Header/AgentPublishButton/utils.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AgentPublishButton/utils.ts rename to src/routes/(main)/group/profile/features/Header/AgentPublishButton/utils.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/AutoSaveHint.tsx b/src/routes/(main)/group/profile/features/Header/AutoSaveHint.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/AutoSaveHint.tsx rename to src/routes/(main)/group/profile/features/Header/AutoSaveHint.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/ChromeTabs/index.tsx b/src/routes/(main)/group/profile/features/Header/ChromeTabs/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/ChromeTabs/index.tsx rename to src/routes/(main)/group/profile/features/Header/ChromeTabs/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/GroupForkConfirmModal.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/GroupPublishResultModal.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/PublishButton.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/index.tsx b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/index.tsx rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/types.ts b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/types.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/types.ts rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/types.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/useMarketGroupPublish.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/utils.ts b/src/routes/(main)/group/profile/features/Header/GroupPublishButton/utils.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/Header/GroupPublishButton/utils.ts rename to src/routes/(main)/group/profile/features/Header/GroupPublishButton/utils.ts diff --git a/src/app/[variants]/(main)/group/profile/features/Header/index.tsx b/src/routes/(main)/group/profile/features/Header/index.tsx similarity index 97% rename from src/app/[variants]/(main)/group/profile/features/Header/index.tsx rename to src/routes/(main)/group/profile/features/Header/index.tsx index aa977f6b46..ef5c9f5a5b 100644 --- a/src/app/[variants]/(main)/group/profile/features/Header/index.tsx +++ b/src/routes/(main)/group/profile/features/Header/index.tsx @@ -6,9 +6,9 @@ import { Crown, Users } from 'lucide-react'; import { memo, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import AddGroupMemberModal from '@/app/[variants]/(main)/group/_layout/Sidebar/AddGroupMemberModal'; import ToggleLeftPanelButton from '@/features/NavPanel/ToggleLeftPanelButton'; import { parseAsString, useQueryState } from '@/hooks/useQueryParam'; +import AddGroupMemberModal from '@/routes/(main)/group/_layout/Sidebar/AddGroupMemberModal'; import { useAgentGroupStore } from '@/store/agentGroup'; import { agentGroupSelectors } from '@/store/agentGroup/selectors'; import { useGlobalStore } from '@/store/global'; diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/AgentHeader.tsx b/src/routes/(main)/group/profile/features/MemberProfile/AgentHeader.tsx similarity index 98% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/AgentHeader.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/AgentHeader.tsx index 4ebb29616a..b370ad2683 100644 --- a/src/app/[variants]/(main)/group/profile/features/MemberProfile/AgentHeader.tsx +++ b/src/routes/(main)/group/profile/features/MemberProfile/AgentHeader.tsx @@ -9,9 +9,9 @@ import { PaletteIcon } from 'lucide-react'; import { memo, Suspense, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import SupervisorAvatar from '@/app/[variants]/(main)/group/features/GroupAvatar'; import EmojiPicker from '@/components/EmojiPicker'; import BackgroundSwatches from '@/features/AgentSetting/AgentMeta/BackgroundSwatches'; +import SupervisorAvatar from '@/routes/(main)/group/features/GroupAvatar'; import { useAgentStore } from '@/store/agent'; import { agentSelectors } from '@/store/agent/selectors'; import { useFileStore } from '@/store/file'; diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/AgentTool.tsx b/src/routes/(main)/group/profile/features/MemberProfile/AgentTool.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/AgentTool.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/AgentTool.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/MentionDropdown.tsx b/src/routes/(main)/group/profile/features/MemberProfile/MentionList/MentionDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/MentionDropdown.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/MentionList/MentionDropdown.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/index.tsx b/src/routes/(main)/group/profile/features/MemberProfile/MentionList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/index.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/MentionList/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/types.ts b/src/routes/(main)/group/profile/features/MemberProfile/MentionList/types.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/types.ts rename to src/routes/(main)/group/profile/features/MemberProfile/MentionList/types.ts diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/useMentionItems.tsx b/src/routes/(main)/group/profile/features/MemberProfile/MentionList/useMentionItems.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/MentionList/useMentionItems.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/MentionList/useMentionItems.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/MemberProfile/index.tsx b/src/routes/(main)/group/profile/features/MemberProfile/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/MemberProfile/index.tsx rename to src/routes/(main)/group/profile/features/MemberProfile/index.tsx diff --git a/src/app/[variants]/(main)/group/profile/features/constants.ts b/src/routes/(main)/group/profile/features/constants.ts similarity index 100% rename from src/app/[variants]/(main)/group/profile/features/constants.ts rename to src/routes/(main)/group/profile/features/constants.ts diff --git a/src/app/[variants]/(main)/group/profile/index.tsx b/src/routes/(main)/group/profile/index.tsx similarity index 100% rename from src/app/[variants]/(main)/group/profile/index.tsx rename to src/routes/(main)/group/profile/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/Actions.tsx b/src/routes/(main)/home/_layout/Body/Agent/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/Actions.tsx rename to src/routes/(main)/home/_layout/Body/Agent/Actions.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/AllAgentsDrawer/Content.tsx b/src/routes/(main)/home/_layout/Body/Agent/AllAgentsDrawer/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/AllAgentsDrawer/Content.tsx rename to src/routes/(main)/home/_layout/Body/Agent/AllAgentsDrawer/Content.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/AllAgentsDrawer/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/AllAgentsDrawer/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/AllAgentsDrawer/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/AllAgentsDrawer/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentGroupItem/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/AgentGroupItem/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentGroupItem/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/AgentGroupItem/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentGroupItem/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/AgentGroupItem/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentGroupItem/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/AgentGroupItem/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/Avatar.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/AgentItem/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/AgentItem/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/Actions.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/Group/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/Actions.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/Group/Actions.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/Item.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/Group/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/Item.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/Group/Item.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/Group/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/Group/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/Group/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/Group/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/Group/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/InboxItem.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/InboxItem.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/InboxItem.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/InboxItem.tsx diff --git a/src/app/[variants]/(main)/page/_layout/Body/List/Item/Actions.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/page/_layout/Body/List/Item/Actions.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/Item/Actions.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/List.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/List.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/List.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/List.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/index.tsx similarity index 95% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/index.tsx index 2e5735045b..f0433ed078 100644 --- a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/index.tsx +++ b/src/routes/(main)/home/_layout/Body/Agent/List/index.tsx @@ -2,12 +2,12 @@ import { memo, useMemo } from 'react'; +import SkeletonList from '@/features/NavPanel/components/SkeletonList'; import { useFetchAgentList } from '@/hooks/useFetchAgentList'; import { useHomeStore } from '@/store/home'; import { homeAgentListSelectors } from '@/store/home/selectors'; import { SessionDefaultGroup } from '@/types/index'; -import SkeletonList from '../../../../../../../../features/NavPanel/components/SkeletonList'; import AllAgentsDrawer from '../AllAgentsDrawer'; import Group from './Group'; import InboxItem from './InboxItem'; diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/List/useAgentList.tsx b/src/routes/(main)/home/_layout/Body/Agent/List/useAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/List/useAgentList.tsx rename to src/routes/(main)/home/_layout/Body/Agent/List/useAgentList.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/ModalProvider.tsx b/src/routes/(main)/home/_layout/Body/Agent/ModalProvider.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/ModalProvider.tsx rename to src/routes/(main)/home/_layout/Body/Agent/ModalProvider.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/GroupItem.tsx b/src/routes/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/GroupItem.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/GroupItem.tsx rename to src/routes/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/GroupItem.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/Modals/ConfigGroupModal/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/CreateGroupModal.tsx b/src/routes/(main)/home/_layout/Body/Agent/Modals/CreateGroupModal.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/Modals/CreateGroupModal.tsx rename to src/routes/(main)/home/_layout/Body/Agent/Modals/CreateGroupModal.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/index.tsx b/src/routes/(main)/home/_layout/Body/Agent/index.tsx similarity index 95% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/index.tsx rename to src/routes/(main)/home/_layout/Body/Agent/index.tsx index fcf56623ae..1ea2813d93 100644 --- a/src/app/[variants]/(main)/home/_layout/Body/Agent/index.tsx +++ b/src/routes/(main)/home/_layout/Body/Agent/index.tsx @@ -5,9 +5,9 @@ import React, { memo, Suspense, useCallback } from 'react'; import { useTranslation } from 'react-i18next'; import NeuralNetworkLoading from '@/components/NeuralNetworkLoading'; +import SkeletonList from '@/features/NavPanel/components/SkeletonList'; import { useFetchAgentList } from '@/hooks/useFetchAgentList'; -import SkeletonList from '../../../../../../../features/NavPanel/components/SkeletonList'; import { useCreateMenuItems } from '../../hooks'; import Actions from './Actions'; import List from './List'; diff --git a/src/app/[variants]/(main)/home/_layout/Body/Agent/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Agent/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Agent/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Agent/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/BottomMenu/index.tsx b/src/routes/(main)/home/_layout/Body/BottomMenu/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/BottomMenu/index.tsx rename to src/routes/(main)/home/_layout/Body/BottomMenu/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/Actions.tsx b/src/routes/(main)/home/_layout/Body/Project/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/Actions.tsx rename to src/routes/(main)/home/_layout/Body/Project/Actions.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/List/Actions.tsx b/src/routes/(main)/home/_layout/Body/Project/List/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/List/Actions.tsx rename to src/routes/(main)/home/_layout/Body/Project/List/Actions.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/List/Editing.tsx b/src/routes/(main)/home/_layout/Body/Project/List/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/List/Editing.tsx rename to src/routes/(main)/home/_layout/Body/Project/List/Editing.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/List/Item.tsx b/src/routes/(main)/home/_layout/Body/Project/List/Item.tsx similarity index 93% rename from src/app/[variants]/(main)/home/_layout/Body/Project/List/Item.tsx rename to src/routes/(main)/home/_layout/Body/Project/List/Item.tsx index 8599fbdfca..409b7cdce0 100644 --- a/src/app/[variants]/(main)/home/_layout/Body/Project/List/Item.tsx +++ b/src/routes/(main)/home/_layout/Body/Project/List/Item.tsx @@ -1,9 +1,9 @@ import { BoxIcon } from 'lucide-react'; import { memo, useCallback } from 'react'; +import NavItem from '@/features/NavPanel/components/NavItem'; import { useKnowledgeBaseStore } from '@/store/library'; -import NavItem from '../../../../../../../../features/NavPanel/components/NavItem'; import Actions from './Actions'; import Editing from './Editing'; import { useProjectItemDropdownMenu } from './useDropdownMenu'; diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/List/index.tsx b/src/routes/(main)/home/_layout/Body/Project/List/index.tsx similarity index 87% rename from src/app/[variants]/(main)/home/_layout/Body/Project/List/index.tsx rename to src/routes/(main)/home/_layout/Body/Project/List/index.tsx index 2872462366..7e2d0748a1 100644 --- a/src/app/[variants]/(main)/home/_layout/Body/Project/List/index.tsx +++ b/src/routes/(main)/home/_layout/Body/Project/List/index.tsx @@ -6,10 +6,10 @@ import { useTranslation } from 'react-i18next'; import { Link, useNavigate } from 'react-router-dom'; import { LIBRARY_URL } from '@/const/url'; +import EmptyNavItem from '@/features/NavPanel/components/EmptyNavItem'; +import SkeletonList from '@/features/NavPanel/components/SkeletonList'; import { useKnowledgeBaseStore } from '@/store/library'; -import EmptyNavItem from '../../../../../../../../features/NavPanel/components/EmptyNavItem'; -import SkeletonList from '../../../../../../../../features/NavPanel/components/SkeletonList'; import { useProjectMenuItems } from '../../../hooks'; import Item from './Item'; diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/List/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Project/List/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/List/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Project/List/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/index.tsx b/src/routes/(main)/home/_layout/Body/Project/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/index.tsx rename to src/routes/(main)/home/_layout/Body/Project/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/Project/useDropdownMenu.tsx b/src/routes/(main)/home/_layout/Body/Project/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/Project/useDropdownMenu.tsx rename to src/routes/(main)/home/_layout/Body/Project/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Body/index.tsx b/src/routes/(main)/home/_layout/Body/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Body/index.tsx rename to src/routes/(main)/home/_layout/Body/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/CreateGroupModal/AgentItem.tsx b/src/routes/(main)/home/_layout/CreateGroupModal/AgentItem.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/CreateGroupModal/AgentItem.tsx rename to src/routes/(main)/home/_layout/CreateGroupModal/AgentItem.tsx diff --git a/src/app/[variants]/(main)/home/_layout/CreateGroupModal/AvailableAgentList.tsx b/src/routes/(main)/home/_layout/CreateGroupModal/AvailableAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/CreateGroupModal/AvailableAgentList.tsx rename to src/routes/(main)/home/_layout/CreateGroupModal/AvailableAgentList.tsx diff --git a/src/app/[variants]/(main)/home/_layout/CreateGroupModal/SelectedAgentList.tsx b/src/routes/(main)/home/_layout/CreateGroupModal/SelectedAgentList.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/CreateGroupModal/SelectedAgentList.tsx rename to src/routes/(main)/home/_layout/CreateGroupModal/SelectedAgentList.tsx diff --git a/src/app/[variants]/(main)/home/_layout/CreateGroupModal/index.tsx b/src/routes/(main)/home/_layout/CreateGroupModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/CreateGroupModal/index.tsx rename to src/routes/(main)/home/_layout/CreateGroupModal/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/CreateGroupModal/store.ts b/src/routes/(main)/home/_layout/CreateGroupModal/store.ts similarity index 100% rename from src/app/[variants]/(main)/home/_layout/CreateGroupModal/store.ts rename to src/routes/(main)/home/_layout/CreateGroupModal/store.ts diff --git a/src/app/[variants]/(main)/home/_layout/Footer/index.tsx b/src/routes/(main)/home/_layout/Footer/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Footer/index.tsx rename to src/routes/(main)/home/_layout/Footer/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Header/components/AddButton.tsx b/src/routes/(main)/home/_layout/Header/components/AddButton.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Header/components/AddButton.tsx rename to src/routes/(main)/home/_layout/Header/components/AddButton.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Header/components/Nav.tsx b/src/routes/(main)/home/_layout/Header/components/Nav.tsx similarity index 95% rename from src/app/[variants]/(main)/home/_layout/Header/components/Nav.tsx rename to src/routes/(main)/home/_layout/Header/components/Nav.tsx index 54a611d74d..b8a01c668b 100644 --- a/src/app/[variants]/(main)/home/_layout/Header/components/Nav.tsx +++ b/src/routes/(main)/home/_layout/Header/components/Nav.tsx @@ -7,6 +7,8 @@ import { useTranslation } from 'react-i18next'; import { Link, useNavigate } from 'react-router-dom'; import { getRouteById } from '@/config/routes'; +import { type NavItemProps } from '@/features/NavPanel/components/NavItem'; +import NavItem from '@/features/NavPanel/components/NavItem'; import { useActiveTabKey } from '@/hooks/useActiveTabKey'; import { useGlobalStore } from '@/store/global'; import { SidebarTabKey } from '@/store/global/initialState'; @@ -16,9 +18,6 @@ import { useServerConfigStore, } from '@/store/serverConfig'; -import { type NavItemProps } from '../../../../../../../features/NavPanel/components/NavItem'; -import NavItem from '../../../../../../../features/NavPanel/components/NavItem'; - interface Item { hidden?: boolean | undefined; icon: NavItemProps['icon']; diff --git a/src/app/[variants]/(main)/home/_layout/Header/components/User.tsx b/src/routes/(main)/home/_layout/Header/components/User.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Header/components/User.tsx rename to src/routes/(main)/home/_layout/Header/components/User.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Header/index.tsx b/src/routes/(main)/home/_layout/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Header/index.tsx rename to src/routes/(main)/home/_layout/Header/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/HomeAgentIdSync.tsx b/src/routes/(main)/home/_layout/HomeAgentIdSync.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/HomeAgentIdSync.tsx rename to src/routes/(main)/home/_layout/HomeAgentIdSync.tsx diff --git a/src/app/[variants]/(main)/home/_layout/RecentHydration.tsx b/src/routes/(main)/home/_layout/RecentHydration.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/RecentHydration.tsx rename to src/routes/(main)/home/_layout/RecentHydration.tsx diff --git a/src/app/[variants]/(main)/home/_layout/Sidebar.tsx b/src/routes/(main)/home/_layout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/Sidebar.tsx rename to src/routes/(main)/home/_layout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/home/_layout/SidebarContent.tsx b/src/routes/(main)/home/_layout/SidebarContent.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/SidebarContent.tsx rename to src/routes/(main)/home/_layout/SidebarContent.tsx diff --git a/src/app/[variants]/(main)/home/_layout/hooks/index.ts b/src/routes/(main)/home/_layout/hooks/index.ts similarity index 100% rename from src/app/[variants]/(main)/home/_layout/hooks/index.ts rename to src/routes/(main)/home/_layout/hooks/index.ts diff --git a/src/app/[variants]/(main)/home/_layout/hooks/useCreateMenuItems.tsx b/src/routes/(main)/home/_layout/hooks/useCreateMenuItems.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/hooks/useCreateMenuItems.tsx rename to src/routes/(main)/home/_layout/hooks/useCreateMenuItems.tsx diff --git a/src/app/[variants]/(main)/home/_layout/hooks/useProjectMenuItems.tsx b/src/routes/(main)/home/_layout/hooks/useProjectMenuItems.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/hooks/useProjectMenuItems.tsx rename to src/routes/(main)/home/_layout/hooks/useProjectMenuItems.tsx diff --git a/src/app/[variants]/(main)/home/_layout/hooks/useSessionGroupMenuItems.tsx b/src/routes/(main)/home/_layout/hooks/useSessionGroupMenuItems.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/hooks/useSessionGroupMenuItems.tsx rename to src/routes/(main)/home/_layout/hooks/useSessionGroupMenuItems.tsx diff --git a/src/app/[variants]/(main)/home/_layout/index.tsx b/src/routes/(main)/home/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/_layout/index.tsx rename to src/routes/(main)/home/_layout/index.tsx diff --git a/src/app/[variants]/(main)/home/_layout/style.ts b/src/routes/(main)/home/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/home/_layout/style.ts rename to src/routes/(main)/home/_layout/style.ts diff --git a/src/app/[variants]/(main)/home/features/CommunityAgents/Item.tsx b/src/routes/(main)/home/features/CommunityAgents/Item.tsx similarity index 96% rename from src/app/[variants]/(main)/home/features/CommunityAgents/Item.tsx rename to src/routes/(main)/home/features/CommunityAgents/Item.tsx index 06636b7c1c..0e9cc043d8 100644 --- a/src/app/[variants]/(main)/home/features/CommunityAgents/Item.tsx +++ b/src/routes/(main)/home/features/CommunityAgents/Item.tsx @@ -2,9 +2,9 @@ import { Avatar, Block, Flexbox, Text } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo } from 'react'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; import { DEFAULT_AVATAR } from '@/const/meta'; import { useIsDark } from '@/hooks/useIsDark'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { type DiscoverAssistantItem } from '@/types/discover'; const CommunityAgentItem = memo( diff --git a/src/app/[variants]/(main)/home/features/CommunityAgents/List.tsx b/src/routes/(main)/home/features/CommunityAgents/List.tsx similarity index 86% rename from src/app/[variants]/(main)/home/features/CommunityAgents/List.tsx rename to src/routes/(main)/home/features/CommunityAgents/List.tsx index 2a32b69344..f4235c6da3 100644 --- a/src/app/[variants]/(main)/home/features/CommunityAgents/List.tsx +++ b/src/routes/(main)/home/features/CommunityAgents/List.tsx @@ -4,8 +4,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; import urlJoin from 'url-join'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useDiscoverStore } from '@/store/discover'; import CommunityAgentItem from './Item'; diff --git a/src/app/[variants]/(main)/home/features/CommunityAgents/index.tsx b/src/routes/(main)/home/features/CommunityAgents/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/CommunityAgents/index.tsx rename to src/routes/(main)/home/features/CommunityAgents/index.tsx diff --git a/src/app/[variants]/(main)/home/features/CommunityRecommend/AssistantList.tsx b/src/routes/(main)/home/features/CommunityRecommend/AssistantList.tsx similarity index 90% rename from src/app/[variants]/(main)/home/features/CommunityRecommend/AssistantList.tsx rename to src/routes/(main)/home/features/CommunityRecommend/AssistantList.tsx index 872ae89bb0..9f03369573 100644 --- a/src/app/[variants]/(main)/home/features/CommunityRecommend/AssistantList.tsx +++ b/src/routes/(main)/home/features/CommunityRecommend/AssistantList.tsx @@ -4,8 +4,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; import urlJoin from 'url-join'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useDiscoverStore } from '@/store/discover'; import { type StarterMode } from '@/store/home'; import { AssistantCategory } from '@/types/discover'; diff --git a/src/app/[variants]/(main)/home/features/CommunityRecommend/GroupList.tsx b/src/routes/(main)/home/features/CommunityRecommend/GroupList.tsx similarity index 87% rename from src/app/[variants]/(main)/home/features/CommunityRecommend/GroupList.tsx rename to src/routes/(main)/home/features/CommunityRecommend/GroupList.tsx index df2ec5395b..1f360742b8 100644 --- a/src/app/[variants]/(main)/home/features/CommunityRecommend/GroupList.tsx +++ b/src/routes/(main)/home/features/CommunityRecommend/GroupList.tsx @@ -4,8 +4,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; import urlJoin from 'url-join'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useDiscoverStore } from '@/store/discover'; import Item from './Item'; diff --git a/src/app/[variants]/(main)/home/features/CommunityRecommend/Item.tsx b/src/routes/(main)/home/features/CommunityRecommend/Item.tsx similarity index 96% rename from src/app/[variants]/(main)/home/features/CommunityRecommend/Item.tsx rename to src/routes/(main)/home/features/CommunityRecommend/Item.tsx index 2d8e33e2d5..383e8695ce 100644 --- a/src/app/[variants]/(main)/home/features/CommunityRecommend/Item.tsx +++ b/src/routes/(main)/home/features/CommunityRecommend/Item.tsx @@ -2,9 +2,9 @@ import { Avatar, Block, Flexbox, Text } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo } from 'react'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; import { DEFAULT_AVATAR } from '@/const/meta'; import { useIsDark } from '@/hooks/useIsDark'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; interface ItemProps { author?: string; diff --git a/src/app/[variants]/(main)/home/features/CommunityRecommend/index.tsx b/src/routes/(main)/home/features/CommunityRecommend/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/CommunityRecommend/index.tsx rename to src/routes/(main)/home/features/CommunityRecommend/index.tsx diff --git a/src/app/[variants]/(main)/home/features/FeaturedPlugins/Item.tsx b/src/routes/(main)/home/features/FeaturedPlugins/Item.tsx similarity index 88% rename from src/app/[variants]/(main)/home/features/FeaturedPlugins/Item.tsx rename to src/routes/(main)/home/features/FeaturedPlugins/Item.tsx index e2434f12f4..a074f5c413 100644 --- a/src/app/[variants]/(main)/home/features/FeaturedPlugins/Item.tsx +++ b/src/routes/(main)/home/features/FeaturedPlugins/Item.tsx @@ -2,8 +2,8 @@ import { Avatar, Block, Flexbox, Text } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo } from 'react'; -import MetaInfo from '@/app/[variants]/(main)/community/(list)/mcp/features/List/MetaInfo'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import MetaInfo from '@/routes/(main)/community/(list)/mcp/features/List/MetaInfo'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { type DiscoverMcpItem } from '@/types/discover'; const FeaturedPluginItem = memo(({ name, icon, github, installCount }) => { diff --git a/src/app/[variants]/(main)/home/features/FeaturedPlugins/List.tsx b/src/routes/(main)/home/features/FeaturedPlugins/List.tsx similarity index 85% rename from src/app/[variants]/(main)/home/features/FeaturedPlugins/List.tsx rename to src/routes/(main)/home/features/FeaturedPlugins/List.tsx index 213a2dd5a8..4f63e81d52 100644 --- a/src/app/[variants]/(main)/home/features/FeaturedPlugins/List.tsx +++ b/src/routes/(main)/home/features/FeaturedPlugins/List.tsx @@ -4,8 +4,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; import urlJoin from 'url-join'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useDiscoverStore } from '@/store/discover'; import FeaturedPluginItem from './Item'; diff --git a/src/app/[variants]/(main)/home/features/FeaturedPlugins/index.tsx b/src/routes/(main)/home/features/FeaturedPlugins/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/FeaturedPlugins/index.tsx rename to src/routes/(main)/home/features/FeaturedPlugins/index.tsx diff --git a/src/app/[variants]/(main)/home/features/InputArea/ModeTag.tsx b/src/routes/(main)/home/features/InputArea/ModeTag.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/InputArea/ModeTag.tsx rename to src/routes/(main)/home/features/InputArea/ModeTag.tsx diff --git a/src/app/[variants]/(main)/home/features/InputArea/SkillInstallBanner.tsx b/src/routes/(main)/home/features/InputArea/SkillInstallBanner.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/InputArea/SkillInstallBanner.tsx rename to src/routes/(main)/home/features/InputArea/SkillInstallBanner.tsx diff --git a/src/app/[variants]/(main)/home/features/InputArea/StarterList.tsx b/src/routes/(main)/home/features/InputArea/StarterList.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/InputArea/StarterList.tsx rename to src/routes/(main)/home/features/InputArea/StarterList.tsx diff --git a/src/app/[variants]/(main)/home/features/InputArea/index.tsx b/src/routes/(main)/home/features/InputArea/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/InputArea/index.tsx rename to src/routes/(main)/home/features/InputArea/index.tsx diff --git a/src/app/[variants]/(main)/home/features/InputArea/useSend.ts b/src/routes/(main)/home/features/InputArea/useSend.ts similarity index 100% rename from src/app/[variants]/(main)/home/features/InputArea/useSend.ts rename to src/routes/(main)/home/features/InputArea/useSend.ts diff --git a/src/app/[variants]/(main)/home/features/RecentPage/Item.tsx b/src/routes/(main)/home/features/RecentPage/Item.tsx similarity index 94% rename from src/app/[variants]/(main)/home/features/RecentPage/Item.tsx rename to src/routes/(main)/home/features/RecentPage/Item.tsx index 23d737d45d..b3024f43ef 100644 --- a/src/app/[variants]/(main)/home/features/RecentPage/Item.tsx +++ b/src/routes/(main)/home/features/RecentPage/Item.tsx @@ -5,8 +5,8 @@ import { cssVar } from 'antd-style'; import { FileTextIcon } from 'lucide-react'; import { memo } from 'react'; -import Time from '@/app/[variants]/(main)/home/features/components/Time'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import Time from '@/routes/(main)/home/features/components/Time'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { type FileListItem } from '@/types/files'; import markdownToTxt from '@/utils/markdownToTxt'; diff --git a/src/app/[variants]/(main)/home/features/RecentPage/List.tsx b/src/routes/(main)/home/features/RecentPage/List.tsx similarity index 85% rename from src/app/[variants]/(main)/home/features/RecentPage/List.tsx rename to src/routes/(main)/home/features/RecentPage/List.tsx index 7a89f4e9b2..3dee35cbdb 100644 --- a/src/app/[variants]/(main)/home/features/RecentPage/List.tsx +++ b/src/routes/(main)/home/features/RecentPage/List.tsx @@ -3,8 +3,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useHomeStore } from '@/store/home'; import { homeRecentSelectors } from '@/store/home/selectors'; import { standardizeIdentifier } from '@/utils/identifier'; diff --git a/src/app/[variants]/(main)/home/features/RecentPage/index.tsx b/src/routes/(main)/home/features/RecentPage/index.tsx similarity index 94% rename from src/app/[variants]/(main)/home/features/RecentPage/index.tsx rename to src/routes/(main)/home/features/RecentPage/index.tsx index fecfdeaf0a..0801faa9c3 100644 --- a/src/app/[variants]/(main)/home/features/RecentPage/index.tsx +++ b/src/routes/(main)/home/features/RecentPage/index.tsx @@ -2,13 +2,13 @@ import { ActionIcon, DropdownMenu } from '@lobehub/ui'; import { FileTextIcon, MoreHorizontal } from 'lucide-react'; -import { memo,Suspense } from 'react'; +import { memo, Suspense } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import NeuralNetworkLoading from '@/components/NeuralNetworkLoading'; import { useInitRecentPage } from '@/hooks/useInitRecentPage'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useHomeStore } from '@/store/home'; import { homeRecentSelectors } from '@/store/home/selectors'; import { FilesTabs } from '@/types/files'; diff --git a/src/app/[variants]/(main)/home/features/RecentResource/Item.tsx b/src/routes/(main)/home/features/RecentResource/Item.tsx similarity index 92% rename from src/app/[variants]/(main)/home/features/RecentResource/Item.tsx rename to src/routes/(main)/home/features/RecentResource/Item.tsx index 0ebd1ba983..014b5465f2 100644 --- a/src/app/[variants]/(main)/home/features/RecentResource/Item.tsx +++ b/src/routes/(main)/home/features/RecentResource/Item.tsx @@ -4,9 +4,9 @@ import { Block, Center, Flexbox, Image, Text } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo } from 'react'; -import Time from '@/app/[variants]/(main)/home/features/components/Time'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; import FileIcon from '@/components/FileIcon'; +import Time from '@/routes/(main)/home/features/components/Time'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { type FileListItem } from '@/types/files'; import { formatSize } from '@/utils/format'; diff --git a/src/app/[variants]/(main)/home/features/RecentResource/List.tsx b/src/routes/(main)/home/features/RecentResource/List.tsx similarity index 85% rename from src/app/[variants]/(main)/home/features/RecentResource/List.tsx rename to src/routes/(main)/home/features/RecentResource/List.tsx index c9849c0040..5575072f9f 100644 --- a/src/app/[variants]/(main)/home/features/RecentResource/List.tsx +++ b/src/routes/(main)/home/features/RecentResource/List.tsx @@ -3,8 +3,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useHomeStore } from '@/store/home'; import { homeRecentSelectors } from '@/store/home/selectors'; diff --git a/src/app/[variants]/(main)/home/features/RecentResource/index.tsx b/src/routes/(main)/home/features/RecentResource/index.tsx similarity index 94% rename from src/app/[variants]/(main)/home/features/RecentResource/index.tsx rename to src/routes/(main)/home/features/RecentResource/index.tsx index 2d2fe56a3e..6484f0e8af 100644 --- a/src/app/[variants]/(main)/home/features/RecentResource/index.tsx +++ b/src/routes/(main)/home/features/RecentResource/index.tsx @@ -2,13 +2,13 @@ import { ActionIcon, DropdownMenu } from '@lobehub/ui'; import { Clock, MoreHorizontal } from 'lucide-react'; -import { memo,Suspense } from 'react'; +import { memo, Suspense } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import NeuralNetworkLoading from '@/components/NeuralNetworkLoading'; import { useInitRecentResource } from '@/hooks/useInitRecentResource'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { useHomeStore } from '@/store/home'; import { homeRecentSelectors } from '@/store/home/selectors'; import { FilesTabs } from '@/types/files'; diff --git a/src/app/[variants]/(main)/home/features/RecentTopic/Item.tsx b/src/routes/(main)/home/features/RecentTopic/Item.tsx similarity index 95% rename from src/app/[variants]/(main)/home/features/RecentTopic/Item.tsx rename to src/routes/(main)/home/features/RecentTopic/Item.tsx index b1ec01bc98..f44bad2667 100644 --- a/src/app/[variants]/(main)/home/features/RecentTopic/Item.tsx +++ b/src/routes/(main)/home/features/RecentTopic/Item.tsx @@ -2,10 +2,10 @@ import { Avatar, Block, Center, Flexbox, Text } from '@lobehub/ui'; import { cssVar } from 'antd-style'; import { memo, useMemo } from 'react'; -import Time from '@/app/[variants]/(main)/home/features/components/Time'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; import { DEFAULT_AVATAR } from '@/const/meta'; import GroupAvatar from '@/features/GroupAvatar'; +import Time from '@/routes/(main)/home/features/components/Time'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { type RecentTopic } from '@/types/topic'; const ReactTopicItem = memo(({ title, updatedAt, agent, group, type }) => { diff --git a/src/app/[variants]/(main)/home/features/RecentTopic/List.tsx b/src/routes/(main)/home/features/RecentTopic/List.tsx similarity index 86% rename from src/app/[variants]/(main)/home/features/RecentTopic/List.tsx rename to src/routes/(main)/home/features/RecentTopic/List.tsx index dffb541e30..a3b09f38c8 100644 --- a/src/app/[variants]/(main)/home/features/RecentTopic/List.tsx +++ b/src/routes/(main)/home/features/RecentTopic/List.tsx @@ -1,8 +1,8 @@ import { memo } from 'react'; import { Link } from 'react-router-dom'; -import GroupSkeleton from '@/app/[variants]/(main)/home/features/components/GroupSkeleton'; -import { RECENT_BLOCK_SIZE } from '@/app/[variants]/(main)/home/features/const'; +import GroupSkeleton from '@/routes/(main)/home/features/components/GroupSkeleton'; +import { RECENT_BLOCK_SIZE } from '@/routes/(main)/home/features/const'; import { useHomeStore } from '@/store/home'; import { homeRecentSelectors } from '@/store/home/selectors'; diff --git a/src/app/[variants]/(main)/home/features/RecentTopic/index.tsx b/src/routes/(main)/home/features/RecentTopic/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/RecentTopic/index.tsx rename to src/routes/(main)/home/features/RecentTopic/index.tsx diff --git a/src/app/[variants]/(main)/home/features/SuggestQuestions/Item.tsx b/src/routes/(main)/home/features/SuggestQuestions/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/SuggestQuestions/Item.tsx rename to src/routes/(main)/home/features/SuggestQuestions/Item.tsx diff --git a/src/app/[variants]/(main)/home/features/SuggestQuestions/List.tsx b/src/routes/(main)/home/features/SuggestQuestions/List.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/SuggestQuestions/List.tsx rename to src/routes/(main)/home/features/SuggestQuestions/List.tsx diff --git a/src/app/[variants]/(main)/home/features/SuggestQuestions/Skeleton.tsx b/src/routes/(main)/home/features/SuggestQuestions/Skeleton.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/SuggestQuestions/Skeleton.tsx rename to src/routes/(main)/home/features/SuggestQuestions/Skeleton.tsx diff --git a/src/app/[variants]/(main)/home/features/SuggestQuestions/index.tsx b/src/routes/(main)/home/features/SuggestQuestions/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/SuggestQuestions/index.tsx rename to src/routes/(main)/home/features/SuggestQuestions/index.tsx diff --git a/src/app/[variants]/(main)/home/features/SuggestQuestions/useRandomQuestions.ts b/src/routes/(main)/home/features/SuggestQuestions/useRandomQuestions.ts similarity index 100% rename from src/app/[variants]/(main)/home/features/SuggestQuestions/useRandomQuestions.ts rename to src/routes/(main)/home/features/SuggestQuestions/useRandomQuestions.ts diff --git a/src/app/[variants]/(main)/home/features/WelcomeText/index.tsx b/src/routes/(main)/home/features/WelcomeText/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/WelcomeText/index.tsx rename to src/routes/(main)/home/features/WelcomeText/index.tsx diff --git a/src/app/[variants]/(main)/home/features/components/GroupBlock/index.tsx b/src/routes/(main)/home/features/components/GroupBlock/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/components/GroupBlock/index.tsx rename to src/routes/(main)/home/features/components/GroupBlock/index.tsx diff --git a/src/app/[variants]/(main)/home/features/components/GroupSkeleton.tsx b/src/routes/(main)/home/features/components/GroupSkeleton.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/components/GroupSkeleton.tsx rename to src/routes/(main)/home/features/components/GroupSkeleton.tsx diff --git a/src/app/[variants]/(main)/home/features/components/ScrollShadowWithButton/index.tsx b/src/routes/(main)/home/features/components/ScrollShadowWithButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/components/ScrollShadowWithButton/index.tsx rename to src/routes/(main)/home/features/components/ScrollShadowWithButton/index.tsx diff --git a/src/app/[variants]/(main)/home/features/components/Time.tsx b/src/routes/(main)/home/features/components/Time.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/components/Time.tsx rename to src/routes/(main)/home/features/components/Time.tsx diff --git a/src/app/[variants]/(main)/home/features/const.ts b/src/routes/(main)/home/features/const.ts similarity index 100% rename from src/app/[variants]/(main)/home/features/const.ts rename to src/routes/(main)/home/features/const.ts diff --git a/src/app/[variants]/(main)/home/features/index.tsx b/src/routes/(main)/home/features/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/features/index.tsx rename to src/routes/(main)/home/features/index.tsx diff --git a/src/app/[variants]/(main)/home/index.tsx b/src/routes/(main)/home/index.tsx similarity index 100% rename from src/app/[variants]/(main)/home/index.tsx rename to src/routes/(main)/home/index.tsx diff --git a/src/app/[variants]/(main)/hooks/useActiveTabKey.ts b/src/routes/(main)/hooks/useActiveTabKey.ts similarity index 100% rename from src/app/[variants]/(main)/hooks/useActiveTabKey.ts rename to src/routes/(main)/hooks/useActiveTabKey.ts diff --git a/src/app/[variants]/(main)/image/NotSupportClient.tsx b/src/routes/(main)/image/NotSupportClient.tsx similarity index 100% rename from src/app/[variants]/(main)/image/NotSupportClient.tsx rename to src/routes/(main)/image/NotSupportClient.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/ImageConfigSkeleton.tsx b/src/routes/(main)/image/_layout/ConfigPanel/ImageConfigSkeleton.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/ImageConfigSkeleton.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/ImageConfigSkeleton.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/CfgSliderInput.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/CfgSliderInput.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/CfgSliderInput.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/CfgSliderInput.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/DimensionControlGroup.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/DimensionControlGroup.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/DimensionControlGroup.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/DimensionControlGroup.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageNum.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageNum.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageNum.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ImageNum.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx similarity index 98% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx index 032f8fc403..54978beae5 100644 --- a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx +++ b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUpload.tsx @@ -8,10 +8,10 @@ import { type FC } from 'react'; import React, { memo, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useDragAndDrop } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop'; -import { useUploadFilesValidation } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; -import { configPanelStyles } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/style'; import Image from '@/libs/next/Image'; +import { useDragAndDrop } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop'; +import { useUploadFilesValidation } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; +import { configPanelStyles } from '@/routes/(main)/image/_layout/ConfigPanel/style'; import { useFileStore } from '@/store/file'; import { type FileUploadStatus } from '@/types/files/upload'; diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx similarity index 88% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx index 64ede7f8e9..fcfd8b76f2 100644 --- a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx +++ b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrl.tsx @@ -1,6 +1,6 @@ import { memo } from 'react'; -import { useAutoDimensions } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions'; +import { useAutoDimensions } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions'; import { useGenerationConfigParam } from '@/store/image/slices/generationConfig/hooks'; import ImageUpload from './ImageUpload'; diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx similarity index 94% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx index 1595076174..6f1a15ddc8 100644 --- a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx +++ b/src/routes/(main)/image/_layout/ConfigPanel/components/ImageUrlsUpload.tsx @@ -1,6 +1,6 @@ import { memo } from 'react'; -import { useAutoDimensions } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions'; +import { useAutoDimensions } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions'; import { useGenerationConfigParam } from '@/store/image/slices/generationConfig/hooks'; import ImageUpload from './ImageUpload'; diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/InputNumber/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/InputNumber/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/InputNumber/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/InputNumber/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ModelSelect/ImageModelItem.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ModelSelect/ImageModelItem.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ModelSelect/ImageModelItem.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ModelSelect/ImageModelItem.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ModelSelect/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ModelSelect/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ModelSelect/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ModelSelect/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx similarity index 98% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx index 068cb16c1a..b83fb19e63 100644 --- a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx +++ b/src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/ImageManageModal.tsx @@ -7,8 +7,8 @@ import { type FC } from 'react'; import React, { memo, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useUploadFilesValidation } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; import Image from '@/libs/next/Image'; +import { useUploadFilesValidation } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; // ======== Types ======== // diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx similarity index 98% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx index fdb2b40eeb..f930df71df 100644 --- a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx +++ b/src/routes/(main)/image/_layout/ConfigPanel/components/MultiImagesUpload/index.tsx @@ -8,11 +8,11 @@ import { type FC } from 'react'; import React, { memo, useEffect, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { CONFIG_PANEL_WIDTH } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/constants'; -import { useDragAndDrop } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop'; -import { useUploadFilesValidation } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; -import { configPanelStyles } from '@/app/[variants]/(main)/image/_layout/ConfigPanel/style'; import Image from '@/libs/next/Image'; +import { CONFIG_PANEL_WIDTH } from '@/routes/(main)/image/_layout/ConfigPanel/constants'; +import { useDragAndDrop } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop'; +import { useUploadFilesValidation } from '@/routes/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation'; +import { configPanelStyles } from '@/routes/(main)/image/_layout/ConfigPanel/style'; import { useFileStore } from '@/store/file'; import { type FileUploadStatus } from '@/types/files/upload'; diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/QualitySelect.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/QualitySelect.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/QualitySelect.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/QualitySelect.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ResolutionSelect.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/ResolutionSelect.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/ResolutionSelect.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/ResolutionSelect.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/SeedNumberInput.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/SeedNumberInput.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/SeedNumberInput.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/SeedNumberInput.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/Select/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/Select/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/Select/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/Select/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/SizeSelect.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/SizeSelect.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/SizeSelect.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/SizeSelect.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/components/StepsSliderInput.tsx b/src/routes/(main)/image/_layout/ConfigPanel/components/StepsSliderInput.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/components/StepsSliderInput.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/components/StepsSliderInput.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/constants.ts b/src/routes/(main)/image/_layout/ConfigPanel/constants.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/constants.ts rename to src/routes/(main)/image/_layout/ConfigPanel/constants.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions.ts b/src/routes/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions.ts rename to src/routes/(main)/image/_layout/ConfigPanel/hooks/useAutoDimensions.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop.ts b/src/routes/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop.ts rename to src/routes/(main)/image/_layout/ConfigPanel/hooks/useDragAndDrop.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation.ts b/src/routes/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation.ts rename to src/routes/(main)/image/_layout/ConfigPanel/hooks/useUploadFilesValidation.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/index.tsx b/src/routes/(main)/image/_layout/ConfigPanel/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/index.tsx rename to src/routes/(main)/image/_layout/ConfigPanel/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/style.ts b/src/routes/(main)/image/_layout/ConfigPanel/style.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/style.ts rename to src/routes/(main)/image/_layout/ConfigPanel/style.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/__tests__/dimensionConstraints.test.ts b/src/routes/(main)/image/_layout/ConfigPanel/utils/__tests__/dimensionConstraints.test.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/__tests__/dimensionConstraints.test.ts rename to src/routes/(main)/image/_layout/ConfigPanel/utils/__tests__/dimensionConstraints.test.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/__tests__/imageValidation.test.ts b/src/routes/(main)/image/_layout/ConfigPanel/utils/__tests__/imageValidation.test.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/__tests__/imageValidation.test.ts rename to src/routes/(main)/image/_layout/ConfigPanel/utils/__tests__/imageValidation.test.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/dimensionConstraints.ts b/src/routes/(main)/image/_layout/ConfigPanel/utils/dimensionConstraints.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/dimensionConstraints.ts rename to src/routes/(main)/image/_layout/ConfigPanel/utils/dimensionConstraints.ts diff --git a/src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/imageValidation.ts b/src/routes/(main)/image/_layout/ConfigPanel/utils/imageValidation.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/ConfigPanel/utils/imageValidation.ts rename to src/routes/(main)/image/_layout/ConfigPanel/utils/imageValidation.ts diff --git a/src/app/[variants]/(main)/image/_layout/Header.tsx b/src/routes/(main)/image/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/Header.tsx rename to src/routes/(main)/image/_layout/Header.tsx diff --git a/src/app/[variants]/(main)/image/_layout/RegisterHotkeys.tsx b/src/routes/(main)/image/_layout/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/RegisterHotkeys.tsx rename to src/routes/(main)/image/_layout/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/image/_layout/Sidebar.tsx b/src/routes/(main)/image/_layout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/Sidebar.tsx rename to src/routes/(main)/image/_layout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/image/_layout/TopicSidebar.tsx b/src/routes/(main)/image/_layout/TopicSidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/TopicSidebar.tsx rename to src/routes/(main)/image/_layout/TopicSidebar.tsx diff --git a/src/app/[variants]/(main)/image/_layout/index.tsx b/src/routes/(main)/image/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/_layout/index.tsx rename to src/routes/(main)/image/_layout/index.tsx diff --git a/src/app/[variants]/(main)/image/_layout/style.ts b/src/routes/(main)/image/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/style.ts rename to src/routes/(main)/image/_layout/style.ts diff --git a/src/app/[variants]/(main)/image/_layout/type.ts b/src/routes/(main)/image/_layout/type.ts similarity index 100% rename from src/app/[variants]/(main)/image/_layout/type.ts rename to src/routes/(main)/image/_layout/type.ts diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/BatchItem.tsx b/src/routes/(main)/image/features/GenerationFeed/BatchItem.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/BatchItem.tsx rename to src/routes/(main)/image/features/GenerationFeed/BatchItem.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/ErrorState.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/LoadingState.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/SuccessState.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/index.tsx b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/index.tsx rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/index.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles.ts b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/styles.ts similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles.ts rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/styles.ts diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/types.ts b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/types.ts similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/types.ts rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/types.ts diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.test.ts b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/utils.test.ts similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.test.ts rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/utils.test.ts diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.ts b/src/routes/(main)/image/features/GenerationFeed/GenerationItem/utils.ts similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/utils.ts rename to src/routes/(main)/image/features/GenerationFeed/GenerationItem/utils.ts diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/ReferenceImages.tsx b/src/routes/(main)/image/features/GenerationFeed/ReferenceImages.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/ReferenceImages.tsx rename to src/routes/(main)/image/features/GenerationFeed/ReferenceImages.tsx diff --git a/src/app/[variants]/(main)/image/features/GenerationFeed/index.tsx b/src/routes/(main)/image/features/GenerationFeed/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/GenerationFeed/index.tsx rename to src/routes/(main)/image/features/GenerationFeed/index.tsx diff --git a/src/app/[variants]/(main)/image/features/ImageWorkspace/Content.tsx b/src/routes/(main)/image/features/ImageWorkspace/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/ImageWorkspace/Content.tsx rename to src/routes/(main)/image/features/ImageWorkspace/Content.tsx diff --git a/src/app/[variants]/(main)/image/features/ImageWorkspace/EmptyState.tsx b/src/routes/(main)/image/features/ImageWorkspace/EmptyState.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/ImageWorkspace/EmptyState.tsx rename to src/routes/(main)/image/features/ImageWorkspace/EmptyState.tsx diff --git a/src/app/[variants]/(main)/image/features/ImageWorkspace/SkeletonList.tsx b/src/routes/(main)/image/features/ImageWorkspace/SkeletonList.tsx similarity index 95% rename from src/app/[variants]/(main)/image/features/ImageWorkspace/SkeletonList.tsx rename to src/routes/(main)/image/features/ImageWorkspace/SkeletonList.tsx index 0cb32a4ed8..1c0f5ceb52 100644 --- a/src/app/[variants]/(main)/image/features/ImageWorkspace/SkeletonList.tsx +++ b/src/routes/(main)/image/features/ImageWorkspace/SkeletonList.tsx @@ -3,7 +3,7 @@ import { Block, Center, Flexbox, Grid, Skeleton } from '@lobehub/ui'; import { memo } from 'react'; -import PromptInput from '@/app/[variants]/(main)/image/features/PromptInput'; +import PromptInput from '@/routes/(main)/image/features/PromptInput'; const SkeletonList = memo(() => { return ( diff --git a/src/app/[variants]/(main)/image/features/ImageWorkspace/index.tsx b/src/routes/(main)/image/features/ImageWorkspace/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/ImageWorkspace/index.tsx rename to src/routes/(main)/image/features/ImageWorkspace/index.tsx diff --git a/src/app/[variants]/(main)/image/features/PromptInput/Title.tsx b/src/routes/(main)/image/features/PromptInput/Title.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/PromptInput/Title.tsx rename to src/routes/(main)/image/features/PromptInput/Title.tsx diff --git a/src/app/[variants]/(main)/image/features/PromptInput/index.tsx b/src/routes/(main)/image/features/PromptInput/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/features/PromptInput/index.tsx rename to src/routes/(main)/image/features/PromptInput/index.tsx diff --git a/src/app/[variants]/(main)/image/index.tsx b/src/routes/(main)/image/index.tsx similarity index 100% rename from src/app/[variants]/(main)/image/index.tsx rename to src/routes/(main)/image/index.tsx diff --git a/src/routes/(main)/image/loading.tsx b/src/routes/(main)/image/loading.tsx new file mode 100644 index 0000000000..d1cef77b20 --- /dev/null +++ b/src/routes/(main)/image/loading.tsx @@ -0,0 +1,5 @@ +import Loading from '@/components/Loading/BrandTextLoading'; + +const ImageLoading = () => ; + +export default ImageLoading; diff --git a/src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaDetail.tsx b/src/routes/(main)/memory/(home)/features/Persona/PersonaDetail.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaDetail.tsx rename to src/routes/(main)/memory/(home)/features/Persona/PersonaDetail.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaHeader.tsx b/src/routes/(main)/memory/(home)/features/Persona/PersonaHeader.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaHeader.tsx rename to src/routes/(main)/memory/(home)/features/Persona/PersonaHeader.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaSummary.tsx b/src/routes/(main)/memory/(home)/features/Persona/PersonaSummary.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/Persona/PersonaSummary.tsx rename to src/routes/(main)/memory/(home)/features/Persona/PersonaSummary.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/features/Persona/index.tsx b/src/routes/(main)/memory/(home)/features/Persona/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/Persona/index.tsx rename to src/routes/(main)/memory/(home)/features/Persona/index.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/features/RoleTagCloud/TagCloudCanvas.tsx b/src/routes/(main)/memory/(home)/features/RoleTagCloud/TagCloudCanvas.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/RoleTagCloud/TagCloudCanvas.tsx rename to src/routes/(main)/memory/(home)/features/RoleTagCloud/TagCloudCanvas.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/features/RoleTagCloud/index.tsx b/src/routes/(main)/memory/(home)/features/RoleTagCloud/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/(home)/features/RoleTagCloud/index.tsx rename to src/routes/(main)/memory/(home)/features/RoleTagCloud/index.tsx diff --git a/src/app/[variants]/(main)/memory/(home)/index.tsx b/src/routes/(main)/memory/(home)/index.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/(home)/index.tsx rename to src/routes/(main)/memory/(home)/index.tsx index ea31cc45a8..603a349479 100644 --- a/src/app/[variants]/(main)/memory/(home)/index.tsx +++ b/src/routes/(main)/memory/(home)/index.tsx @@ -2,13 +2,13 @@ import { Flexbox } from '@lobehub/ui'; // import { PencilLineIcon } from 'lucide-react'; import { type FC } from 'react'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import MemoryEmpty from '@/app/[variants]/(main)/memory/features/MemoryEmpty'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent'; import Loading from '@/components/Loading/BrandTextLoading'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import MemoryEmpty from '@/routes/(main)/memory/features/MemoryEmpty'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/memory/features/TimeLineView/useScrollParent'; import { useUserMemoryStore } from '@/store/userMemory'; import Persona from './features/Persona'; diff --git a/src/app/[variants]/(main)/memory/_layout/Sidebar/Header/Nav.tsx b/src/routes/(main)/memory/_layout/Sidebar/Header/Nav.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/_layout/Sidebar/Header/Nav.tsx rename to src/routes/(main)/memory/_layout/Sidebar/Header/Nav.tsx diff --git a/src/app/[variants]/(main)/memory/_layout/Sidebar/Header/index.tsx b/src/routes/(main)/memory/_layout/Sidebar/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/_layout/Sidebar/Header/index.tsx rename to src/routes/(main)/memory/_layout/Sidebar/Header/index.tsx diff --git a/src/app/[variants]/(main)/memory/_layout/Sidebar/index.tsx b/src/routes/(main)/memory/_layout/Sidebar/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/_layout/Sidebar/index.tsx rename to src/routes/(main)/memory/_layout/Sidebar/index.tsx diff --git a/src/app/[variants]/(main)/memory/_layout/index.tsx b/src/routes/(main)/memory/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/_layout/index.tsx rename to src/routes/(main)/memory/_layout/index.tsx diff --git a/src/app/[variants]/(main)/group/_layout/style.ts b/src/routes/(main)/memory/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/group/_layout/style.ts rename to src/routes/(main)/memory/_layout/style.ts diff --git a/src/app/[variants]/(main)/memory/activities/features/ActivityDropdown.tsx b/src/routes/(main)/memory/activities/features/ActivityDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/activities/features/ActivityDropdown.tsx rename to src/routes/(main)/memory/activities/features/ActivityDropdown.tsx diff --git a/src/app/[variants]/(main)/memory/activities/features/ActivityRightPanel.tsx b/src/routes/(main)/memory/activities/features/ActivityRightPanel.tsx similarity index 80% rename from src/app/[variants]/(main)/memory/activities/features/ActivityRightPanel.tsx rename to src/routes/(main)/memory/activities/features/ActivityRightPanel.tsx index 04c105f11d..498c16e788 100644 --- a/src/app/[variants]/(main)/memory/activities/features/ActivityRightPanel.tsx +++ b/src/routes/(main)/memory/activities/features/ActivityRightPanel.tsx @@ -5,15 +5,15 @@ import dayjs from 'dayjs'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import CateTag from '@/app/[variants]/(main)/memory/features/CateTag'; -import DetailLoading from '@/app/[variants]/(main)/memory/features/DetailLoading'; -import DetailPanel from '@/app/[variants]/(main)/memory/features/DetailPanel'; -import HashTags from '@/app/[variants]/(main)/memory/features/HashTags'; -import HighlightedContent from '@/app/[variants]/(main)/memory/features/HighlightedContent'; -import SourceLink from '@/app/[variants]/(main)/memory/features/SourceLink'; -import Time from '@/app/[variants]/(main)/memory/features/Time'; import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens'; import { useQueryState } from '@/hooks/useQueryParam'; +import CateTag from '@/routes/(main)/memory/features/CateTag'; +import DetailLoading from '@/routes/(main)/memory/features/DetailLoading'; +import DetailPanel from '@/routes/(main)/memory/features/DetailPanel'; +import HashTags from '@/routes/(main)/memory/features/HashTags'; +import HighlightedContent from '@/routes/(main)/memory/features/HighlightedContent'; +import SourceLink from '@/routes/(main)/memory/features/SourceLink'; +import Time from '@/routes/(main)/memory/features/Time'; import { useUserMemoryStore } from '@/store/userMemory'; import { LayersEnum } from '@/types/userMemory'; @@ -83,13 +83,17 @@ const ActivityRightPanel = memo(() => { {schedule && {schedule}} {activity.narrative && ( - {activity.narrative} + + {activity.narrative} + )} {activity.notes && ( {activity.notes} )} {activity.feedback && ( - {activity.feedback} + + {activity.feedback} + )} diff --git a/src/app/[variants]/(main)/memory/activities/features/List/GridView/ActivityCard.tsx b/src/routes/(main)/memory/activities/features/List/GridView/ActivityCard.tsx similarity index 92% rename from src/app/[variants]/(main)/memory/activities/features/List/GridView/ActivityCard.tsx rename to src/routes/(main)/memory/activities/features/List/GridView/ActivityCard.tsx index 893eb701f6..7f59cd607a 100644 --- a/src/app/[variants]/(main)/memory/activities/features/List/GridView/ActivityCard.tsx +++ b/src/routes/(main)/memory/activities/features/List/GridView/ActivityCard.tsx @@ -3,7 +3,7 @@ import { Tag } from '@lobehub/ui'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import GridCard from '@/app/[variants]/(main)/memory/features/GridView/GridCard'; +import GridCard from '@/routes/(main)/memory/features/GridView/GridCard'; import ActivityDropdown from '../../ActivityDropdown'; diff --git a/src/app/[variants]/(main)/memory/activities/features/List/GridView/index.tsx b/src/routes/(main)/memory/activities/features/List/GridView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/activities/features/List/GridView/index.tsx rename to src/routes/(main)/memory/activities/features/List/GridView/index.tsx diff --git a/src/app/[variants]/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx b/src/routes/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx similarity index 91% rename from src/app/[variants]/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx rename to src/routes/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx index 79b13b35b5..ac77ebe271 100644 --- a/src/app/[variants]/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx +++ b/src/routes/(main)/memory/activities/features/List/TimelineView/ActivityCard.tsx @@ -2,7 +2,7 @@ import { type ActivityListItem } from '@lobechat/types'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import TimeLineCard from '@/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard'; +import TimeLineCard from '@/routes/(main)/memory/features/TimeLineView/TimeLineCard'; import ActivityDropdown from '../../ActivityDropdown'; diff --git a/src/app/[variants]/(main)/memory/activities/features/List/TimelineView/index.tsx b/src/routes/(main)/memory/activities/features/List/TimelineView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/activities/features/List/TimelineView/index.tsx rename to src/routes/(main)/memory/activities/features/List/TimelineView/index.tsx diff --git a/src/app/[variants]/(main)/memory/activities/features/List/index.tsx b/src/routes/(main)/memory/activities/features/List/index.tsx similarity index 94% rename from src/app/[variants]/(main)/memory/activities/features/List/index.tsx rename to src/routes/(main)/memory/activities/features/List/index.tsx index 6d1e7b53b9..25b66f9c14 100644 --- a/src/app/[variants]/(main)/memory/activities/features/List/index.tsx +++ b/src/routes/(main)/memory/activities/features/List/index.tsx @@ -1,8 +1,8 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryEmpty from '@/app/[variants]/(main)/memory/features/MemoryEmpty'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryEmpty from '@/routes/(main)/memory/features/MemoryEmpty'; import { useGlobalStore } from '@/store/global'; import { useUserMemoryStore } from '@/store/userMemory'; diff --git a/src/app/[variants]/(main)/memory/activities/index.tsx b/src/routes/(main)/memory/activities/index.tsx similarity index 97% rename from src/app/[variants]/(main)/memory/activities/index.tsx rename to src/routes/(main)/memory/activities/index.tsx index 260d6a52b1..2074a4d764 100644 --- a/src/app/[variants]/(main)/memory/activities/index.tsx +++ b/src/routes/(main)/memory/activities/index.tsx @@ -4,11 +4,11 @@ import { type FC } from 'react'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; import { useQueryState } from '@/hooks/useQueryParam'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/memory/features/TimeLineView/useScrollParent'; import { useUserMemoryStore } from '@/store/userMemory'; import EditableModal from '../features/EditableModal'; diff --git a/src/app/[variants]/(main)/memory/contexts/features/ContextDropdown.tsx b/src/routes/(main)/memory/contexts/features/ContextDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/contexts/features/ContextDropdown.tsx rename to src/routes/(main)/memory/contexts/features/ContextDropdown.tsx diff --git a/src/app/[variants]/(main)/memory/contexts/features/ContextRightPanel.tsx b/src/routes/(main)/memory/contexts/features/ContextRightPanel.tsx similarity index 82% rename from src/app/[variants]/(main)/memory/contexts/features/ContextRightPanel.tsx rename to src/routes/(main)/memory/contexts/features/ContextRightPanel.tsx index 2156c7dbd0..577b517627 100644 --- a/src/app/[variants]/(main)/memory/contexts/features/ContextRightPanel.tsx +++ b/src/routes/(main)/memory/contexts/features/ContextRightPanel.tsx @@ -6,16 +6,16 @@ import { cssVar } from 'antd-style'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import CateTag from '@/app/[variants]/(main)/memory/features/CateTag'; -import DetailLoading from '@/app/[variants]/(main)/memory/features/DetailLoading'; -import DetailPanel from '@/app/[variants]/(main)/memory/features/DetailPanel'; -import HashTags from '@/app/[variants]/(main)/memory/features/HashTags'; -import HighlightedContent from '@/app/[variants]/(main)/memory/features/HighlightedContent'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; -import SourceLink from '@/app/[variants]/(main)/memory/features/SourceLink'; -import Time from '@/app/[variants]/(main)/memory/features/Time'; import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens'; import { useQueryState } from '@/hooks/useQueryParam'; +import CateTag from '@/routes/(main)/memory/features/CateTag'; +import DetailLoading from '@/routes/(main)/memory/features/DetailLoading'; +import DetailPanel from '@/routes/(main)/memory/features/DetailPanel'; +import HashTags from '@/routes/(main)/memory/features/HashTags'; +import HighlightedContent from '@/routes/(main)/memory/features/HighlightedContent'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; +import SourceLink from '@/routes/(main)/memory/features/SourceLink'; +import Time from '@/routes/(main)/memory/features/Time'; import { useUserMemoryStore } from '@/store/userMemory'; import { LayersEnum } from '@/types/userMemory'; diff --git a/src/app/[variants]/(main)/memory/contexts/features/List/GridView/ContextCard.tsx b/src/routes/(main)/memory/contexts/features/List/GridView/ContextCard.tsx similarity index 88% rename from src/app/[variants]/(main)/memory/contexts/features/List/GridView/ContextCard.tsx rename to src/routes/(main)/memory/contexts/features/List/GridView/ContextCard.tsx index b0256355c6..c18069a7a3 100644 --- a/src/app/[variants]/(main)/memory/contexts/features/List/GridView/ContextCard.tsx +++ b/src/routes/(main)/memory/contexts/features/List/GridView/ContextCard.tsx @@ -2,9 +2,9 @@ import { cssVar } from 'antd-style'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import GridCard from '@/app/[variants]/(main)/memory/features/GridView/GridCard'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; import { type DisplayContextMemory } from '@/database/repositories/userMemory'; +import GridCard from '@/routes/(main)/memory/features/GridView/GridCard'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; import ContextDropdown from '../../ContextDropdown'; diff --git a/src/app/[variants]/(main)/memory/contexts/features/List/GridView/index.tsx b/src/routes/(main)/memory/contexts/features/List/GridView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/contexts/features/List/GridView/index.tsx rename to src/routes/(main)/memory/contexts/features/List/GridView/index.tsx diff --git a/src/app/[variants]/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx b/src/routes/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx similarity index 87% rename from src/app/[variants]/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx rename to src/routes/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx index e3af29fd81..12087fda4f 100644 --- a/src/app/[variants]/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx +++ b/src/routes/(main)/memory/contexts/features/List/TimelineView/ContextCard.tsx @@ -1,7 +1,7 @@ import { memo } from 'react'; -import TimeLineCard from '@/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard'; import { type DisplayContextMemory } from '@/database/repositories/userMemory'; +import TimeLineCard from '@/routes/(main)/memory/features/TimeLineView/TimeLineCard'; import ContextDropdown from '../../ContextDropdown'; diff --git a/src/app/[variants]/(main)/memory/contexts/features/List/TimelineView/index.tsx b/src/routes/(main)/memory/contexts/features/List/TimelineView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/contexts/features/List/TimelineView/index.tsx rename to src/routes/(main)/memory/contexts/features/List/TimelineView/index.tsx diff --git a/src/app/[variants]/(main)/memory/contexts/features/List/index.tsx b/src/routes/(main)/memory/contexts/features/List/index.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/contexts/features/List/index.tsx rename to src/routes/(main)/memory/contexts/features/List/index.tsx index 51a073294b..650d23f8b2 100644 --- a/src/app/[variants]/(main)/memory/contexts/features/List/index.tsx +++ b/src/routes/(main)/memory/contexts/features/List/index.tsx @@ -1,9 +1,9 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import MemoryEmpty from '@/app/[variants]/(main)/memory/features/MemoryEmpty'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import MemoryEmpty from '@/routes/(main)/memory/features/MemoryEmpty'; import { useGlobalStore } from '@/store/global'; import { useUserMemoryStore } from '@/store/userMemory'; diff --git a/src/app/[variants]/(main)/memory/contexts/index.tsx b/src/routes/(main)/memory/contexts/index.tsx similarity index 96% rename from src/app/[variants]/(main)/memory/contexts/index.tsx rename to src/routes/(main)/memory/contexts/index.tsx index 94cc880722..e7abc12f00 100644 --- a/src/app/[variants]/(main)/memory/contexts/index.tsx +++ b/src/routes/(main)/memory/contexts/index.tsx @@ -4,12 +4,12 @@ import { type FC } from 'react'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/memory/features/TimeLineView/useScrollParent'; import { useUserMemoryStore } from '@/store/userMemory'; import EditableModal from '../features/EditableModal'; diff --git a/src/app/[variants]/(main)/memory/experiences/features/ExperienceDropdown.tsx b/src/routes/(main)/memory/experiences/features/ExperienceDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/experiences/features/ExperienceDropdown.tsx rename to src/routes/(main)/memory/experiences/features/ExperienceDropdown.tsx diff --git a/src/app/[variants]/(main)/memory/experiences/features/ExperienceRightPanel.tsx b/src/routes/(main)/memory/experiences/features/ExperienceRightPanel.tsx similarity index 87% rename from src/app/[variants]/(main)/memory/experiences/features/ExperienceRightPanel.tsx rename to src/routes/(main)/memory/experiences/features/ExperienceRightPanel.tsx index 43ca258c8b..c41e14f82d 100644 --- a/src/app/[variants]/(main)/memory/experiences/features/ExperienceRightPanel.tsx +++ b/src/routes/(main)/memory/experiences/features/ExperienceRightPanel.tsx @@ -6,16 +6,16 @@ import { createStaticStyles, cssVar } from 'antd-style'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import CateTag from '@/app/[variants]/(main)/memory/features/CateTag'; -import DetailLoading from '@/app/[variants]/(main)/memory/features/DetailLoading'; -import DetailPanel from '@/app/[variants]/(main)/memory/features/DetailPanel'; -import HashTags from '@/app/[variants]/(main)/memory/features/HashTags'; -import HighlightedContent from '@/app/[variants]/(main)/memory/features/HighlightedContent'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; -import SourceLink from '@/app/[variants]/(main)/memory/features/SourceLink'; -import Time from '@/app/[variants]/(main)/memory/features/Time'; import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens'; import { useQueryState } from '@/hooks/useQueryParam'; +import CateTag from '@/routes/(main)/memory/features/CateTag'; +import DetailLoading from '@/routes/(main)/memory/features/DetailLoading'; +import DetailPanel from '@/routes/(main)/memory/features/DetailPanel'; +import HashTags from '@/routes/(main)/memory/features/HashTags'; +import HighlightedContent from '@/routes/(main)/memory/features/HighlightedContent'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; +import SourceLink from '@/routes/(main)/memory/features/SourceLink'; +import Time from '@/routes/(main)/memory/features/Time'; import { useUserMemoryStore } from '@/store/userMemory'; import { LayersEnum } from '@/types/userMemory'; @@ -74,7 +74,9 @@ const ExperienceRightPanel = memo(() => { - {experience.keyLearning && ( diff --git a/src/app/[variants]/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx b/src/routes/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx similarity index 87% rename from src/app/[variants]/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx rename to src/routes/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx index 59456897eb..f737e4620b 100644 --- a/src/app/[variants]/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx +++ b/src/routes/(main)/memory/experiences/features/List/GridView/ExperienceCard.tsx @@ -4,8 +4,8 @@ import relativeTime from 'dayjs/plugin/relativeTime'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import GridCard from '@/app/[variants]/(main)/memory/features/GridView/GridCard'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; +import GridCard from '@/routes/(main)/memory/features/GridView/GridCard'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; import ExperienceDropdown from '../../ExperienceDropdown'; diff --git a/src/app/[variants]/(main)/memory/experiences/features/List/GridView/index.tsx b/src/routes/(main)/memory/experiences/features/List/GridView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/experiences/features/List/GridView/index.tsx rename to src/routes/(main)/memory/experiences/features/List/GridView/index.tsx diff --git a/src/app/[variants]/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx b/src/routes/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx rename to src/routes/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx index 8d612fc7a2..4ceb7d354e 100644 --- a/src/app/[variants]/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx +++ b/src/routes/(main)/memory/experiences/features/List/TimelineView/ExperienceCard.tsx @@ -1,7 +1,7 @@ import { type ExperienceListItem } from '@lobechat/types'; import { memo } from 'react'; -import TimeLineCard from '@/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard'; +import TimeLineCard from '@/routes/(main)/memory/features/TimeLineView/TimeLineCard'; import ExperienceDropdown from '../../ExperienceDropdown'; diff --git a/src/app/[variants]/(main)/memory/experiences/features/List/TimelineView/index.tsx b/src/routes/(main)/memory/experiences/features/List/TimelineView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/experiences/features/List/TimelineView/index.tsx rename to src/routes/(main)/memory/experiences/features/List/TimelineView/index.tsx diff --git a/src/app/[variants]/(main)/memory/experiences/features/List/index.tsx b/src/routes/(main)/memory/experiences/features/List/index.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/experiences/features/List/index.tsx rename to src/routes/(main)/memory/experiences/features/List/index.tsx index a31d970a43..fefc32914c 100644 --- a/src/app/[variants]/(main)/memory/experiences/features/List/index.tsx +++ b/src/routes/(main)/memory/experiences/features/List/index.tsx @@ -1,9 +1,9 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import MemoryEmpty from '@/app/[variants]/(main)/memory/features/MemoryEmpty'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import MemoryEmpty from '@/routes/(main)/memory/features/MemoryEmpty'; import { useGlobalStore } from '@/store/global'; import { useUserMemoryStore } from '@/store/userMemory'; diff --git a/src/app/[variants]/(main)/memory/experiences/index.tsx b/src/routes/(main)/memory/experiences/index.tsx similarity index 96% rename from src/app/[variants]/(main)/memory/experiences/index.tsx rename to src/routes/(main)/memory/experiences/index.tsx index 5eb256240f..66a4aac70f 100644 --- a/src/app/[variants]/(main)/memory/experiences/index.tsx +++ b/src/routes/(main)/memory/experiences/index.tsx @@ -4,12 +4,12 @@ import { type FC } from 'react'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/memory/features/TimeLineView/useScrollParent'; import { useUserMemoryStore } from '@/store/userMemory'; import EditableModal from '../features/EditableModal'; diff --git a/src/app/[variants]/(main)/memory/features/CateTag.tsx b/src/routes/(main)/memory/features/CateTag.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/CateTag.tsx rename to src/routes/(main)/memory/features/CateTag.tsx diff --git a/src/app/[variants]/(main)/memory/features/DetailLoading.tsx b/src/routes/(main)/memory/features/DetailLoading.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/DetailLoading.tsx rename to src/routes/(main)/memory/features/DetailLoading.tsx diff --git a/src/app/[variants]/(main)/memory/features/DetailPanel.tsx b/src/routes/(main)/memory/features/DetailPanel.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/DetailPanel.tsx rename to src/routes/(main)/memory/features/DetailPanel.tsx diff --git a/src/app/[variants]/(main)/memory/features/EditableModal/index.tsx b/src/routes/(main)/memory/features/EditableModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/EditableModal/index.tsx rename to src/routes/(main)/memory/features/EditableModal/index.tsx diff --git a/src/app/[variants]/(main)/memory/features/FilterBar.tsx b/src/routes/(main)/memory/features/FilterBar.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/FilterBar.tsx rename to src/routes/(main)/memory/features/FilterBar.tsx diff --git a/src/app/[variants]/(main)/memory/features/GridView/GridCard.tsx b/src/routes/(main)/memory/features/GridView/GridCard.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/GridView/GridCard.tsx rename to src/routes/(main)/memory/features/GridView/GridCard.tsx diff --git a/src/app/[variants]/(main)/memory/features/GridView/index.tsx b/src/routes/(main)/memory/features/GridView/index.tsx similarity index 97% rename from src/app/[variants]/(main)/memory/features/GridView/index.tsx rename to src/routes/(main)/memory/features/GridView/index.tsx index a10b55dacd..8bd7e64a5c 100644 --- a/src/app/[variants]/(main)/memory/features/GridView/index.tsx +++ b/src/routes/(main)/memory/features/GridView/index.tsx @@ -4,7 +4,7 @@ import { type ReactNode } from 'react'; import { memo } from 'react'; import { VirtuosoGrid } from 'react-virtuoso'; -import Loading from '@/app/[variants]/(main)/memory/features/Loading'; +import Loading from '@/routes/(main)/memory/features/Loading'; import { useScrollParent } from '../TimeLineView/useScrollParent'; diff --git a/src/app/[variants]/(main)/memory/features/HashTags.tsx b/src/routes/(main)/memory/features/HashTags.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/HashTags.tsx rename to src/routes/(main)/memory/features/HashTags.tsx diff --git a/src/app/[variants]/(main)/memory/features/HighlightedContent.tsx b/src/routes/(main)/memory/features/HighlightedContent.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/HighlightedContent.tsx rename to src/routes/(main)/memory/features/HighlightedContent.tsx diff --git a/src/app/[variants]/(main)/memory/features/Loading.tsx b/src/routes/(main)/memory/features/Loading.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/Loading.tsx rename to src/routes/(main)/memory/features/Loading.tsx diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/Action.tsx b/src/routes/(main)/memory/features/MemoryAnalysis/Action.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/Action.tsx rename to src/routes/(main)/memory/features/MemoryAnalysis/Action.tsx diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx b/src/routes/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx similarity index 95% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx rename to src/routes/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx index 2caa53706d..941f357e9a 100644 --- a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx +++ b/src/routes/(main)/memory/features/MemoryAnalysis/AnalysisTrigger.tsx @@ -6,7 +6,7 @@ import { CalendarClockIcon } from 'lucide-react'; import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { useMemoryAnalysisAsyncTask } from '@/app/[variants]/(main)/memory/features/MemoryAnalysis/useTask'; +import { useMemoryAnalysisAsyncTask } from '@/routes/(main)/memory/features/MemoryAnalysis/useTask'; import { memoryExtractionService } from '@/services/userMemory/extraction'; import DateRangeModal from './DateRangeModal'; diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/DateRangeModal.tsx b/src/routes/(main)/memory/features/MemoryAnalysis/DateRangeModal.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/DateRangeModal.tsx rename to src/routes/(main)/memory/features/MemoryAnalysis/DateRangeModal.tsx diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/Status.tsx b/src/routes/(main)/memory/features/MemoryAnalysis/Status.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/Status.tsx rename to src/routes/(main)/memory/features/MemoryAnalysis/Status.tsx diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/index.tsx b/src/routes/(main)/memory/features/MemoryAnalysis/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/index.tsx rename to src/routes/(main)/memory/features/MemoryAnalysis/index.tsx diff --git a/src/app/[variants]/(main)/memory/features/MemoryAnalysis/useTask.ts b/src/routes/(main)/memory/features/MemoryAnalysis/useTask.ts similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryAnalysis/useTask.ts rename to src/routes/(main)/memory/features/MemoryAnalysis/useTask.ts diff --git a/src/app/[variants]/(main)/memory/features/MemoryEmpty.tsx b/src/routes/(main)/memory/features/MemoryEmpty.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/MemoryEmpty.tsx rename to src/routes/(main)/memory/features/MemoryEmpty.tsx diff --git a/src/app/[variants]/(main)/memory/features/ProgressIcon.tsx b/src/routes/(main)/memory/features/ProgressIcon.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/ProgressIcon.tsx rename to src/routes/(main)/memory/features/ProgressIcon.tsx diff --git a/src/app/[variants]/(main)/memory/features/SourceLink.tsx b/src/routes/(main)/memory/features/SourceLink.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/SourceLink.tsx rename to src/routes/(main)/memory/features/SourceLink.tsx diff --git a/src/app/[variants]/(main)/memory/features/Time.tsx b/src/routes/(main)/memory/features/Time.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/Time.tsx rename to src/routes/(main)/memory/features/Time.tsx diff --git a/src/app/[variants]/(main)/memory/features/TimeLineView/PeriodGroup.tsx b/src/routes/(main)/memory/features/TimeLineView/PeriodGroup.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/TimeLineView/PeriodGroup.tsx rename to src/routes/(main)/memory/features/TimeLineView/PeriodGroup.tsx diff --git a/src/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard.tsx b/src/routes/(main)/memory/features/TimeLineView/TimeLineCard.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard.tsx rename to src/routes/(main)/memory/features/TimeLineView/TimeLineCard.tsx diff --git a/src/app/[variants]/(main)/memory/features/TimeLineView/index.tsx b/src/routes/(main)/memory/features/TimeLineView/index.tsx similarity index 98% rename from src/app/[variants]/(main)/memory/features/TimeLineView/index.tsx rename to src/routes/(main)/memory/features/TimeLineView/index.tsx index f497ecf02d..6879dea1c8 100644 --- a/src/app/[variants]/(main)/memory/features/TimeLineView/index.tsx +++ b/src/routes/(main)/memory/features/TimeLineView/index.tsx @@ -6,8 +6,8 @@ import { type ReactNode } from 'react'; import { memo, useMemo } from 'react'; import { GroupedVirtuoso } from 'react-virtuoso'; -import Loading from '@/app/[variants]/(main)/memory/features/Loading'; import { useIsDark } from '@/hooks/useIsDark'; +import Loading from '@/routes/(main)/memory/features/Loading'; import { useScrollParent } from './useScrollParent'; diff --git a/src/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent.ts b/src/routes/(main)/memory/features/TimeLineView/useScrollParent.ts similarity index 100% rename from src/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent.ts rename to src/routes/(main)/memory/features/TimeLineView/useScrollParent.ts diff --git a/src/app/[variants]/(main)/memory/features/ViewModeSwitcher.tsx b/src/routes/(main)/memory/features/ViewModeSwitcher.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/features/ViewModeSwitcher.tsx rename to src/routes/(main)/memory/features/ViewModeSwitcher.tsx diff --git a/src/app/[variants]/(main)/memory/features/useCateColor.ts b/src/routes/(main)/memory/features/useCateColor.ts similarity index 100% rename from src/app/[variants]/(main)/memory/features/useCateColor.ts rename to src/routes/(main)/memory/features/useCateColor.ts diff --git a/src/app/[variants]/(main)/memory/identities/features/IdentityDropdown.tsx b/src/routes/(main)/memory/identities/features/IdentityDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/identities/features/IdentityDropdown.tsx rename to src/routes/(main)/memory/identities/features/IdentityDropdown.tsx diff --git a/src/app/[variants]/(main)/memory/identities/features/IdentityRightPanel.tsx b/src/routes/(main)/memory/identities/features/IdentityRightPanel.tsx similarity index 77% rename from src/app/[variants]/(main)/memory/identities/features/IdentityRightPanel.tsx rename to src/routes/(main)/memory/identities/features/IdentityRightPanel.tsx index 2f42736c15..d37bc1ef37 100644 --- a/src/app/[variants]/(main)/memory/identities/features/IdentityRightPanel.tsx +++ b/src/routes/(main)/memory/identities/features/IdentityRightPanel.tsx @@ -3,14 +3,14 @@ import { Text } from '@lobehub/ui'; import { memo } from 'react'; -import CateTag from '@/app/[variants]/(main)/memory/features/CateTag'; -import DetailLoading from '@/app/[variants]/(main)/memory/features/DetailLoading'; -import DetailPanel from '@/app/[variants]/(main)/memory/features/DetailPanel'; -import HashTags from '@/app/[variants]/(main)/memory/features/HashTags'; -import HighlightedContent from '@/app/[variants]/(main)/memory/features/HighlightedContent'; -import Time from '@/app/[variants]/(main)/memory/features/Time'; import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens'; import { useQueryState } from '@/hooks/useQueryParam'; +import CateTag from '@/routes/(main)/memory/features/CateTag'; +import DetailLoading from '@/routes/(main)/memory/features/DetailLoading'; +import DetailPanel from '@/routes/(main)/memory/features/DetailPanel'; +import HashTags from '@/routes/(main)/memory/features/HashTags'; +import HighlightedContent from '@/routes/(main)/memory/features/HighlightedContent'; +import Time from '@/routes/(main)/memory/features/Time'; import { useUserMemoryStore } from '@/store/userMemory'; import { LayersEnum } from '@/types/userMemory'; diff --git a/src/app/[variants]/(main)/memory/identities/features/List/GridView/IdentityCard.tsx b/src/routes/(main)/memory/identities/features/List/GridView/IdentityCard.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/identities/features/List/GridView/IdentityCard.tsx rename to src/routes/(main)/memory/identities/features/List/GridView/IdentityCard.tsx index 8275e755cb..31c8ebfda8 100644 --- a/src/app/[variants]/(main)/memory/identities/features/List/GridView/IdentityCard.tsx +++ b/src/routes/(main)/memory/identities/features/List/GridView/IdentityCard.tsx @@ -1,7 +1,7 @@ import { type IdentityListItem } from '@lobechat/types'; import { memo } from 'react'; -import GridCard from '@/app/[variants]/(main)/memory/features/GridView/GridCard'; +import GridCard from '@/routes/(main)/memory/features/GridView/GridCard'; import IdentityDropdown from '../../IdentityDropdown'; diff --git a/src/app/[variants]/(main)/memory/identities/features/List/GridView/index.tsx b/src/routes/(main)/memory/identities/features/List/GridView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/identities/features/List/GridView/index.tsx rename to src/routes/(main)/memory/identities/features/List/GridView/index.tsx diff --git a/src/app/[variants]/(main)/memory/identities/features/List/TimelineView/IdentityCard.tsx b/src/routes/(main)/memory/identities/features/List/TimelineView/IdentityCard.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/identities/features/List/TimelineView/IdentityCard.tsx rename to src/routes/(main)/memory/identities/features/List/TimelineView/IdentityCard.tsx diff --git a/src/app/[variants]/(main)/memory/identities/features/List/TimelineView/index.tsx b/src/routes/(main)/memory/identities/features/List/TimelineView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/identities/features/List/TimelineView/index.tsx rename to src/routes/(main)/memory/identities/features/List/TimelineView/index.tsx diff --git a/src/app/[variants]/(main)/memory/identities/features/List/index.tsx b/src/routes/(main)/memory/identities/features/List/index.tsx similarity index 94% rename from src/app/[variants]/(main)/memory/identities/features/List/index.tsx rename to src/routes/(main)/memory/identities/features/List/index.tsx index f29240aefd..24def81713 100644 --- a/src/app/[variants]/(main)/memory/identities/features/List/index.tsx +++ b/src/routes/(main)/memory/identities/features/List/index.tsx @@ -1,8 +1,8 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; import { useGlobalStore } from '@/store/global'; import { useUserMemoryStore } from '@/store/userMemory'; diff --git a/src/app/[variants]/(main)/memory/identities/features/SegmentedBar.tsx b/src/routes/(main)/memory/identities/features/SegmentedBar.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/identities/features/SegmentedBar.tsx rename to src/routes/(main)/memory/identities/features/SegmentedBar.tsx diff --git a/src/app/[variants]/(main)/memory/identities/index.tsx b/src/routes/(main)/memory/identities/index.tsx similarity index 96% rename from src/app/[variants]/(main)/memory/identities/index.tsx rename to src/routes/(main)/memory/identities/index.tsx index abe8c96947..5ef7a04627 100644 --- a/src/app/[variants]/(main)/memory/identities/index.tsx +++ b/src/routes/(main)/memory/identities/index.tsx @@ -3,12 +3,12 @@ import { BrainCircuitIcon } from 'lucide-react'; import { type FC } from 'react'; import { memo, useCallback, useEffect, useState } from 'react'; -import CommonFilterBar from '@/app/[variants]/(main)/memory/features/FilterBar'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; import { useQueryState } from '@/hooks/useQueryParam'; +import CommonFilterBar from '@/routes/(main)/memory/features/FilterBar'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; import { useUserMemoryStore } from '@/store/userMemory'; import { type TypesEnum } from '@/types/userMemory'; diff --git a/src/app/[variants]/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx b/src/routes/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx similarity index 87% rename from src/app/[variants]/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx rename to src/routes/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx index 00a72df7f0..8004f9b0e2 100644 --- a/src/app/[variants]/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx +++ b/src/routes/(main)/memory/preferences/features/List/GridView/PreferenceCard.tsx @@ -3,9 +3,9 @@ import relativeTime from 'dayjs/plugin/relativeTime'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import GridCard from '@/app/[variants]/(main)/memory/features/GridView/GridCard'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; import { type DisplayPreferenceMemory } from '@/database/repositories/userMemory'; +import GridCard from '@/routes/(main)/memory/features/GridView/GridCard'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; import PreferenceDropdown from '../../PreferenceDropdown'; diff --git a/src/app/[variants]/(main)/memory/preferences/features/List/GridView/index.tsx b/src/routes/(main)/memory/preferences/features/List/GridView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/preferences/features/List/GridView/index.tsx rename to src/routes/(main)/memory/preferences/features/List/GridView/index.tsx diff --git a/src/app/[variants]/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx b/src/routes/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx similarity index 88% rename from src/app/[variants]/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx rename to src/routes/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx index caf9e0df8b..63ee5b392d 100644 --- a/src/app/[variants]/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx +++ b/src/routes/(main)/memory/preferences/features/List/TimelineView/PreferenceCard.tsx @@ -1,7 +1,7 @@ import { memo } from 'react'; -import TimeLineCard from '@/app/[variants]/(main)/memory/features/TimeLineView/TimeLineCard'; import { type DisplayPreferenceMemory } from '@/database/repositories/userMemory'; +import TimeLineCard from '@/routes/(main)/memory/features/TimeLineView/TimeLineCard'; import PreferenceDropdown from '../../PreferenceDropdown'; diff --git a/src/app/[variants]/(main)/memory/preferences/features/List/TimelineView/index.tsx b/src/routes/(main)/memory/preferences/features/List/TimelineView/index.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/preferences/features/List/TimelineView/index.tsx rename to src/routes/(main)/memory/preferences/features/List/TimelineView/index.tsx diff --git a/src/app/[variants]/(main)/memory/preferences/features/List/index.tsx b/src/routes/(main)/memory/preferences/features/List/index.tsx similarity index 89% rename from src/app/[variants]/(main)/memory/preferences/features/List/index.tsx rename to src/routes/(main)/memory/preferences/features/List/index.tsx index a47ee4bd61..c1e436977f 100644 --- a/src/app/[variants]/(main)/memory/preferences/features/List/index.tsx +++ b/src/routes/(main)/memory/preferences/features/List/index.tsx @@ -1,9 +1,9 @@ import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import MemoryEmpty from '@/app/[variants]/(main)/memory/features/MemoryEmpty'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import MemoryEmpty from '@/routes/(main)/memory/features/MemoryEmpty'; import { useGlobalStore } from '@/store/global'; import { useUserMemoryStore } from '@/store/userMemory'; diff --git a/src/app/[variants]/(main)/memory/preferences/features/PreferenceDropdown.tsx b/src/routes/(main)/memory/preferences/features/PreferenceDropdown.tsx similarity index 100% rename from src/app/[variants]/(main)/memory/preferences/features/PreferenceDropdown.tsx rename to src/routes/(main)/memory/preferences/features/PreferenceDropdown.tsx diff --git a/src/app/[variants]/(main)/memory/preferences/features/PreferenceRightPanel.tsx b/src/routes/(main)/memory/preferences/features/PreferenceRightPanel.tsx similarity index 79% rename from src/app/[variants]/(main)/memory/preferences/features/PreferenceRightPanel.tsx rename to src/routes/(main)/memory/preferences/features/PreferenceRightPanel.tsx index 2d1ecc43b1..451fd1fc82 100644 --- a/src/app/[variants]/(main)/memory/preferences/features/PreferenceRightPanel.tsx +++ b/src/routes/(main)/memory/preferences/features/PreferenceRightPanel.tsx @@ -6,16 +6,16 @@ import { BotIcon } from 'lucide-react'; import { memo } from 'react'; import { useTranslation } from 'react-i18next'; -import CateTag from '@/app/[variants]/(main)/memory/features/CateTag'; -import DetailLoading from '@/app/[variants]/(main)/memory/features/DetailLoading'; -import DetailPanel from '@/app/[variants]/(main)/memory/features/DetailPanel'; -import HashTags from '@/app/[variants]/(main)/memory/features/HashTags'; -import HighlightedContent from '@/app/[variants]/(main)/memory/features/HighlightedContent'; -import ProgressIcon from '@/app/[variants]/(main)/memory/features/ProgressIcon'; -import SourceLink from '@/app/[variants]/(main)/memory/features/SourceLink'; -import Time from '@/app/[variants]/(main)/memory/features/Time'; import { DESKTOP_HEADER_ICON_SIZE } from '@/const/layoutTokens'; import { useQueryState } from '@/hooks/useQueryParam'; +import CateTag from '@/routes/(main)/memory/features/CateTag'; +import DetailLoading from '@/routes/(main)/memory/features/DetailLoading'; +import DetailPanel from '@/routes/(main)/memory/features/DetailPanel'; +import HashTags from '@/routes/(main)/memory/features/HashTags'; +import HighlightedContent from '@/routes/(main)/memory/features/HighlightedContent'; +import ProgressIcon from '@/routes/(main)/memory/features/ProgressIcon'; +import SourceLink from '@/routes/(main)/memory/features/SourceLink'; +import Time from '@/routes/(main)/memory/features/Time'; import { useUserMemoryStore } from '@/store/userMemory'; import { LayersEnum } from '@/types/userMemory'; @@ -64,7 +64,9 @@ const PreferenceRightPanel = memo(() => { - {preference.conclusionDirectives && ( diff --git a/src/app/[variants]/(main)/memory/preferences/index.tsx b/src/routes/(main)/memory/preferences/index.tsx similarity index 96% rename from src/app/[variants]/(main)/memory/preferences/index.tsx rename to src/routes/(main)/memory/preferences/index.tsx index 15a5d012ab..b5569983ec 100644 --- a/src/app/[variants]/(main)/memory/preferences/index.tsx +++ b/src/routes/(main)/memory/preferences/index.tsx @@ -4,12 +4,12 @@ import { type FC } from 'react'; import { memo, useCallback, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import MemoryAnalysis from '@/app/[variants]/(main)/memory/features/MemoryAnalysis'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/memory/features/TimeLineView/useScrollParent'; import NavHeader from '@/features/NavHeader'; import WideScreenContainer from '@/features/WideScreenContainer'; import WideScreenButton from '@/features/WideScreenContainer/WideScreenButton'; import { useQueryState } from '@/hooks/useQueryParam'; +import MemoryAnalysis from '@/routes/(main)/memory/features/MemoryAnalysis'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/memory/features/TimeLineView/useScrollParent'; import { useUserMemoryStore } from '@/store/userMemory'; import EditableModal from '../features/EditableModal'; diff --git a/src/app/[variants]/(main)/page/[id]/index.tsx b/src/routes/(main)/page/[id]/index.tsx similarity index 92% rename from src/app/[variants]/(main)/page/[id]/index.tsx rename to src/routes/(main)/page/[id]/index.tsx index 5645b088c0..bcc188bad8 100644 --- a/src/app/[variants]/(main)/page/[id]/index.tsx +++ b/src/routes/(main)/page/[id]/index.tsx @@ -1,17 +1,16 @@ 'use client'; import { useUnmount } from 'ahooks'; -import { memo,Suspense } from 'react'; +import { memo, Suspense } from 'react'; import { useParams } from 'react-router-dom'; import { createStoreUpdater } from 'zustand-utils'; import Loading from '@/components/Loading/BrandTextLoading'; import PageExplorer from '@/features/PageExplorer'; +import { PageTitle } from '@/features/Pages'; import { usePageStore } from '@/store/page'; import { getIdFromIdentifier } from '@/utils/identifier'; -import PageTitle from '../PageTitle'; - /** * Pages route - dedicated page for managing documents/pages * This is extracted from the /resource route to have its own dedicated space diff --git a/src/routes/(main)/page/_layout/index.tsx b/src/routes/(main)/page/_layout/index.tsx new file mode 100644 index 0000000000..ca0b45670a --- /dev/null +++ b/src/routes/(main)/page/_layout/index.tsx @@ -0,0 +1,3 @@ +'use client'; + +export { default } from '@/features/Pages/PageLayout'; diff --git a/src/app/[variants]/(main)/page/index.tsx b/src/routes/(main)/page/index.tsx similarity index 87% rename from src/app/[variants]/(main)/page/index.tsx rename to src/routes/(main)/page/index.tsx index c51f24cc5f..b626e7b121 100644 --- a/src/app/[variants]/(main)/page/index.tsx +++ b/src/routes/(main)/page/index.tsx @@ -1,11 +1,10 @@ 'use client'; -import { memo,Suspense } from 'react'; +import { memo, Suspense } from 'react'; import Loading from '@/components/Loading/BrandTextLoading'; import PageExplorerPlaceholder from '@/features/PageExplorer/PageExplorerPlaceholder'; - -import PageTitle from './PageTitle'; +import { PageTitle } from '@/features/Pages'; /** * Pages route - dedicated page for managing documents/pages diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/EmptyStatus.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/EmptyStatus.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/EmptyStatus.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/LibraryList/EmptyStatus.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/Actions.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/Actions.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/Actions.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/Editing.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/Editing.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/Editing.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/Editing.tsx diff --git a/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx new file mode 100644 index 0000000000..67af1b9c87 --- /dev/null +++ b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/index.tsx @@ -0,0 +1,100 @@ +import { Icon } from '@lobehub/ui'; +import { cssVar } from 'antd-style'; +import { Loader2Icon } from 'lucide-react'; +import { type CSSProperties } from 'react'; +import React, { memo, useCallback, useMemo } from 'react'; +import { useNavigate } from 'react-router-dom'; + +import RepoIcon from '@/components/LibIcon'; +import NavItem from '@/features/NavPanel/components/NavItem'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; +import { useKnowledgeBaseStore } from '@/store/library'; + +import Actions from './Actions'; +import Editing from './Editing'; +import { useDropdownMenu } from './useDropdownMenu'; + +interface KnowledgeBaseItemProps { + active?: boolean; + className?: string; + description?: string | null; + id: string; + name: string; + style?: CSSProperties; +} + +const KnowledgeBaseItem = memo( + ({ id, name, description, active, style, className }) => { + const setLibraryId = useResourceManagerStore((s) => s.setLibraryId); + const navigate = useNavigate(); + + const [editing, isLoading] = useKnowledgeBaseStore((s) => [ + s.knowledgeBaseRenamingId === id, + s.knowledgeBaseLoadingIds.includes(id), + ]); + + const toggleEditing = useCallback( + (visible?: boolean) => { + useKnowledgeBaseStore.setState( + { knowledgeBaseRenamingId: visible ? id : null }, + false, + 'toggleEditing', + ); + }, + [id], + ); + + const handleClick = useCallback(() => { + if (!editing) { + navigate(`/resource/library/${id}`); + setLibraryId(id); + } + }, [editing, navigate, id]); + + const handleDoubleClick = useCallback( + (e: React.MouseEvent) => { + if (e.altKey) { + toggleEditing(true); + } + }, + [toggleEditing], + ); + + // Icon (show loader when updating) + const icon = useMemo(() => { + if (isLoading) { + return ; + } + return ; + }, [isLoading]); + + const dropdownMenu = useDropdownMenu({ + description, + id, + name, + toggleEditing, + }); + + return ( + <> + } + active={active} + className={className} + contextMenuItems={dropdownMenu} + disabled={editing} + icon={icon} + key={id} + loading={isLoading} + style={style} + title={name} + onClick={handleClick} + onDoubleClick={handleDoubleClick} + /> + + + ); + }, +); + +export default KnowledgeBaseItem; diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/useDropdownMenu.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/Item/useDropdownMenu.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/LibraryList/Item/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/index.tsx b/src/routes/(main)/resource/(home)/_layout/Body/LibraryList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/LibraryList/index.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/LibraryList/index.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Body/index.tsx b/src/routes/(main)/resource/(home)/_layout/Body/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Body/index.tsx rename to src/routes/(main)/resource/(home)/_layout/Body/index.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Header/CategoryMenu.tsx b/src/routes/(main)/resource/(home)/_layout/Header/CategoryMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Header/CategoryMenu.tsx rename to src/routes/(main)/resource/(home)/_layout/Header/CategoryMenu.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Header/index.tsx b/src/routes/(main)/resource/(home)/_layout/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Header/index.tsx rename to src/routes/(main)/resource/(home)/_layout/Header/index.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/Sidebar.tsx b/src/routes/(main)/resource/(home)/_layout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/Sidebar.tsx rename to src/routes/(main)/resource/(home)/_layout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/index.tsx b/src/routes/(main)/resource/(home)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/index.tsx rename to src/routes/(main)/resource/(home)/_layout/index.tsx diff --git a/src/app/[variants]/(main)/page/_layout/style.ts b/src/routes/(main)/resource/(home)/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/page/_layout/style.ts rename to src/routes/(main)/resource/(home)/_layout/style.ts diff --git a/src/app/[variants]/(main)/resource/(home)/index.tsx b/src/routes/(main)/resource/(home)/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/index.tsx rename to src/routes/(main)/resource/(home)/index.tsx diff --git a/src/app/[variants]/(main)/resource/_layout/RegisterHotkeys.tsx b/src/routes/(main)/resource/_layout/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/_layout/RegisterHotkeys.tsx rename to src/routes/(main)/resource/_layout/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/resource/_layout/index.tsx b/src/routes/(main)/resource/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/_layout/index.tsx rename to src/routes/(main)/resource/_layout/index.tsx diff --git a/src/app/[variants]/(main)/resource/features/DndContextWrapper.tsx b/src/routes/(main)/resource/features/DndContextWrapper.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/DndContextWrapper.tsx rename to src/routes/(main)/resource/features/DndContextWrapper.tsx diff --git a/src/app/[variants]/(main)/resource/features/FileDetail.tsx b/src/routes/(main)/resource/features/FileDetail.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/FileDetail.tsx rename to src/routes/(main)/resource/features/FileDetail.tsx diff --git a/src/app/[variants]/(main)/resource/features/hooks/useFileQueryParam.ts b/src/routes/(main)/resource/features/hooks/useFileQueryParam.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/hooks/useFileQueryParam.ts rename to src/routes/(main)/resource/features/hooks/useFileQueryParam.ts diff --git a/src/app/[variants]/(main)/resource/features/hooks/useFolderPath.ts b/src/routes/(main)/resource/features/hooks/useFolderPath.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/hooks/useFolderPath.ts rename to src/routes/(main)/resource/features/hooks/useFolderPath.ts diff --git a/src/app/[variants]/(main)/resource/features/hooks/useInitFileCheck.ts b/src/routes/(main)/resource/features/hooks/useInitFileCheck.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/hooks/useInitFileCheck.ts rename to src/routes/(main)/resource/features/hooks/useInitFileCheck.ts diff --git a/src/app/[variants]/(main)/resource/features/hooks/useKnowledgeItem.ts b/src/routes/(main)/resource/features/hooks/useKnowledgeItem.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/hooks/useKnowledgeItem.ts rename to src/routes/(main)/resource/features/hooks/useKnowledgeItem.ts diff --git a/src/app/[variants]/(main)/resource/features/hooks/useResourceManagerUrlSync.ts b/src/routes/(main)/resource/features/hooks/useResourceManagerUrlSync.ts similarity index 95% rename from src/app/[variants]/(main)/resource/features/hooks/useResourceManagerUrlSync.ts rename to src/routes/(main)/resource/features/hooks/useResourceManagerUrlSync.ts index 2ac7a3b7b0..76ac29cd8d 100644 --- a/src/app/[variants]/(main)/resource/features/hooks/useResourceManagerUrlSync.ts +++ b/src/routes/(main)/resource/features/hooks/useResourceManagerUrlSync.ts @@ -1,7 +1,7 @@ import { useEffect } from 'react'; import { useSearchParams } from 'react-router-dom'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { SortType } from '@/types/files'; /** diff --git a/src/app/[variants]/(main)/resource/features/modal/FileDetail.tsx b/src/routes/(main)/resource/features/modal/FileDetail.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/modal/FileDetail.tsx rename to src/routes/(main)/resource/features/modal/FileDetail.tsx diff --git a/src/app/[variants]/(main)/resource/features/modal/FilePreview.tsx b/src/routes/(main)/resource/features/modal/FilePreview.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/modal/FilePreview.tsx rename to src/routes/(main)/resource/features/modal/FilePreview.tsx diff --git a/src/app/[variants]/(main)/resource/features/modal/FullscreenModal.tsx b/src/routes/(main)/resource/features/modal/FullscreenModal.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/modal/FullscreenModal.tsx rename to src/routes/(main)/resource/features/modal/FullscreenModal.tsx diff --git a/src/app/[variants]/(main)/resource/features/modal/ModalPageClient.tsx b/src/routes/(main)/resource/features/modal/ModalPageClient.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/features/modal/ModalPageClient.tsx rename to src/routes/(main)/resource/features/modal/ModalPageClient.tsx diff --git a/src/app/[variants]/(main)/resource/features/modal/useFilesQueryParam.ts b/src/routes/(main)/resource/features/modal/useFilesQueryParam.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/modal/useFilesQueryParam.ts rename to src/routes/(main)/resource/features/modal/useFilesQueryParam.ts diff --git a/src/app/[variants]/(main)/resource/features/store/action.ts b/src/routes/(main)/resource/features/store/action.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/store/action.ts rename to src/routes/(main)/resource/features/store/action.ts diff --git a/src/app/[variants]/(main)/resource/features/store/index.ts b/src/routes/(main)/resource/features/store/index.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/store/index.ts rename to src/routes/(main)/resource/features/store/index.ts diff --git a/src/app/[variants]/(main)/resource/features/store/initialState.ts b/src/routes/(main)/resource/features/store/initialState.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/store/initialState.ts rename to src/routes/(main)/resource/features/store/initialState.ts diff --git a/src/app/[variants]/(main)/resource/features/store/selectors.ts b/src/routes/(main)/resource/features/store/selectors.ts similarity index 100% rename from src/app/[variants]/(main)/resource/features/store/selectors.ts rename to src/routes/(main)/resource/features/store/selectors.ts diff --git a/src/app/[variants]/(main)/resource/library/[slug]/index.tsx b/src/routes/(main)/resource/library/[slug]/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/[slug]/index.tsx rename to src/routes/(main)/resource/library/[slug]/index.tsx diff --git a/src/app/[variants]/(main)/resource/library/_layout/Header/LibraryHead.tsx b/src/routes/(main)/resource/library/_layout/Header/LibraryHead.tsx similarity index 95% rename from src/app/[variants]/(main)/resource/library/_layout/Header/LibraryHead.tsx rename to src/routes/(main)/resource/library/_layout/Header/LibraryHead.tsx index 569346ebfe..23bcb8c2b7 100644 --- a/src/app/[variants]/(main)/resource/library/_layout/Header/LibraryHead.tsx +++ b/src/routes/(main)/resource/library/_layout/Header/LibraryHead.tsx @@ -16,9 +16,9 @@ import { type DragEvent } from 'react'; import { memo, useCallback, useMemo, useState } from 'react'; import { useNavigate } from 'react-router-dom'; -import { useDragActive } from '@/app/[variants]/(main)/resource/features/DndContextWrapper'; -import { useResourceManagerStore } from '@/app/[variants]/(main)/resource/features/store'; import RepoIcon from '@/components/LibIcon'; +import { useDragActive } from '@/routes/(main)/resource/features/DndContextWrapper'; +import { useResourceManagerStore } from '@/routes/(main)/resource/features/store'; import { knowledgeBaseSelectors, useKnowledgeBaseStore } from '@/store/library'; const styles = createStaticStyles(({ css, cssVar }) => ({ diff --git a/src/app/[variants]/(main)/resource/library/_layout/Header/index.tsx b/src/routes/(main)/resource/library/_layout/Header/index.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/_layout/Header/index.tsx rename to src/routes/(main)/resource/library/_layout/Header/index.tsx diff --git a/src/app/[variants]/(main)/resource/library/_layout/Sidebar.tsx b/src/routes/(main)/resource/library/_layout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/_layout/Sidebar.tsx rename to src/routes/(main)/resource/library/_layout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/resource/library/_layout/index.tsx b/src/routes/(main)/resource/library/_layout/index.tsx similarity index 82% rename from src/app/[variants]/(main)/resource/library/_layout/index.tsx rename to src/routes/(main)/resource/library/_layout/index.tsx index 35d50c10d4..0b637efa2c 100644 --- a/src/app/[variants]/(main)/resource/library/_layout/index.tsx +++ b/src/routes/(main)/resource/library/_layout/index.tsx @@ -4,7 +4,7 @@ import { Flexbox } from '@lobehub/ui'; import { type FC } from 'react'; import { Outlet } from 'react-router-dom'; -import RegisterHotkeys from '@/app/[variants]/(main)/resource/library/features/RegisterHotkeys'; +import RegisterHotkeys from '@/routes/(main)/resource/library/features/RegisterHotkeys'; import Sidebar from './Sidebar'; import { styles } from './style'; diff --git a/src/app/[variants]/(main)/resource/(home)/_layout/style.ts b/src/routes/(main)/resource/library/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/resource/(home)/_layout/style.ts rename to src/routes/(main)/resource/library/_layout/style.ts diff --git a/src/app/[variants]/(main)/resource/library/features/Container.tsx b/src/routes/(main)/resource/library/features/Container.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/features/Container.tsx rename to src/routes/(main)/resource/library/features/Container.tsx diff --git a/src/app/[variants]/(main)/resource/library/features/LibraryMenu.tsx b/src/routes/(main)/resource/library/features/LibraryMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/features/LibraryMenu.tsx rename to src/routes/(main)/resource/library/features/LibraryMenu.tsx diff --git a/src/app/[variants]/(main)/resource/library/features/RegisterHotkeys.tsx b/src/routes/(main)/resource/library/features/RegisterHotkeys.tsx similarity index 100% rename from src/app/[variants]/(main)/resource/library/features/RegisterHotkeys.tsx rename to src/routes/(main)/resource/library/features/RegisterHotkeys.tsx diff --git a/src/app/[variants]/(main)/resource/library/index.tsx b/src/routes/(main)/resource/library/index.tsx similarity index 95% rename from src/app/[variants]/(main)/resource/library/index.tsx rename to src/routes/(main)/resource/library/index.tsx index 9d669d55d8..cfe1eb51aa 100644 --- a/src/app/[variants]/(main)/resource/library/index.tsx +++ b/src/routes/(main)/resource/library/index.tsx @@ -3,10 +3,10 @@ import { memo, useLayoutEffect } from 'react'; import { useLocation, useParams } from 'react-router-dom'; -import Container from '@/app/[variants]/(main)/resource/library/features/Container'; import NotFound from '@/components/404'; import NProgress from '@/components/NProgress'; import ResourceManager from '@/features/ResourceManager'; +import Container from '@/routes/(main)/resource/library/features/Container'; import { useInitFileCheck } from '../features/hooks/useInitFileCheck'; import { useKnowledgeBaseItem } from '../features/hooks/useKnowledgeItem'; diff --git a/src/app/[variants]/(main)/resource/store/action.ts b/src/routes/(main)/resource/store/action.ts similarity index 100% rename from src/app/[variants]/(main)/resource/store/action.ts rename to src/routes/(main)/resource/store/action.ts diff --git a/src/app/[variants]/(main)/resource/store/initialState.ts b/src/routes/(main)/resource/store/initialState.ts similarity index 100% rename from src/app/[variants]/(main)/resource/store/initialState.ts rename to src/routes/(main)/resource/store/initialState.ts diff --git a/src/app/[variants]/(main)/settings/_layout/Body/index.tsx b/src/routes/(main)/settings/_layout/Body/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/Body/index.tsx rename to src/routes/(main)/settings/_layout/Body/index.tsx diff --git a/src/app/[variants]/(main)/settings/_layout/ContextProvider/index.tsx b/src/routes/(main)/settings/_layout/ContextProvider/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/ContextProvider/index.tsx rename to src/routes/(main)/settings/_layout/ContextProvider/index.tsx diff --git a/src/app/[variants]/(main)/settings/_layout/Header.tsx b/src/routes/(main)/settings/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/Header.tsx rename to src/routes/(main)/settings/_layout/Header.tsx diff --git a/src/app/[variants]/(main)/settings/_layout/SideBar.tsx b/src/routes/(main)/settings/_layout/SideBar.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/SideBar.tsx rename to src/routes/(main)/settings/_layout/SideBar.tsx diff --git a/src/app/[variants]/(main)/settings/_layout/SidebarContent.tsx b/src/routes/(main)/settings/_layout/SidebarContent.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/SidebarContent.tsx rename to src/routes/(main)/settings/_layout/SidebarContent.tsx diff --git a/src/app/[variants]/(main)/settings/_layout/index.tsx b/src/routes/(main)/settings/_layout/index.tsx similarity index 88% rename from src/app/[variants]/(main)/settings/_layout/index.tsx rename to src/routes/(main)/settings/_layout/index.tsx index 15352a32e8..19e61ff2a1 100644 --- a/src/app/[variants]/(main)/settings/_layout/index.tsx +++ b/src/routes/(main)/settings/_layout/index.tsx @@ -4,7 +4,7 @@ import { Flexbox } from '@lobehub/ui'; import { type FC } from 'react'; import { Outlet } from 'react-router-dom'; -import SideBar from '@/app/[variants]/(main)/settings/_layout/SideBar'; +import SideBar from '@/routes/(main)/settings/_layout/SideBar'; import SettingsContextProvider from './ContextProvider'; import { styles } from './style'; diff --git a/src/app/[variants]/(main)/resource/library/_layout/style.ts b/src/routes/(main)/settings/_layout/style.ts similarity index 92% rename from src/app/[variants]/(main)/resource/library/_layout/style.ts rename to src/routes/(main)/settings/_layout/style.ts index f668cde86b..431e17cd31 100644 --- a/src/app/[variants]/(main)/resource/library/_layout/style.ts +++ b/src/routes/(main)/settings/_layout/style.ts @@ -1,7 +1,7 @@ import { createStaticStyles } from 'antd-style'; export const styles = createStaticStyles(({ css, cssVar }) => ({ - // 主容器 + // Main container mainContainer: css` position: relative; overflow: hidden; diff --git a/src/app/[variants]/(main)/settings/_layout/type.ts b/src/routes/(main)/settings/_layout/type.ts similarity index 100% rename from src/app/[variants]/(main)/settings/_layout/type.ts rename to src/routes/(main)/settings/_layout/type.ts diff --git a/src/app/[variants]/(main)/settings/about/features/About.tsx b/src/routes/(main)/settings/about/features/About.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/About.tsx rename to src/routes/(main)/settings/about/features/About.tsx diff --git a/src/app/[variants]/(main)/settings/about/features/AboutList.tsx b/src/routes/(main)/settings/about/features/AboutList.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/AboutList.tsx rename to src/routes/(main)/settings/about/features/AboutList.tsx diff --git a/src/app/[variants]/(main)/settings/about/features/Analytics.tsx b/src/routes/(main)/settings/about/features/Analytics.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/Analytics.tsx rename to src/routes/(main)/settings/about/features/Analytics.tsx diff --git a/src/app/[variants]/(main)/settings/about/features/ItemCard.tsx b/src/routes/(main)/settings/about/features/ItemCard.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/ItemCard.tsx rename to src/routes/(main)/settings/about/features/ItemCard.tsx diff --git a/src/app/[variants]/(main)/settings/about/features/ItemLink.tsx b/src/routes/(main)/settings/about/features/ItemLink.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/ItemLink.tsx rename to src/routes/(main)/settings/about/features/ItemLink.tsx diff --git a/src/app/[variants]/(main)/settings/about/features/Version.tsx b/src/routes/(main)/settings/about/features/Version.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/about/features/Version.tsx rename to src/routes/(main)/settings/about/features/Version.tsx diff --git a/src/app/[variants]/(main)/settings/about/index.tsx b/src/routes/(main)/settings/about/index.tsx similarity index 81% rename from src/app/[variants]/(main)/settings/about/index.tsx rename to src/routes/(main)/settings/about/index.tsx index 2fbf421aa2..459133f723 100644 --- a/src/app/[variants]/(main)/settings/about/index.tsx +++ b/src/routes/(main)/settings/about/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import About from './features/About'; import Analytics from './features/Analytics'; diff --git a/src/app/[variants]/(main)/settings/agent/features/DefaultAgentForm.tsx b/src/routes/(main)/settings/agent/features/DefaultAgentForm.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/agent/features/DefaultAgentForm.tsx rename to src/routes/(main)/settings/agent/features/DefaultAgentForm.tsx diff --git a/src/app/[variants]/(main)/settings/agent/features/SystemAgentForm.tsx b/src/routes/(main)/settings/agent/features/SystemAgentForm.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/agent/features/SystemAgentForm.tsx rename to src/routes/(main)/settings/agent/features/SystemAgentForm.tsx diff --git a/src/app/[variants]/(main)/settings/agent/features/useSync.ts b/src/routes/(main)/settings/agent/features/useSync.ts similarity index 100% rename from src/app/[variants]/(main)/settings/agent/features/useSync.ts rename to src/routes/(main)/settings/agent/features/useSync.ts diff --git a/src/app/[variants]/(main)/settings/agent/index.tsx b/src/routes/(main)/settings/agent/index.tsx similarity index 92% rename from src/app/[variants]/(main)/settings/agent/index.tsx rename to src/routes/(main)/settings/agent/index.tsx index 4666c045fd..a124a2191c 100644 --- a/src/app/[variants]/(main)/settings/agent/index.tsx +++ b/src/routes/(main)/settings/agent/index.tsx @@ -3,7 +3,7 @@ import { DEFAULT_REWRITE_QUERY } from '@lobechat/prompts'; import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import { featureFlagsSelectors, useServerConfigStore } from '@/store/serverConfig'; import DefaultAgentForm from './features/DefaultAgentForm'; diff --git a/src/app/[variants]/(main)/settings/apikey/features/ApiKey.tsx b/src/routes/(main)/settings/apikey/features/ApiKey.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/ApiKey.tsx rename to src/routes/(main)/settings/apikey/features/ApiKey.tsx diff --git a/src/app/[variants]/(main)/settings/apikey/features/ApiKeyDatePicker/index.tsx b/src/routes/(main)/settings/apikey/features/ApiKeyDatePicker/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/ApiKeyDatePicker/index.tsx rename to src/routes/(main)/settings/apikey/features/ApiKeyDatePicker/index.tsx diff --git a/src/app/[variants]/(main)/settings/apikey/features/ApiKeyDisplay/index.tsx b/src/routes/(main)/settings/apikey/features/ApiKeyDisplay/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/ApiKeyDisplay/index.tsx rename to src/routes/(main)/settings/apikey/features/ApiKeyDisplay/index.tsx diff --git a/src/app/[variants]/(main)/settings/apikey/features/ApiKeyModal/index.tsx b/src/routes/(main)/settings/apikey/features/ApiKeyModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/ApiKeyModal/index.tsx rename to src/routes/(main)/settings/apikey/features/ApiKeyModal/index.tsx diff --git a/src/app/[variants]/(main)/settings/apikey/features/EditableCell/index.tsx b/src/routes/(main)/settings/apikey/features/EditableCell/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/EditableCell/index.tsx rename to src/routes/(main)/settings/apikey/features/EditableCell/index.tsx diff --git a/src/app/[variants]/(main)/settings/apikey/features/index.ts b/src/routes/(main)/settings/apikey/features/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/apikey/features/index.ts rename to src/routes/(main)/settings/apikey/features/index.ts diff --git a/src/app/[variants]/(main)/settings/apikey/index.tsx b/src/routes/(main)/settings/apikey/index.tsx similarity index 76% rename from src/app/[variants]/(main)/settings/apikey/index.tsx rename to src/routes/(main)/settings/apikey/index.tsx index 1aadb1fc0a..f713641c67 100644 --- a/src/app/[variants]/(main)/settings/apikey/index.tsx +++ b/src/routes/(main)/settings/apikey/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import ApiKey from './features/ApiKey'; diff --git a/src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/ChatPreview.tsx b/src/routes/(main)/settings/chat-appearance/features/ChatAppearance/ChatPreview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/ChatPreview.tsx rename to src/routes/(main)/settings/chat-appearance/features/ChatAppearance/ChatPreview.tsx diff --git a/src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/ChatTransitionPreview.tsx b/src/routes/(main)/settings/chat-appearance/features/ChatAppearance/ChatTransitionPreview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/ChatTransitionPreview.tsx rename to src/routes/(main)/settings/chat-appearance/features/ChatAppearance/ChatTransitionPreview.tsx diff --git a/src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/HighlighterPreview.tsx b/src/routes/(main)/settings/chat-appearance/features/ChatAppearance/HighlighterPreview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/HighlighterPreview.tsx rename to src/routes/(main)/settings/chat-appearance/features/ChatAppearance/HighlighterPreview.tsx diff --git a/src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/MermaidPreview.tsx b/src/routes/(main)/settings/chat-appearance/features/ChatAppearance/MermaidPreview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/MermaidPreview.tsx rename to src/routes/(main)/settings/chat-appearance/features/ChatAppearance/MermaidPreview.tsx diff --git a/src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/index.tsx b/src/routes/(main)/settings/chat-appearance/features/ChatAppearance/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/chat-appearance/features/ChatAppearance/index.tsx rename to src/routes/(main)/settings/chat-appearance/features/ChatAppearance/index.tsx diff --git a/src/app/[variants]/(main)/settings/chat-appearance/index.tsx b/src/routes/(main)/settings/chat-appearance/index.tsx similarity index 78% rename from src/app/[variants]/(main)/settings/chat-appearance/index.tsx rename to src/routes/(main)/settings/chat-appearance/index.tsx index cef54c6a8a..67ef828626 100644 --- a/src/app/[variants]/(main)/settings/chat-appearance/index.tsx +++ b/src/routes/(main)/settings/chat-appearance/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import ChatAppearance from './features/ChatAppearance'; diff --git a/src/app/[variants]/(main)/settings/common/features/Appearance/Preview.tsx b/src/routes/(main)/settings/common/features/Appearance/Preview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Appearance/Preview.tsx rename to src/routes/(main)/settings/common/features/Appearance/Preview.tsx diff --git a/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx b/src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx rename to src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesNeutral.tsx diff --git a/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx b/src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx rename to src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/ThemeSwatchesPrimary.tsx diff --git a/src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/index.ts b/src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Appearance/ThemeSwatches/index.ts rename to src/routes/(main)/settings/common/features/Appearance/ThemeSwatches/index.ts diff --git a/src/app/[variants]/(main)/settings/common/features/Appearance/index.tsx b/src/routes/(main)/settings/common/features/Appearance/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Appearance/index.tsx rename to src/routes/(main)/settings/common/features/Appearance/index.tsx diff --git a/src/app/[variants]/(main)/settings/common/features/Common/Common.tsx b/src/routes/(main)/settings/common/features/Common/Common.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/common/features/Common/Common.tsx rename to src/routes/(main)/settings/common/features/Common/Common.tsx diff --git a/src/app/[variants]/(main)/settings/common/index.tsx b/src/routes/(main)/settings/common/index.tsx similarity index 80% rename from src/app/[variants]/(main)/settings/common/index.tsx rename to src/routes/(main)/settings/common/index.tsx index 47dbeb29cb..28884f0bf9 100644 --- a/src/app/[variants]/(main)/settings/common/index.tsx +++ b/src/routes/(main)/settings/common/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import Appearance from './features/Appearance'; import Common from './features/Common/Common'; diff --git a/src/app/[variants]/(main)/settings/features/SettingHeader.tsx b/src/routes/(main)/settings/features/SettingHeader.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/features/SettingHeader.tsx rename to src/routes/(main)/settings/features/SettingHeader.tsx diff --git a/src/app/[variants]/(main)/settings/features/SettingsContent.tsx b/src/routes/(main)/settings/features/SettingsContent.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/features/SettingsContent.tsx rename to src/routes/(main)/settings/features/SettingsContent.tsx diff --git a/src/app/[variants]/(main)/settings/features/UpgradeAlert.tsx b/src/routes/(main)/settings/features/UpgradeAlert.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/features/UpgradeAlert.tsx rename to src/routes/(main)/settings/features/UpgradeAlert.tsx diff --git a/src/app/[variants]/(main)/settings/features/componentMap.desktop.ts b/src/routes/(main)/settings/features/componentMap.desktop.ts similarity index 100% rename from src/app/[variants]/(main)/settings/features/componentMap.desktop.ts rename to src/routes/(main)/settings/features/componentMap.desktop.ts diff --git a/src/app/[variants]/(main)/settings/features/componentMap.ts b/src/routes/(main)/settings/features/componentMap.ts similarity index 100% rename from src/app/[variants]/(main)/settings/features/componentMap.ts rename to src/routes/(main)/settings/features/componentMap.ts diff --git a/src/app/[variants]/(main)/settings/hooks/useCategory.tsx b/src/routes/(main)/settings/hooks/useCategory.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/hooks/useCategory.tsx rename to src/routes/(main)/settings/hooks/useCategory.tsx diff --git a/src/app/[variants]/(main)/settings/hooks/useSyncSettings.ts b/src/routes/(main)/settings/hooks/useSyncSettings.ts similarity index 100% rename from src/app/[variants]/(main)/settings/hooks/useSyncSettings.ts rename to src/routes/(main)/settings/hooks/useSyncSettings.ts diff --git a/src/app/[variants]/(main)/settings/hotkey/features/Conversation.tsx b/src/routes/(main)/settings/hotkey/features/Conversation.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/hotkey/features/Conversation.tsx rename to src/routes/(main)/settings/hotkey/features/Conversation.tsx diff --git a/src/app/[variants]/(main)/settings/hotkey/features/Desktop.tsx b/src/routes/(main)/settings/hotkey/features/Desktop.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/hotkey/features/Desktop.tsx rename to src/routes/(main)/settings/hotkey/features/Desktop.tsx diff --git a/src/app/[variants]/(main)/settings/hotkey/features/Essential.tsx b/src/routes/(main)/settings/hotkey/features/Essential.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/hotkey/features/Essential.tsx rename to src/routes/(main)/settings/hotkey/features/Essential.tsx diff --git a/src/app/[variants]/(main)/settings/hotkey/index.tsx b/src/routes/(main)/settings/hotkey/index.tsx similarity index 84% rename from src/app/[variants]/(main)/settings/hotkey/index.tsx rename to src/routes/(main)/settings/hotkey/index.tsx index 3209141e4b..efaa16681e 100644 --- a/src/app/[variants]/(main)/settings/hotkey/index.tsx +++ b/src/routes/(main)/settings/hotkey/index.tsx @@ -1,7 +1,7 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; import { isDesktop } from '@/const/version'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import Conversation from './features/Conversation'; import Desktop from './features/Desktop'; diff --git a/src/app/[variants]/(main)/settings/image/features/Image.tsx b/src/routes/(main)/settings/image/features/Image.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/image/features/Image.tsx rename to src/routes/(main)/settings/image/features/Image.tsx diff --git a/src/app/[variants]/(main)/settings/image/index.tsx b/src/routes/(main)/settings/image/index.tsx similarity index 76% rename from src/app/[variants]/(main)/settings/image/index.tsx rename to src/routes/(main)/settings/image/index.tsx index e6bb370f63..7ab0c50c7b 100644 --- a/src/app/[variants]/(main)/settings/image/index.tsx +++ b/src/routes/(main)/settings/image/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import Image from './features/Image'; diff --git a/src/app/[variants]/(main)/settings/index.tsx b/src/routes/(main)/settings/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/index.tsx rename to src/routes/(main)/settings/index.tsx diff --git a/src/app/[variants]/(main)/settings/memory/features/Memory.tsx b/src/routes/(main)/settings/memory/features/Memory.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/memory/features/Memory.tsx rename to src/routes/(main)/settings/memory/features/Memory.tsx diff --git a/src/app/[variants]/(main)/settings/memory/index.tsx b/src/routes/(main)/settings/memory/index.tsx similarity index 76% rename from src/app/[variants]/(main)/settings/memory/index.tsx rename to src/routes/(main)/settings/memory/index.tsx index 9de9f3df43..f70bc85989 100644 --- a/src/app/[variants]/(main)/settings/memory/index.tsx +++ b/src/routes/(main)/settings/memory/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import Memory from './features/Memory'; diff --git a/src/app/[variants]/(main)/settings/profile/features/AvatarRow.tsx b/src/routes/(main)/settings/profile/features/AvatarRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/AvatarRow.tsx rename to src/routes/(main)/settings/profile/features/AvatarRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/EmailRow.tsx b/src/routes/(main)/settings/profile/features/EmailRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/EmailRow.tsx rename to src/routes/(main)/settings/profile/features/EmailRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/FullNameRow.tsx b/src/routes/(main)/settings/profile/features/FullNameRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/FullNameRow.tsx rename to src/routes/(main)/settings/profile/features/FullNameRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/InterestsRow.tsx b/src/routes/(main)/settings/profile/features/InterestsRow.tsx similarity index 99% rename from src/app/[variants]/(main)/settings/profile/features/InterestsRow.tsx rename to src/routes/(main)/settings/profile/features/InterestsRow.tsx index 71483eabfc..3cdaa527d3 100644 --- a/src/app/[variants]/(main)/settings/profile/features/InterestsRow.tsx +++ b/src/routes/(main)/settings/profile/features/InterestsRow.tsx @@ -7,8 +7,8 @@ import { AnimatePresence, m as motion } from 'motion/react'; import { useCallback, useMemo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import { INTEREST_AREAS } from '@/app/[variants]/onboarding/config'; import { fetchErrorNotification } from '@/components/Error/fetchErrorNotification'; +import { INTEREST_AREAS } from '@/routes/onboarding/config'; import { useUserStore } from '@/store/user'; import { userProfileSelectors } from '@/store/user/selectors'; diff --git a/src/app/[variants]/(main)/settings/profile/features/KlavisAuthorizationList/index.tsx b/src/routes/(main)/settings/profile/features/KlavisAuthorizationList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/KlavisAuthorizationList/index.tsx rename to src/routes/(main)/settings/profile/features/KlavisAuthorizationList/index.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/PasswordRow.tsx b/src/routes/(main)/settings/profile/features/PasswordRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/PasswordRow.tsx rename to src/routes/(main)/settings/profile/features/PasswordRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/ProfileRow.tsx b/src/routes/(main)/settings/profile/features/ProfileRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/ProfileRow.tsx rename to src/routes/(main)/settings/profile/features/ProfileRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/SSOProvidersList/index.tsx b/src/routes/(main)/settings/profile/features/SSOProvidersList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/SSOProvidersList/index.tsx rename to src/routes/(main)/settings/profile/features/SSOProvidersList/index.tsx diff --git a/src/app/[variants]/(main)/settings/profile/features/UsernameRow.tsx b/src/routes/(main)/settings/profile/features/UsernameRow.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/profile/features/UsernameRow.tsx rename to src/routes/(main)/settings/profile/features/UsernameRow.tsx diff --git a/src/app/[variants]/(main)/settings/profile/index.tsx b/src/routes/(main)/settings/profile/index.tsx similarity index 98% rename from src/app/[variants]/(main)/settings/profile/index.tsx rename to src/routes/(main)/settings/profile/index.tsx index 8cb14a74cd..57b1da744b 100644 --- a/src/app/[variants]/(main)/settings/profile/index.tsx +++ b/src/routes/(main)/settings/profile/index.tsx @@ -6,7 +6,7 @@ import { Divider } from 'antd'; import { useEffect } from 'react'; import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import { useServerConfigStore } from '@/store/serverConfig'; import { serverConfigSelectors } from '@/store/serverConfig/selectors'; import { useToolStore } from '@/store/tool'; diff --git a/src/app/[variants]/(main)/settings/provider/(list)/Footer.tsx b/src/routes/(main)/settings/provider/(list)/Footer.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/Footer.tsx rename to src/routes/(main)/settings/provider/(list)/Footer.tsx diff --git a/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx b/src/routes/(main)/settings/provider/(list)/ProviderGrid/Card.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/Card.tsx rename to src/routes/(main)/settings/provider/(list)/ProviderGrid/Card.tsx diff --git a/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx b/src/routes/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx rename to src/routes/(main)/settings/provider/(list)/ProviderGrid/EnableSwitch.tsx diff --git a/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/index.tsx b/src/routes/(main)/settings/provider/(list)/ProviderGrid/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/index.tsx rename to src/routes/(main)/settings/provider/(list)/ProviderGrid/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/style.ts b/src/routes/(main)/settings/provider/(list)/ProviderGrid/style.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/ProviderGrid/style.ts rename to src/routes/(main)/settings/provider/(list)/ProviderGrid/style.ts diff --git a/src/app/[variants]/(main)/settings/provider/(list)/index.tsx b/src/routes/(main)/settings/provider/(list)/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/(list)/index.tsx rename to src/routes/(main)/settings/provider/(list)/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/Actions.tsx b/src/routes/(main)/settings/provider/ProviderMenu/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/Actions.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/Actions.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/AddNew.tsx b/src/routes/(main)/settings/provider/ProviderMenu/AddNew.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/AddNew.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/AddNew.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/All.tsx b/src/routes/(main)/settings/provider/ProviderMenu/All.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/All.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/All.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/Item.tsx b/src/routes/(main)/settings/provider/ProviderMenu/Item.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/Item.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/Item.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/List.tsx b/src/routes/(main)/settings/provider/ProviderMenu/List.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/List.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/List.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/SearchResult.tsx b/src/routes/(main)/settings/provider/ProviderMenu/SearchResult.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/SearchResult.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/SearchResult.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx b/src/routes/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/SortProviderModal/GroupItem.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx b/src/routes/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/SortProviderModal/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/index.tsx b/src/routes/(main)/settings/provider/ProviderMenu/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/index.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/ProviderMenu/useDropdownMenu.tsx b/src/routes/(main)/settings/provider/ProviderMenu/useDropdownMenu.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/ProviderMenu/useDropdownMenu.tsx rename to src/routes/(main)/settings/provider/ProviderMenu/useDropdownMenu.tsx diff --git a/src/app/[variants]/(main)/settings/provider/_layout/Desktop/Container.tsx b/src/routes/(main)/settings/provider/_layout/Desktop/Container.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/_layout/Desktop/Container.tsx rename to src/routes/(main)/settings/provider/_layout/Desktop/Container.tsx diff --git a/src/app/[variants]/(main)/settings/provider/_layout/Desktop/index.tsx b/src/routes/(main)/settings/provider/_layout/Desktop/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/_layout/Desktop/index.tsx rename to src/routes/(main)/settings/provider/_layout/Desktop/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/_layout/Desktop/style.ts b/src/routes/(main)/settings/provider/_layout/Desktop/style.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/_layout/Desktop/style.ts rename to src/routes/(main)/settings/provider/_layout/Desktop/style.ts diff --git a/src/app/[variants]/(main)/settings/provider/_layout/Mobile.tsx b/src/routes/(main)/settings/provider/_layout/Mobile.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/_layout/Mobile.tsx rename to src/routes/(main)/settings/provider/_layout/Mobile.tsx diff --git a/src/app/[variants]/(main)/settings/provider/const.ts b/src/routes/(main)/settings/provider/const.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/const.ts rename to src/routes/(main)/settings/provider/const.ts diff --git a/src/app/[variants]/(main)/settings/provider/detail/azure/index.tsx b/src/routes/(main)/settings/provider/detail/azure/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/azure/index.tsx rename to src/routes/(main)/settings/provider/detail/azure/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/azureai/index.tsx b/src/routes/(main)/settings/provider/detail/azureai/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/azureai/index.tsx rename to src/routes/(main)/settings/provider/detail/azureai/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/bedrock/index.tsx b/src/routes/(main)/settings/provider/detail/bedrock/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/bedrock/index.tsx rename to src/routes/(main)/settings/provider/detail/bedrock/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/cloudflare/index.tsx b/src/routes/(main)/settings/provider/detail/cloudflare/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/cloudflare/index.tsx rename to src/routes/(main)/settings/provider/detail/cloudflare/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/comfyui/index.tsx b/src/routes/(main)/settings/provider/detail/comfyui/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/comfyui/index.tsx rename to src/routes/(main)/settings/provider/detail/comfyui/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/default/ClientMode.tsx b/src/routes/(main)/settings/provider/detail/default/ClientMode.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/default/ClientMode.tsx rename to src/routes/(main)/settings/provider/detail/default/ClientMode.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/default/ProviderDetialPage.tsx b/src/routes/(main)/settings/provider/detail/default/ProviderDetialPage.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/default/ProviderDetialPage.tsx rename to src/routes/(main)/settings/provider/detail/default/ProviderDetialPage.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/default/index.tsx b/src/routes/(main)/settings/provider/detail/default/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/default/index.tsx rename to src/routes/(main)/settings/provider/detail/default/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/github/index.tsx b/src/routes/(main)/settings/provider/detail/github/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/github/index.tsx rename to src/routes/(main)/settings/provider/detail/github/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/index.tsx b/src/routes/(main)/settings/provider/detail/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/index.tsx rename to src/routes/(main)/settings/provider/detail/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/newapi/index.tsx b/src/routes/(main)/settings/provider/detail/newapi/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/newapi/index.tsx rename to src/routes/(main)/settings/provider/detail/newapi/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx b/src/routes/(main)/settings/provider/detail/ollama/CheckError.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/ollama/CheckError.tsx rename to src/routes/(main)/settings/provider/detail/ollama/CheckError.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/ollama/Container.tsx b/src/routes/(main)/settings/provider/detail/ollama/Container.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/ollama/Container.tsx rename to src/routes/(main)/settings/provider/detail/ollama/Container.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/ollama/index.tsx b/src/routes/(main)/settings/provider/detail/ollama/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/ollama/index.tsx rename to src/routes/(main)/settings/provider/detail/ollama/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/openai/index.tsx b/src/routes/(main)/settings/provider/detail/openai/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/openai/index.tsx rename to src/routes/(main)/settings/provider/detail/openai/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/detail/vertexai/index.tsx b/src/routes/(main)/settings/provider/detail/vertexai/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/detail/vertexai/index.tsx rename to src/routes/(main)/settings/provider/detail/vertexai/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/CreateNewProvider/index.tsx b/src/routes/(main)/settings/provider/features/CreateNewProvider/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/CreateNewProvider/index.tsx rename to src/routes/(main)/settings/provider/features/CreateNewProvider/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/ExtendParamsSelect.tsx b/src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/ExtendParamsSelect.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/ExtendParamsSelect.tsx rename to src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/ExtendParamsSelect.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx b/src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx rename to src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/Form.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/__tests__/ExtendParamsSelect.test.tsx b/src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/__tests__/ExtendParamsSelect.test.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/__tests__/ExtendParamsSelect.test.tsx rename to src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/__tests__/ExtendParamsSelect.test.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/CreateNewModelModal/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/DisabledModels.tsx b/src/routes/(main)/settings/provider/features/ModelList/DisabledModels.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/DisabledModels.tsx rename to src/routes/(main)/settings/provider/features/ModelList/DisabledModels.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/EmptyModels.tsx b/src/routes/(main)/settings/provider/features/ModelList/EmptyModels.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/EmptyModels.tsx rename to src/routes/(main)/settings/provider/features/ModelList/EmptyModels.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/EnabledModelList/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/ModelConfigModal/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx b/src/routes/(main)/settings/provider/features/ModelList/ModelItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/ModelItem.tsx rename to src/routes/(main)/settings/provider/features/ModelList/ModelItem.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx b/src/routes/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx rename to src/routes/(main)/settings/provider/features/ModelList/ModelTitle/Search.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/ModelTitle/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/ProviderSettingsContext.ts b/src/routes/(main)/settings/provider/features/ModelList/ProviderSettingsContext.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/ProviderSettingsContext.ts rename to src/routes/(main)/settings/provider/features/ModelList/ProviderSettingsContext.ts diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/SearchResult.tsx b/src/routes/(main)/settings/provider/features/ModelList/SearchResult.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/SearchResult.tsx rename to src/routes/(main)/settings/provider/features/ModelList/SearchResult.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/SkeletonList.tsx b/src/routes/(main)/settings/provider/features/ModelList/SkeletonList.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/SkeletonList.tsx rename to src/routes/(main)/settings/provider/features/ModelList/SkeletonList.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx b/src/routes/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx rename to src/routes/(main)/settings/provider/features/ModelList/SortModelModal/ListItem.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/SortModelModal/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ModelList/index.tsx b/src/routes/(main)/settings/provider/features/ModelList/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ModelList/index.tsx rename to src/routes/(main)/settings/provider/features/ModelList/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/Checker.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/Checker.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/Checker.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/EnableSwitch.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/EnableSwitch.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/EnableSwitch.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/EnableSwitch.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/index.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/index.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts b/src/routes/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts rename to src/routes/(main)/settings/provider/features/ProviderConfig/OAuthDeviceFlowAuth/useOAuthDeviceFlow.ts diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/SettingModal.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/UpdateProviderInfo/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx b/src/routes/(main)/settings/provider/features/ProviderConfig/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/ProviderConfig/index.tsx rename to src/routes/(main)/settings/provider/features/ProviderConfig/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/features/customProviderSdkOptions.ts b/src/routes/(main)/settings/provider/features/customProviderSdkOptions.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/features/customProviderSdkOptions.ts rename to src/routes/(main)/settings/provider/features/customProviderSdkOptions.ts diff --git a/src/app/[variants]/(main)/settings/provider/index.tsx b/src/routes/(main)/settings/provider/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/provider/index.tsx rename to src/routes/(main)/settings/provider/index.tsx diff --git a/src/app/[variants]/(main)/settings/provider/type.ts b/src/routes/(main)/settings/provider/type.ts similarity index 100% rename from src/app/[variants]/(main)/settings/provider/type.ts rename to src/routes/(main)/settings/provider/type.ts diff --git a/src/app/[variants]/(main)/settings/proxy/features/ProxyForm.tsx b/src/routes/(main)/settings/proxy/features/ProxyForm.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/proxy/features/ProxyForm.tsx rename to src/routes/(main)/settings/proxy/features/ProxyForm.tsx diff --git a/src/app/[variants]/(main)/settings/proxy/index.tsx b/src/routes/(main)/settings/proxy/index.tsx similarity index 76% rename from src/app/[variants]/(main)/settings/proxy/index.tsx rename to src/routes/(main)/settings/proxy/index.tsx index c2b341fa2d..e7cda457e3 100644 --- a/src/app/[variants]/(main)/settings/proxy/index.tsx +++ b/src/routes/(main)/settings/proxy/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import ProxyForm from './features/ProxyForm'; diff --git a/src/app/[variants]/(main)/settings/security/index.tsx b/src/routes/(main)/settings/security/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/security/index.tsx rename to src/routes/(main)/settings/security/index.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/Actions.tsx b/src/routes/(main)/settings/skill/features/Actions.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/Actions.tsx rename to src/routes/(main)/settings/skill/features/Actions.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/AgentSkillItem.tsx b/src/routes/(main)/settings/skill/features/AgentSkillItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/AgentSkillItem.tsx rename to src/routes/(main)/settings/skill/features/AgentSkillItem.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/BuiltinSkillItem.tsx b/src/routes/(main)/settings/skill/features/BuiltinSkillItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/BuiltinSkillItem.tsx rename to src/routes/(main)/settings/skill/features/BuiltinSkillItem.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/EditCustomPlugin.tsx b/src/routes/(main)/settings/skill/features/EditCustomPlugin.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/EditCustomPlugin.tsx rename to src/routes/(main)/settings/skill/features/EditCustomPlugin.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/KlavisSkillItem.tsx b/src/routes/(main)/settings/skill/features/KlavisSkillItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/KlavisSkillItem.tsx rename to src/routes/(main)/settings/skill/features/KlavisSkillItem.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/LobehubSkillItem.tsx b/src/routes/(main)/settings/skill/features/LobehubSkillItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/LobehubSkillItem.tsx rename to src/routes/(main)/settings/skill/features/LobehubSkillItem.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/McpSkillItem.tsx b/src/routes/(main)/settings/skill/features/McpSkillItem.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/McpSkillItem.tsx rename to src/routes/(main)/settings/skill/features/McpSkillItem.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/SkillList.tsx b/src/routes/(main)/settings/skill/features/SkillList.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/SkillList.tsx rename to src/routes/(main)/settings/skill/features/SkillList.tsx diff --git a/src/app/[variants]/(main)/settings/skill/features/style.ts b/src/routes/(main)/settings/skill/features/style.ts similarity index 100% rename from src/app/[variants]/(main)/settings/skill/features/style.ts rename to src/routes/(main)/settings/skill/features/style.ts diff --git a/src/app/[variants]/(main)/settings/skill/index.tsx b/src/routes/(main)/settings/skill/index.tsx similarity index 90% rename from src/app/[variants]/(main)/settings/skill/index.tsx rename to src/routes/(main)/settings/skill/index.tsx index b1fa0eb0d7..027fbe1cae 100644 --- a/src/app/[variants]/(main)/settings/skill/index.tsx +++ b/src/routes/(main)/settings/skill/index.tsx @@ -5,8 +5,8 @@ import { Store } from 'lucide-react'; import { useCallback } from 'react'; import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; import { createSkillStoreModal } from '@/features/SkillStore'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import SkillList from './features/SkillList'; diff --git a/src/app/[variants]/(main)/settings/stats/features/components/StatsFormGroup.tsx b/src/routes/(main)/settings/stats/features/components/StatsFormGroup.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/components/StatsFormGroup.tsx rename to src/routes/(main)/settings/stats/features/components/StatsFormGroup.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/components/TimeLabel.tsx b/src/routes/(main)/settings/stats/features/components/TimeLabel.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/components/TimeLabel.tsx rename to src/routes/(main)/settings/stats/features/components/TimeLabel.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/components/UsageBarChart.tsx b/src/routes/(main)/settings/stats/features/components/UsageBarChart.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/components/UsageBarChart.tsx rename to src/routes/(main)/settings/stats/features/components/UsageBarChart.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/Preview.tsx b/src/routes/(main)/settings/stats/features/overview/ShareButton/Preview.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/Preview.tsx rename to src/routes/(main)/settings/stats/features/overview/ShareButton/Preview.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/ShareModal.tsx b/src/routes/(main)/settings/stats/features/overview/ShareButton/ShareModal.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/ShareModal.tsx rename to src/routes/(main)/settings/stats/features/overview/ShareButton/ShareModal.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/TotalCard.tsx b/src/routes/(main)/settings/stats/features/overview/ShareButton/TotalCard.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/TotalCard.tsx rename to src/routes/(main)/settings/stats/features/overview/ShareButton/TotalCard.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/index.tsx b/src/routes/(main)/settings/stats/features/overview/ShareButton/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/ShareButton/index.tsx rename to src/routes/(main)/settings/stats/features/overview/ShareButton/index.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/TotalAssistants.tsx b/src/routes/(main)/settings/stats/features/overview/TotalAssistants.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/TotalAssistants.tsx rename to src/routes/(main)/settings/stats/features/overview/TotalAssistants.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/TotalMessages.tsx b/src/routes/(main)/settings/stats/features/overview/TotalMessages.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/TotalMessages.tsx rename to src/routes/(main)/settings/stats/features/overview/TotalMessages.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/TotalTopics.tsx b/src/routes/(main)/settings/stats/features/overview/TotalTopics.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/TotalTopics.tsx rename to src/routes/(main)/settings/stats/features/overview/TotalTopics.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/TotalWords.tsx b/src/routes/(main)/settings/stats/features/overview/TotalWords.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/TotalWords.tsx rename to src/routes/(main)/settings/stats/features/overview/TotalWords.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/Welcome.tsx b/src/routes/(main)/settings/stats/features/overview/Welcome.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/Welcome.tsx rename to src/routes/(main)/settings/stats/features/overview/Welcome.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/overview/index.ts b/src/routes/(main)/settings/stats/features/overview/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/overview/index.ts rename to src/routes/(main)/settings/stats/features/overview/index.ts diff --git a/src/app/[variants]/(main)/settings/stats/features/rankings/AssistantsRank.tsx b/src/routes/(main)/settings/stats/features/rankings/AssistantsRank.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/rankings/AssistantsRank.tsx rename to src/routes/(main)/settings/stats/features/rankings/AssistantsRank.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/rankings/ModelsRank.tsx b/src/routes/(main)/settings/stats/features/rankings/ModelsRank.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/rankings/ModelsRank.tsx rename to src/routes/(main)/settings/stats/features/rankings/ModelsRank.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/rankings/TopicsRank.tsx b/src/routes/(main)/settings/stats/features/rankings/TopicsRank.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/rankings/TopicsRank.tsx rename to src/routes/(main)/settings/stats/features/rankings/TopicsRank.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/rankings/index.ts b/src/routes/(main)/settings/stats/features/rankings/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/rankings/index.ts rename to src/routes/(main)/settings/stats/features/rankings/index.ts diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/ActiveModels/ModelTable.tsx b/src/routes/(main)/settings/stats/features/usage/UsageCards/ActiveModels/ModelTable.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/ActiveModels/ModelTable.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageCards/ActiveModels/ModelTable.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/ActiveModels/index.tsx b/src/routes/(main)/settings/stats/features/usage/UsageCards/ActiveModels/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/ActiveModels/index.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageCards/ActiveModels/index.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/MonthSpend.tsx b/src/routes/(main)/settings/stats/features/usage/UsageCards/MonthSpend.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/MonthSpend.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageCards/MonthSpend.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/TodaySpend.tsx b/src/routes/(main)/settings/stats/features/usage/UsageCards/TodaySpend.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/TodaySpend.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageCards/TodaySpend.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/index.tsx b/src/routes/(main)/settings/stats/features/usage/UsageCards/index.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageCards/index.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageCards/index.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageTable.tsx b/src/routes/(main)/settings/stats/features/usage/UsageTable.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageTable.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageTable.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/UsageTrends.tsx b/src/routes/(main)/settings/stats/features/usage/UsageTrends.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/UsageTrends.tsx rename to src/routes/(main)/settings/stats/features/usage/UsageTrends.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/usage/index.ts b/src/routes/(main)/settings/stats/features/usage/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/usage/index.ts rename to src/routes/(main)/settings/stats/features/usage/index.ts diff --git a/src/app/[variants]/(main)/settings/stats/features/visualization/AiHeatmaps.tsx b/src/routes/(main)/settings/stats/features/visualization/AiHeatmaps.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/visualization/AiHeatmaps.tsx rename to src/routes/(main)/settings/stats/features/visualization/AiHeatmaps.tsx diff --git a/src/app/[variants]/(main)/settings/stats/features/visualization/index.ts b/src/routes/(main)/settings/stats/features/visualization/index.ts similarity index 100% rename from src/app/[variants]/(main)/settings/stats/features/visualization/index.ts rename to src/routes/(main)/settings/stats/features/visualization/index.ts diff --git a/src/app/[variants]/(main)/settings/stats/index.tsx b/src/routes/(main)/settings/stats/index.tsx similarity index 97% rename from src/app/[variants]/(main)/settings/stats/index.tsx rename to src/routes/(main)/settings/stats/index.tsx index 5059649420..1cf2353f12 100644 --- a/src/app/[variants]/(main)/settings/stats/index.tsx +++ b/src/routes/(main)/settings/stats/index.tsx @@ -9,8 +9,8 @@ import { Brain } from 'lucide-react'; import { memo, useEffect, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; import { useClientDataSWR } from '@/libs/swr'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import { usageService } from '@/services/usage'; import { diff --git a/src/app/[variants]/(main)/settings/stats/types.ts b/src/routes/(main)/settings/stats/types.ts similarity index 100% rename from src/app/[variants]/(main)/settings/stats/types.ts rename to src/routes/(main)/settings/stats/types.ts diff --git a/src/app/[variants]/(main)/settings/storage/features/Advanced.tsx b/src/routes/(main)/settings/storage/features/Advanced.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/storage/features/Advanced.tsx rename to src/routes/(main)/settings/storage/features/Advanced.tsx diff --git a/src/app/[variants]/(main)/settings/storage/index.tsx b/src/routes/(main)/settings/storage/index.tsx similarity index 92% rename from src/app/[variants]/(main)/settings/storage/index.tsx rename to src/routes/(main)/settings/storage/index.tsx index 8334e509da..14ea96695b 100644 --- a/src/app/[variants]/(main)/settings/storage/index.tsx +++ b/src/routes/(main)/settings/storage/index.tsx @@ -3,7 +3,7 @@ import { Flexbox, FormGroup, Skeleton } from '@lobehub/ui'; import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import { useServerConfigStore } from '@/store/serverConfig'; import { useUserStore } from '@/store/user'; import { authSelectors } from '@/store/user/selectors'; diff --git a/src/app/[variants]/(main)/settings/system-tools/features/ToolDetectorSection.tsx b/src/routes/(main)/settings/system-tools/features/ToolDetectorSection.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/system-tools/features/ToolDetectorSection.tsx rename to src/routes/(main)/settings/system-tools/features/ToolDetectorSection.tsx diff --git a/src/app/[variants]/(main)/settings/system-tools/index.tsx b/src/routes/(main)/settings/system-tools/index.tsx similarity index 79% rename from src/app/[variants]/(main)/settings/system-tools/index.tsx rename to src/routes/(main)/settings/system-tools/index.tsx index 102fa483fc..6dabb50ad8 100644 --- a/src/app/[variants]/(main)/settings/system-tools/index.tsx +++ b/src/routes/(main)/settings/system-tools/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import ToolDetectorSection from './features/ToolDetectorSection'; diff --git a/src/app/[variants]/(main)/settings/tts/features/OpenAI.tsx b/src/routes/(main)/settings/tts/features/OpenAI.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/tts/features/OpenAI.tsx rename to src/routes/(main)/settings/tts/features/OpenAI.tsx diff --git a/src/app/[variants]/(main)/settings/tts/features/STT.tsx b/src/routes/(main)/settings/tts/features/STT.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/tts/features/STT.tsx rename to src/routes/(main)/settings/tts/features/STT.tsx diff --git a/src/app/[variants]/(main)/settings/tts/features/const.tsx b/src/routes/(main)/settings/tts/features/const.tsx similarity index 100% rename from src/app/[variants]/(main)/settings/tts/features/const.tsx rename to src/routes/(main)/settings/tts/features/const.tsx diff --git a/src/app/[variants]/(main)/settings/tts/index.tsx b/src/routes/(main)/settings/tts/index.tsx similarity index 79% rename from src/app/[variants]/(main)/settings/tts/index.tsx rename to src/routes/(main)/settings/tts/index.tsx index 81b7f87160..810e8bd3ac 100644 --- a/src/app/[variants]/(main)/settings/tts/index.tsx +++ b/src/routes/(main)/settings/tts/index.tsx @@ -1,6 +1,6 @@ import { useTranslation } from 'react-i18next'; -import SettingHeader from '@/app/[variants]/(main)/settings/features/SettingHeader'; +import SettingHeader from '@/routes/(main)/settings/features/SettingHeader'; import OpenAI from './features/OpenAI'; import STT from './features/STT'; diff --git a/src/app/[variants]/(main)/video/_layout/ConfigPanel/VideoConfigSkeleton.tsx b/src/routes/(main)/video/_layout/ConfigPanel/VideoConfigSkeleton.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/ConfigPanel/VideoConfigSkeleton.tsx rename to src/routes/(main)/video/_layout/ConfigPanel/VideoConfigSkeleton.tsx diff --git a/src/app/[variants]/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx b/src/routes/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx similarity index 88% rename from src/app/[variants]/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx rename to src/routes/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx index b1092beb3c..e72bf95c31 100644 --- a/src/app/[variants]/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx +++ b/src/routes/(main)/video/_layout/ConfigPanel/components/FrameUpload.tsx @@ -1,6 +1,6 @@ import { memo } from 'react'; -import ImageUpload from '@/app/[variants]/(main)/image/_layout/ConfigPanel/components/ImageUpload'; +import ImageUpload from '@/routes/(main)/image/_layout/ConfigPanel/components/ImageUpload'; import { useVideoGenerationConfigParam } from '@/store/video/slices/generationConfig/hooks'; interface FrameUploadProps { diff --git a/src/app/[variants]/(main)/video/_layout/ConfigPanel/components/ModelSelect/VideoModelItem.tsx b/src/routes/(main)/video/_layout/ConfigPanel/components/ModelSelect/VideoModelItem.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/ConfigPanel/components/ModelSelect/VideoModelItem.tsx rename to src/routes/(main)/video/_layout/ConfigPanel/components/ModelSelect/VideoModelItem.tsx diff --git a/src/app/[variants]/(main)/video/_layout/ConfigPanel/components/ModelSelect/index.tsx b/src/routes/(main)/video/_layout/ConfigPanel/components/ModelSelect/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/ConfigPanel/components/ModelSelect/index.tsx rename to src/routes/(main)/video/_layout/ConfigPanel/components/ModelSelect/index.tsx diff --git a/src/app/[variants]/(main)/video/_layout/ConfigPanel/index.tsx b/src/routes/(main)/video/_layout/ConfigPanel/index.tsx similarity index 98% rename from src/app/[variants]/(main)/video/_layout/ConfigPanel/index.tsx rename to src/routes/(main)/video/_layout/ConfigPanel/index.tsx index 1a0a523235..2e9c65b68f 100644 --- a/src/app/[variants]/(main)/video/_layout/ConfigPanel/index.tsx +++ b/src/routes/(main)/video/_layout/ConfigPanel/index.tsx @@ -16,8 +16,8 @@ import type { ReactNode } from 'react'; import { memo, useCallback, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import AspectRatioSelect from '@/app/[variants]/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect'; import { useFetchAiVideoConfig } from '@/hooks/useFetchAiVideoConfig'; +import AspectRatioSelect from '@/routes/(main)/image/_layout/ConfigPanel/components/AspectRatioSelect'; import { videoGenerationConfigSelectors } from '@/store/video/selectors'; import { useVideoGenerationConfigParam } from '@/store/video/slices/generationConfig/hooks'; import { useVideoStore } from '@/store/video/store'; diff --git a/src/app/[variants]/(main)/video/_layout/Header.tsx b/src/routes/(main)/video/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/Header.tsx rename to src/routes/(main)/video/_layout/Header.tsx diff --git a/src/app/[variants]/(main)/video/_layout/Sidebar.tsx b/src/routes/(main)/video/_layout/Sidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/Sidebar.tsx rename to src/routes/(main)/video/_layout/Sidebar.tsx diff --git a/src/app/[variants]/(main)/video/_layout/TopicSidebar.tsx b/src/routes/(main)/video/_layout/TopicSidebar.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/TopicSidebar.tsx rename to src/routes/(main)/video/_layout/TopicSidebar.tsx diff --git a/src/app/[variants]/(main)/video/_layout/index.tsx b/src/routes/(main)/video/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/_layout/index.tsx rename to src/routes/(main)/video/_layout/index.tsx diff --git a/src/app/[variants]/(main)/video/_layout/style.ts b/src/routes/(main)/video/_layout/style.ts similarity index 100% rename from src/app/[variants]/(main)/video/_layout/style.ts rename to src/routes/(main)/video/_layout/style.ts diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/BatchItem.tsx b/src/routes/(main)/video/features/GenerationFeed/BatchItem.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/GenerationFeed/BatchItem.tsx rename to src/routes/(main)/video/features/GenerationFeed/BatchItem.tsx diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoErrorItem.tsx b/src/routes/(main)/video/features/GenerationFeed/VideoErrorItem.tsx similarity index 93% rename from src/app/[variants]/(main)/video/features/GenerationFeed/VideoErrorItem.tsx rename to src/routes/(main)/video/features/GenerationFeed/VideoErrorItem.tsx index c52e95fd50..0ea568326c 100644 --- a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoErrorItem.tsx +++ b/src/routes/(main)/video/features/GenerationFeed/VideoErrorItem.tsx @@ -7,8 +7,8 @@ import { VideoOffIcon } from 'lucide-react'; import { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; -import { ActionButtons } from '@/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons'; -import { styles } from '@/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles'; +import { ActionButtons } from '@/routes/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons'; +import { styles } from '@/routes/(main)/image/features/GenerationFeed/GenerationItem/styles'; import type { Generation } from '@/types/generation'; interface VideoErrorItemProps { diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx b/src/routes/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx similarity index 95% rename from src/app/[variants]/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx rename to src/routes/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx index 1f030dc05f..580d8e1e20 100644 --- a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx +++ b/src/routes/(main)/video/features/GenerationFeed/VideoLoadingItem.tsx @@ -5,7 +5,7 @@ import { Block, Center } from '@lobehub/ui'; import { Progress, Spin } from 'antd'; import { memo, useEffect, useState } from 'react'; -import { ElapsedTime } from '@/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime'; +import { ElapsedTime } from '@/routes/(main)/image/features/GenerationFeed/GenerationItem/ElapsedTime'; import { AsyncTaskStatus } from '@/types/asyncTask'; import type { Generation } from '@/types/generation'; diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoReferenceFrames.tsx b/src/routes/(main)/video/features/GenerationFeed/VideoReferenceFrames.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/GenerationFeed/VideoReferenceFrames.tsx rename to src/routes/(main)/video/features/GenerationFeed/VideoReferenceFrames.tsx diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx b/src/routes/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx similarity index 81% rename from src/app/[variants]/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx rename to src/routes/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx index 9b916f2318..fff5caee1d 100644 --- a/src/app/[variants]/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx +++ b/src/routes/(main)/video/features/GenerationFeed/VideoSuccessItem.tsx @@ -3,8 +3,8 @@ import { Block } from '@lobehub/ui'; import { memo } from 'react'; -import { ActionButtons } from '@/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons'; -import { styles } from '@/app/[variants]/(main)/image/features/GenerationFeed/GenerationItem/styles'; +import { ActionButtons } from '@/routes/(main)/image/features/GenerationFeed/GenerationItem/ActionButtons'; +import { styles } from '@/routes/(main)/image/features/GenerationFeed/GenerationItem/styles'; import type { Generation, VideoGenerationAsset } from '@/types/generation'; interface VideoSuccessItemProps { diff --git a/src/app/[variants]/(main)/video/features/GenerationFeed/index.tsx b/src/routes/(main)/video/features/GenerationFeed/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/GenerationFeed/index.tsx rename to src/routes/(main)/video/features/GenerationFeed/index.tsx diff --git a/src/app/[variants]/(main)/video/features/PromptInput/Title.tsx b/src/routes/(main)/video/features/PromptInput/Title.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/PromptInput/Title.tsx rename to src/routes/(main)/video/features/PromptInput/Title.tsx diff --git a/src/app/[variants]/(main)/video/features/PromptInput/index.tsx b/src/routes/(main)/video/features/PromptInput/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/PromptInput/index.tsx rename to src/routes/(main)/video/features/PromptInput/index.tsx diff --git a/src/app/[variants]/(main)/video/features/VideoWorkspace/Content.tsx b/src/routes/(main)/video/features/VideoWorkspace/Content.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/VideoWorkspace/Content.tsx rename to src/routes/(main)/video/features/VideoWorkspace/Content.tsx diff --git a/src/app/[variants]/(main)/video/features/VideoWorkspace/EmptyState.tsx b/src/routes/(main)/video/features/VideoWorkspace/EmptyState.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/VideoWorkspace/EmptyState.tsx rename to src/routes/(main)/video/features/VideoWorkspace/EmptyState.tsx diff --git a/src/app/[variants]/(main)/video/features/VideoWorkspace/SkeletonList.tsx b/src/routes/(main)/video/features/VideoWorkspace/SkeletonList.tsx similarity index 94% rename from src/app/[variants]/(main)/video/features/VideoWorkspace/SkeletonList.tsx rename to src/routes/(main)/video/features/VideoWorkspace/SkeletonList.tsx index cbd4b67624..cd2d1721ec 100644 --- a/src/app/[variants]/(main)/video/features/VideoWorkspace/SkeletonList.tsx +++ b/src/routes/(main)/video/features/VideoWorkspace/SkeletonList.tsx @@ -3,7 +3,7 @@ import { Block, Center, Flexbox, Skeleton } from '@lobehub/ui'; import { memo } from 'react'; -import PromptInput from '@/app/[variants]/(main)/video/features/PromptInput'; +import PromptInput from '@/routes/(main)/video/features/PromptInput'; const SkeletonList = memo(() => { return ( diff --git a/src/app/[variants]/(main)/video/features/VideoWorkspace/index.tsx b/src/routes/(main)/video/features/VideoWorkspace/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/features/VideoWorkspace/index.tsx rename to src/routes/(main)/video/features/VideoWorkspace/index.tsx diff --git a/src/app/[variants]/(main)/video/index.tsx b/src/routes/(main)/video/index.tsx similarity index 100% rename from src/app/[variants]/(main)/video/index.tsx rename to src/routes/(main)/video/index.tsx diff --git a/src/app/[variants]/(main)/video/loading.tsx b/src/routes/(main)/video/loading.tsx similarity index 100% rename from src/app/[variants]/(main)/video/loading.tsx rename to src/routes/(main)/video/loading.tsx diff --git a/src/app/[variants]/(mobile)/(home)/_layout/MobileLayout.tsx b/src/routes/(mobile)/(home)/_layout/MobileLayout.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/MobileLayout.tsx rename to src/routes/(mobile)/(home)/_layout/MobileLayout.tsx diff --git a/src/app/[variants]/(mobile)/(home)/_layout/MobileLayout/style.ts b/src/routes/(mobile)/(home)/_layout/MobileLayout/style.ts similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/MobileLayout/style.ts rename to src/routes/(mobile)/(home)/_layout/MobileLayout/style.ts diff --git a/src/app/[variants]/(mobile)/(home)/_layout/SessionHeader.tsx b/src/routes/(mobile)/(home)/_layout/SessionHeader.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/SessionHeader.tsx rename to src/routes/(mobile)/(home)/_layout/SessionHeader.tsx diff --git a/src/app/[variants]/(mobile)/(home)/_layout/SessionHeader/style.ts b/src/routes/(mobile)/(home)/_layout/SessionHeader/style.ts similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/SessionHeader/style.ts rename to src/routes/(mobile)/(home)/_layout/SessionHeader/style.ts diff --git a/src/app/[variants]/(mobile)/(home)/_layout/SessionHydration.tsx b/src/routes/(mobile)/(home)/_layout/SessionHydration.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/SessionHydration.tsx rename to src/routes/(mobile)/(home)/_layout/SessionHydration.tsx diff --git a/src/app/[variants]/(mobile)/(home)/_layout/SessionSearchBar.tsx b/src/routes/(mobile)/(home)/_layout/SessionSearchBar.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/_layout/SessionSearchBar.tsx rename to src/routes/(mobile)/(home)/_layout/SessionSearchBar.tsx diff --git a/src/app/[variants]/(mobile)/(home)/_layout/index.tsx b/src/routes/(mobile)/(home)/_layout/index.tsx similarity index 59% rename from src/app/[variants]/(mobile)/(home)/_layout/index.tsx rename to src/routes/(mobile)/(home)/_layout/index.tsx index 8df25b13c8..bf9fe9606a 100644 --- a/src/app/[variants]/(mobile)/(home)/_layout/index.tsx +++ b/src/routes/(mobile)/(home)/_layout/index.tsx @@ -1,8 +1,8 @@ import { type FC } from 'react'; import { Outlet } from 'react-router-dom'; -import MobileLayout from '@/app/[variants]/(mobile)/(home)/_layout/MobileLayout'; -import SessionHydration from '@/app/[variants]/(mobile)/(home)/_layout/SessionHydration'; +import MobileLayout from '@/routes/(mobile)/(home)/_layout/MobileLayout'; +import SessionHydration from '@/routes/(mobile)/(home)/_layout/SessionHydration'; const Layout: FC = () => { return ( diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/CollapseGroup/Actions.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/CollapseGroup/Actions.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/CollapseGroup/Actions.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/CollapseGroup/Actions.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/CollapseGroup/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/CollapseGroup/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/CollapseGroup/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/CollapseGroup/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/DefaultMode.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/DefaultMode.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/DefaultMode.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/DefaultMode.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/Inbox/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/Inbox/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/Inbox/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/Inbox/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/AddButton.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/List/AddButton.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/AddButton.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/List/AddButton.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/Item/Actions.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/List/Item/Actions.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/Item/Actions.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/List/Item/Actions.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/Item/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/List/Item/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/Item/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/List/Item/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/List/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/List/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/List/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/ListItem/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/ListItem/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/ListItem/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/ListItem/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/GroupItem.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/Modals/ConfigGroupModal/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/CreateGroupModal.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/Modals/CreateGroupModal.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/CreateGroupModal.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/Modals/CreateGroupModal.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/RenameGroupModal.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/Modals/RenameGroupModal.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/Modals/RenameGroupModal.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/Modals/RenameGroupModal.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/SearchMode.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/SearchMode.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/SearchMode.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/SearchMode.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SessionListContent/index.tsx b/src/routes/(mobile)/(home)/features/SessionListContent/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SessionListContent/index.tsx rename to src/routes/(mobile)/(home)/features/SessionListContent/index.tsx diff --git a/src/app/[variants]/(mobile)/(home)/features/SkeletonList.tsx b/src/routes/(mobile)/(home)/features/SkeletonList.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/features/SkeletonList.tsx rename to src/routes/(mobile)/(home)/features/SkeletonList.tsx diff --git a/src/app/[variants]/(mobile)/(home)/index.tsx b/src/routes/(mobile)/(home)/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/(home)/index.tsx rename to src/routes/(mobile)/(home)/index.tsx diff --git a/src/app/[variants]/(mobile)/_layout/NavBar.tsx b/src/routes/(mobile)/_layout/NavBar.tsx similarity index 100% rename from src/app/[variants]/(mobile)/_layout/NavBar.tsx rename to src/routes/(mobile)/_layout/NavBar.tsx diff --git a/src/app/[variants]/(mobile)/_layout/index.tsx b/src/routes/(mobile)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/_layout/index.tsx rename to src/routes/(mobile)/_layout/index.tsx diff --git a/src/app/[variants]/(mobile)/chat/_layout/index.tsx b/src/routes/(mobile)/chat/_layout/index.tsx similarity index 77% rename from src/app/[variants]/(mobile)/chat/_layout/index.tsx rename to src/routes/(mobile)/chat/_layout/index.tsx index e70c5399b0..af3b7c8485 100644 --- a/src/app/[variants]/(mobile)/chat/_layout/index.tsx +++ b/src/routes/(mobile)/chat/_layout/index.tsx @@ -3,10 +3,10 @@ import { type FC } from 'react'; import { Outlet } from 'react-router-dom'; -import AgentIdSync from '@/app/[variants]/(main)/agent/_layout/AgentIdSync'; -import ChatHeader from '@/app/[variants]/(mobile)/chat/features/ChatHeader'; import MobileContentLayout from '@/components/server/MobileNavLayout'; import { useInitAgentConfig } from '@/hooks/useInitAgentConfig'; +import AgentIdSync from '@/routes/(main)/agent/_layout/AgentIdSync'; +import ChatHeader from '@/routes/(mobile)/chat/features/ChatHeader'; import { styles } from './style'; diff --git a/src/app/[variants]/(mobile)/chat/_layout/style.ts b/src/routes/(mobile)/chat/_layout/style.ts similarity index 100% rename from src/app/[variants]/(mobile)/chat/_layout/style.ts rename to src/routes/(mobile)/chat/_layout/style.ts diff --git a/src/app/[variants]/(mobile)/chat/features/ChatHeader/ChatHeaderTitle.tsx b/src/routes/(mobile)/chat/features/ChatHeader/ChatHeaderTitle.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/ChatHeader/ChatHeaderTitle.tsx rename to src/routes/(mobile)/chat/features/ChatHeader/ChatHeaderTitle.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/ChatHeader/index.tsx b/src/routes/(mobile)/chat/features/ChatHeader/index.tsx similarity index 88% rename from src/app/[variants]/(mobile)/chat/features/ChatHeader/index.tsx rename to src/routes/(mobile)/chat/features/ChatHeader/index.tsx index 3b8a850411..d073f66abd 100644 --- a/src/app/[variants]/(mobile)/chat/features/ChatHeader/index.tsx +++ b/src/routes/(mobile)/chat/features/ChatHeader/index.tsx @@ -3,9 +3,9 @@ import { ChatHeader } from '@lobehub/ui/mobile'; import { memo, useState } from 'react'; -import ShareButton from '@/app/[variants]/(main)/agent/features/Conversation/Header/ShareButton'; import { INBOX_SESSION_ID } from '@/const/session'; import { useQueryRoute } from '@/hooks/useQueryRoute'; +import ShareButton from '@/routes/(main)/agent/features/Conversation/Header/ShareButton'; import ChatHeaderTitle from './ChatHeaderTitle'; diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/Header/Avatar.tsx b/src/routes/(mobile)/chat/features/Topic/features/AgentConfig/Header/Avatar.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/Header/Avatar.tsx rename to src/routes/(mobile)/chat/features/Topic/features/AgentConfig/Header/Avatar.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/Header/index.tsx b/src/routes/(mobile)/chat/features/Topic/features/AgentConfig/Header/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/Header/index.tsx rename to src/routes/(mobile)/chat/features/Topic/features/AgentConfig/Header/index.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/SystemRole.tsx b/src/routes/(mobile)/chat/features/Topic/features/AgentConfig/SystemRole.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/SystemRole.tsx rename to src/routes/(mobile)/chat/features/Topic/features/AgentConfig/SystemRole.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/index.tsx b/src/routes/(mobile)/chat/features/Topic/features/AgentConfig/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/AgentConfig/index.tsx rename to src/routes/(mobile)/chat/features/Topic/features/AgentConfig/index.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/ConfigLayout.tsx b/src/routes/(mobile)/chat/features/Topic/features/ConfigLayout.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/ConfigLayout.tsx rename to src/routes/(mobile)/chat/features/Topic/features/ConfigLayout.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/features/TopicModal.tsx b/src/routes/(mobile)/chat/features/Topic/features/TopicModal.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/features/Topic/features/TopicModal.tsx rename to src/routes/(mobile)/chat/features/Topic/features/TopicModal.tsx diff --git a/src/app/[variants]/(mobile)/chat/features/Topic/index.tsx b/src/routes/(mobile)/chat/features/Topic/index.tsx similarity index 74% rename from src/app/[variants]/(mobile)/chat/features/Topic/index.tsx rename to src/routes/(mobile)/chat/features/Topic/index.tsx index c665f9c1ad..8f04ce397a 100644 --- a/src/app/[variants]/(mobile)/chat/features/Topic/index.tsx +++ b/src/routes/(mobile)/chat/features/Topic/index.tsx @@ -1,7 +1,7 @@ import { Flexbox } from '@lobehub/ui'; -import TopicListContent from '@/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicListContent'; -import TopicSearchBar from '@/app/[variants]/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar'; +import TopicListContent from '@/routes/(main)/agent/_layout/Sidebar/Topic/TopicListContent'; +import TopicSearchBar from '@/routes/(main)/agent/_layout/Sidebar/Topic/TopicSearchBar'; import TopicModal from './features/TopicModal'; diff --git a/src/app/[variants]/(mobile)/chat/index.tsx b/src/routes/(mobile)/chat/index.tsx similarity index 54% rename from src/app/[variants]/(mobile)/chat/index.tsx rename to src/routes/(mobile)/chat/index.tsx index a43a9673d4..a55d43a5a5 100644 --- a/src/app/[variants]/(mobile)/chat/index.tsx +++ b/src/routes/(mobile)/chat/index.tsx @@ -2,11 +2,11 @@ import { memo } from 'react'; -import ConversationArea from '@/app/[variants]/(main)/agent/features/Conversation/ConversationArea'; -import PageTitle from '@/app/[variants]/(main)/agent/features/PageTitle'; -import PortalPanel from '@/app/[variants]/(main)/agent/features/Portal/features/PortalPanel'; -import TelemetryNotification from '@/app/[variants]/(main)/agent/features/TelemetryNotification'; import MainInterfaceTracker from '@/components/Analytics/MainInterfaceTracker'; +import ConversationArea from '@/routes/(main)/agent/features/Conversation/ConversationArea'; +import PageTitle from '@/routes/(main)/agent/features/PageTitle'; +import PortalPanel from '@/routes/(main)/agent/features/Portal/features/PortalPanel'; +import TelemetryNotification from '@/routes/(main)/agent/features/TelemetryNotification'; import Topic from './features/Topic'; diff --git a/src/app/[variants]/(mobile)/chat/settings/_layout/Header.tsx b/src/routes/(mobile)/chat/settings/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/settings/_layout/Header.tsx rename to src/routes/(mobile)/chat/settings/_layout/Header.tsx diff --git a/src/app/[variants]/(mobile)/chat/settings/_layout/index.tsx b/src/routes/(mobile)/chat/settings/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/settings/_layout/index.tsx rename to src/routes/(mobile)/chat/settings/_layout/index.tsx diff --git a/src/app/[variants]/(mobile)/chat/settings/features/AgentInfoDescription/index.tsx b/src/routes/(mobile)/chat/settings/features/AgentInfoDescription/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/chat/settings/features/AgentInfoDescription/index.tsx rename to src/routes/(mobile)/chat/settings/features/AgentInfoDescription/index.tsx diff --git a/src/app/[variants]/(mobile)/chat/settings/features/SettingButton.tsx b/src/routes/(mobile)/chat/settings/features/SettingButton.tsx similarity index 93% rename from src/app/[variants]/(mobile)/chat/settings/features/SettingButton.tsx rename to src/routes/(mobile)/chat/settings/features/SettingButton.tsx index 7d4b60ec82..9b3937d009 100644 --- a/src/app/[variants]/(mobile)/chat/settings/features/SettingButton.tsx +++ b/src/routes/(mobile)/chat/settings/features/SettingButton.tsx @@ -13,7 +13,7 @@ import { useUserStore } from '@/store/user'; import { settingsSelectors } from '@/store/user/selectors'; import { HotkeyEnum } from '@/types/hotkey'; -const AgentSettingsEditor = dynamic(() => import('@/app/[variants]/(main)/agent/profile'), { +const AgentSettingsEditor = dynamic(() => import('@/routes/(main)/agent/profile'), { ssr: false, }); diff --git a/src/app/[variants]/(mobile)/chat/settings/index.tsx b/src/routes/(mobile)/chat/settings/index.tsx similarity index 95% rename from src/app/[variants]/(mobile)/chat/settings/index.tsx rename to src/routes/(mobile)/chat/settings/index.tsx index 4e577166a5..56c89a0a8b 100644 --- a/src/app/[variants]/(mobile)/chat/settings/index.tsx +++ b/src/routes/(mobile)/chat/settings/index.tsx @@ -5,12 +5,12 @@ import { cssVar } from 'antd-style'; import { memo, useState } from 'react'; import { useTranslation } from 'react-i18next'; -import MobileHeader from '@/app/[variants]/(mobile)/chat/settings/_layout/Header'; import PageTitle from '@/components/PageTitle'; import MobileContentLayout from '@/components/server/MobileNavLayout'; import { useCategory } from '@/features/AgentSetting/AgentCategory/useCategory'; import AgentSettings from '@/features/AgentSetting/AgentSettings'; import Footer from '@/features/Setting/Footer'; +import MobileHeader from '@/routes/(mobile)/chat/settings/_layout/Header'; import { useAgentStore } from '@/store/agent'; import { agentSelectors } from '@/store/agent/selectors'; import { ChatSettingsTabs } from '@/store/global/initialState'; diff --git a/src/app/[variants]/(mobile)/community/(detail)/_layout/Header.tsx b/src/routes/(mobile)/community/(detail)/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/community/(detail)/_layout/Header.tsx rename to src/routes/(mobile)/community/(detail)/_layout/Header.tsx diff --git a/src/app/[variants]/(mobile)/community/(detail)/_layout/index.tsx b/src/routes/(mobile)/community/(detail)/_layout/index.tsx similarity index 83% rename from src/app/[variants]/(mobile)/community/(detail)/_layout/index.tsx rename to src/routes/(mobile)/community/(detail)/_layout/index.tsx index 363a56e499..075f0d1ed0 100644 --- a/src/app/[variants]/(mobile)/community/(detail)/_layout/index.tsx +++ b/src/routes/(mobile)/community/(detail)/_layout/index.tsx @@ -1,8 +1,8 @@ import { Outlet } from 'react-router-dom'; -import { SCROLL_PARENT_ID } from '@/app/[variants]/(main)/community/features/const'; import MobileContentLayout from '@/components/server/MobileNavLayout'; import Footer from '@/features/Setting/Footer'; +import { SCROLL_PARENT_ID } from '@/routes/(main)/community/features/const'; import Header from './Header'; diff --git a/src/app/[variants]/(mobile)/community/(list)/_layout/Header.tsx b/src/routes/(mobile)/community/(list)/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/community/(list)/_layout/Header.tsx rename to src/routes/(mobile)/community/(list)/_layout/Header.tsx diff --git a/src/app/[variants]/(mobile)/community/(list)/_layout/Nav.tsx b/src/routes/(mobile)/community/(list)/_layout/Nav.tsx similarity index 100% rename from src/app/[variants]/(mobile)/community/(list)/_layout/Nav.tsx rename to src/routes/(mobile)/community/(list)/_layout/Nav.tsx diff --git a/src/app/[variants]/(mobile)/community/(list)/_layout/index.tsx b/src/routes/(mobile)/community/(list)/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/community/(list)/_layout/index.tsx rename to src/routes/(mobile)/community/(list)/_layout/index.tsx diff --git a/src/app/[variants]/(mobile)/community/(list)/_layout/style.ts b/src/routes/(mobile)/community/(list)/_layout/style.ts similarity index 100% rename from src/app/[variants]/(mobile)/community/(list)/_layout/style.ts rename to src/routes/(mobile)/community/(list)/_layout/style.ts diff --git a/src/app/[variants]/(mobile)/community/_layout/index.tsx b/src/routes/(mobile)/community/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/community/_layout/index.tsx rename to src/routes/(mobile)/community/_layout/index.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/__tests__/UserBanner.test.tsx b/src/routes/(mobile)/me/(home)/__tests__/UserBanner.test.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/__tests__/UserBanner.test.tsx rename to src/routes/(mobile)/me/(home)/__tests__/UserBanner.test.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/__tests__/useCategory.test.tsx b/src/routes/(mobile)/me/(home)/__tests__/useCategory.test.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/__tests__/useCategory.test.tsx rename to src/routes/(mobile)/me/(home)/__tests__/useCategory.test.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/features/Category.tsx b/src/routes/(mobile)/me/(home)/features/Category.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/features/Category.tsx rename to src/routes/(mobile)/me/(home)/features/Category.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/features/Header.tsx b/src/routes/(mobile)/me/(home)/features/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/features/Header.tsx rename to src/routes/(mobile)/me/(home)/features/Header.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/features/UserBanner.tsx b/src/routes/(mobile)/me/(home)/features/UserBanner.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/features/UserBanner.tsx rename to src/routes/(mobile)/me/(home)/features/UserBanner.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/features/useCategory.tsx b/src/routes/(mobile)/me/(home)/features/useCategory.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/features/useCategory.tsx rename to src/routes/(mobile)/me/(home)/features/useCategory.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/index.tsx b/src/routes/(mobile)/me/(home)/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/index.tsx rename to src/routes/(mobile)/me/(home)/index.tsx diff --git a/src/app/[variants]/(mobile)/me/(home)/layout.tsx b/src/routes/(mobile)/me/(home)/layout.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/(home)/layout.tsx rename to src/routes/(mobile)/me/(home)/layout.tsx diff --git a/src/app/[variants]/(mobile)/me/profile/features/Category.tsx b/src/routes/(mobile)/me/profile/features/Category.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/profile/features/Category.tsx rename to src/routes/(mobile)/me/profile/features/Category.tsx diff --git a/src/app/[variants]/(mobile)/me/profile/features/Header.tsx b/src/routes/(mobile)/me/profile/features/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/profile/features/Header.tsx rename to src/routes/(mobile)/me/profile/features/Header.tsx diff --git a/src/app/[variants]/(mobile)/me/profile/index.tsx b/src/routes/(mobile)/me/profile/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/profile/index.tsx rename to src/routes/(mobile)/me/profile/index.tsx diff --git a/src/app/[variants]/(mobile)/me/profile/layout.tsx b/src/routes/(mobile)/me/profile/layout.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/profile/layout.tsx rename to src/routes/(mobile)/me/profile/layout.tsx diff --git a/src/app/[variants]/(mobile)/me/settings/features/Category.tsx b/src/routes/(mobile)/me/settings/features/Category.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/settings/features/Category.tsx rename to src/routes/(mobile)/me/settings/features/Category.tsx diff --git a/src/app/[variants]/(mobile)/me/settings/features/Header.tsx b/src/routes/(mobile)/me/settings/features/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/settings/features/Header.tsx rename to src/routes/(mobile)/me/settings/features/Header.tsx diff --git a/src/app/[variants]/(mobile)/me/settings/features/useCategory.tsx b/src/routes/(mobile)/me/settings/features/useCategory.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/settings/features/useCategory.tsx rename to src/routes/(mobile)/me/settings/features/useCategory.tsx diff --git a/src/app/[variants]/(mobile)/me/settings/index.tsx b/src/routes/(mobile)/me/settings/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/settings/index.tsx rename to src/routes/(mobile)/me/settings/index.tsx diff --git a/src/app/[variants]/(mobile)/me/settings/layout.tsx b/src/routes/(mobile)/me/settings/layout.tsx similarity index 100% rename from src/app/[variants]/(mobile)/me/settings/layout.tsx rename to src/routes/(mobile)/me/settings/layout.tsx diff --git a/src/app/[variants]/(mobile)/settings/_layout/Header.tsx b/src/routes/(mobile)/settings/_layout/Header.tsx similarity index 100% rename from src/app/[variants]/(mobile)/settings/_layout/Header.tsx rename to src/routes/(mobile)/settings/_layout/Header.tsx diff --git a/src/app/[variants]/(mobile)/settings/_layout/index.tsx b/src/routes/(mobile)/settings/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/settings/_layout/index.tsx rename to src/routes/(mobile)/settings/_layout/index.tsx diff --git a/src/app/[variants]/(mobile)/settings/index.tsx b/src/routes/(mobile)/settings/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/settings/index.tsx rename to src/routes/(mobile)/settings/index.tsx diff --git a/src/app/[variants]/(mobile)/settings/provider/_layout/index.tsx b/src/routes/(mobile)/settings/provider/_layout/index.tsx similarity index 100% rename from src/app/[variants]/(mobile)/settings/provider/_layout/index.tsx rename to src/routes/(mobile)/settings/provider/_layout/index.tsx diff --git a/src/app/[variants]/onboarding/_layout/index.tsx b/src/routes/onboarding/_layout/index.tsx similarity index 100% rename from src/app/[variants]/onboarding/_layout/index.tsx rename to src/routes/onboarding/_layout/index.tsx diff --git a/src/app/[variants]/onboarding/_layout/style.ts b/src/routes/onboarding/_layout/style.ts similarity index 100% rename from src/app/[variants]/onboarding/_layout/style.ts rename to src/routes/onboarding/_layout/style.ts diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/components/KlavisServerItem.tsx b/src/routes/onboarding/components/KlavisServerList/components/KlavisServerItem.tsx similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/components/KlavisServerItem.tsx rename to src/routes/onboarding/components/KlavisServerList/components/KlavisServerItem.tsx diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/components/ServerIcon.tsx b/src/routes/onboarding/components/KlavisServerList/components/ServerIcon.tsx similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/components/ServerIcon.tsx rename to src/routes/onboarding/components/KlavisServerList/components/ServerIcon.tsx diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/components/ServerStatusControl.tsx b/src/routes/onboarding/components/KlavisServerList/components/ServerStatusControl.tsx similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/components/ServerStatusControl.tsx rename to src/routes/onboarding/components/KlavisServerList/components/ServerStatusControl.tsx diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/hooks/useKlavisOAuth.ts b/src/routes/onboarding/components/KlavisServerList/hooks/useKlavisOAuth.ts similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/hooks/useKlavisOAuth.ts rename to src/routes/onboarding/components/KlavisServerList/hooks/useKlavisOAuth.ts diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/hooks/useKlavisServerActions.ts b/src/routes/onboarding/components/KlavisServerList/hooks/useKlavisServerActions.ts similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/hooks/useKlavisServerActions.ts rename to src/routes/onboarding/components/KlavisServerList/hooks/useKlavisServerActions.ts diff --git a/src/app/[variants]/onboarding/components/KlavisServerList/index.tsx b/src/routes/onboarding/components/KlavisServerList/index.tsx similarity index 100% rename from src/app/[variants]/onboarding/components/KlavisServerList/index.tsx rename to src/routes/onboarding/components/KlavisServerList/index.tsx diff --git a/src/app/[variants]/onboarding/components/LobeMessage.tsx b/src/routes/onboarding/components/LobeMessage.tsx similarity index 100% rename from src/app/[variants]/onboarding/components/LobeMessage.tsx rename to src/routes/onboarding/components/LobeMessage.tsx diff --git a/src/app/[variants]/onboarding/config.ts b/src/routes/onboarding/config.ts similarity index 100% rename from src/app/[variants]/onboarding/config.ts rename to src/routes/onboarding/config.ts diff --git a/src/app/[variants]/onboarding/features/FullNameStep.tsx b/src/routes/onboarding/features/FullNameStep.tsx similarity index 100% rename from src/app/[variants]/onboarding/features/FullNameStep.tsx rename to src/routes/onboarding/features/FullNameStep.tsx diff --git a/src/app/[variants]/onboarding/features/InterestsStep.tsx b/src/routes/onboarding/features/InterestsStep.tsx similarity index 100% rename from src/app/[variants]/onboarding/features/InterestsStep.tsx rename to src/routes/onboarding/features/InterestsStep.tsx diff --git a/src/app/[variants]/onboarding/features/ModeSelectionStep.tsx b/src/routes/onboarding/features/ModeSelectionStep.tsx similarity index 98% rename from src/app/[variants]/onboarding/features/ModeSelectionStep.tsx rename to src/routes/onboarding/features/ModeSelectionStep.tsx index 97649c1d09..0c8a0bf786 100644 --- a/src/app/[variants]/onboarding/features/ModeSelectionStep.tsx +++ b/src/routes/onboarding/features/ModeSelectionStep.tsx @@ -7,8 +7,8 @@ import React, { memo, useMemo } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import LobeMessage from '@/app/[variants]/onboarding/components/LobeMessage'; import { useIsDark } from '@/hooks/useIsDark'; +import LobeMessage from '@/routes/onboarding/components/LobeMessage'; import { useUserStore } from '@/store/user'; const styles = createStaticStyles(({ css, cssVar }) => ({ diff --git a/src/app/[variants]/onboarding/features/ProSettingsStep.tsx b/src/routes/onboarding/features/ProSettingsStep.tsx similarity index 97% rename from src/app/[variants]/onboarding/features/ProSettingsStep.tsx rename to src/routes/onboarding/features/ProSettingsStep.tsx index 1c22da07a4..74e17784c4 100644 --- a/src/app/[variants]/onboarding/features/ProSettingsStep.tsx +++ b/src/routes/onboarding/features/ProSettingsStep.tsx @@ -7,8 +7,8 @@ import { memo, useCallback, useRef, useState } from 'react'; import { useTranslation } from 'react-i18next'; import { useNavigate } from 'react-router-dom'; -import LobeMessage from '@/app/[variants]/onboarding/components/LobeMessage'; import ModelSelect from '@/features/ModelSelect'; +import LobeMessage from '@/routes/onboarding/components/LobeMessage'; import { serverConfigSelectors, useServerConfigStore } from '@/store/serverConfig'; import { useUserStore } from '@/store/user'; import { settingsSelectors } from '@/store/user/selectors'; diff --git a/src/app/[variants]/onboarding/features/ResponseLanguageStep.tsx b/src/routes/onboarding/features/ResponseLanguageStep.tsx similarity index 100% rename from src/app/[variants]/onboarding/features/ResponseLanguageStep.tsx rename to src/routes/onboarding/features/ResponseLanguageStep.tsx diff --git a/src/app/[variants]/onboarding/features/TelemetryStep.tsx b/src/routes/onboarding/features/TelemetryStep.tsx similarity index 100% rename from src/app/[variants]/onboarding/features/TelemetryStep.tsx rename to src/routes/onboarding/features/TelemetryStep.tsx diff --git a/src/app/[variants]/onboarding/index.tsx b/src/routes/onboarding/index.tsx similarity index 100% rename from src/app/[variants]/onboarding/index.tsx rename to src/routes/onboarding/index.tsx diff --git a/src/app/[variants]/share/t/[id]/SharedMessageList.tsx b/src/routes/share/t/[id]/SharedMessageList.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/SharedMessageList.tsx rename to src/routes/share/t/[id]/SharedMessageList.tsx diff --git a/src/app/[variants]/share/t/[id]/_layout/Title.tsx b/src/routes/share/t/[id]/_layout/Title.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/_layout/Title.tsx rename to src/routes/share/t/[id]/_layout/Title.tsx diff --git a/src/app/[variants]/share/t/[id]/_layout/index.tsx b/src/routes/share/t/[id]/_layout/index.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/_layout/index.tsx rename to src/routes/share/t/[id]/_layout/index.tsx diff --git a/src/app/[variants]/share/t/[id]/_layout/style.ts b/src/routes/share/t/[id]/_layout/style.ts similarity index 100% rename from src/app/[variants]/share/t/[id]/_layout/style.ts rename to src/routes/share/t/[id]/_layout/style.ts diff --git a/src/app/[variants]/share/t/[id]/features/ActionBar.tsx b/src/routes/share/t/[id]/features/ActionBar.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/features/ActionBar.tsx rename to src/routes/share/t/[id]/features/ActionBar.tsx diff --git a/src/app/[variants]/share/t/[id]/features/Portal/index.tsx b/src/routes/share/t/[id]/features/Portal/index.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/features/Portal/index.tsx rename to src/routes/share/t/[id]/features/Portal/index.tsx diff --git a/src/app/[variants]/share/t/[id]/index.tsx b/src/routes/share/t/[id]/index.tsx similarity index 100% rename from src/app/[variants]/share/t/[id]/index.tsx rename to src/routes/share/t/[id]/index.tsx diff --git a/src/entry.desktop.tsx b/src/spa/entry.desktop.tsx similarity index 79% rename from src/entry.desktop.tsx rename to src/spa/entry.desktop.tsx index c85be276f7..6a18293ce0 100644 --- a/src/entry.desktop.tsx +++ b/src/spa/entry.desktop.tsx @@ -1,4 +1,4 @@ -import './initialize'; +import '../initialize'; import { createRoot } from 'react-dom/client'; import { RouterProvider } from 'react-router-dom'; @@ -6,7 +6,7 @@ import { RouterProvider } from 'react-router-dom'; import SPAGlobalProvider from '@/layout/SPAGlobalProvider'; import { createAppRouter } from '@/utils/router'; -import { desktopRoutes } from './app/[variants]/router/desktopRouter.config'; +import { desktopRoutes } from './router/desktopRouter.config'; const router = createAppRouter(desktopRoutes); diff --git a/src/entry.mobile.tsx b/src/spa/entry.mobile.tsx similarity index 78% rename from src/entry.mobile.tsx rename to src/spa/entry.mobile.tsx index 258ac82c23..7f292ad841 100644 --- a/src/entry.mobile.tsx +++ b/src/spa/entry.mobile.tsx @@ -1,4 +1,4 @@ -import './initialize'; +import '../initialize'; import { createRoot } from 'react-dom/client'; import { RouterProvider } from 'react-router-dom'; @@ -6,7 +6,7 @@ import { RouterProvider } from 'react-router-dom'; import SPAGlobalProvider from '@/layout/SPAGlobalProvider'; import { createAppRouter } from '@/utils/router'; -import { mobileRoutes } from './app/[variants]/(mobile)/router/mobileRouter.config'; +import { mobileRoutes } from './router/mobileRouter.config'; const router = createAppRouter(mobileRoutes); diff --git a/src/entry.web.tsx b/src/spa/entry.web.tsx similarity index 85% rename from src/entry.web.tsx rename to src/spa/entry.web.tsx index a3177a4fc7..411c0ce308 100644 --- a/src/entry.web.tsx +++ b/src/spa/entry.web.tsx @@ -1,4 +1,4 @@ -import './initialize'; +import '../initialize'; import { createRoot } from 'react-dom/client'; import { RouterProvider } from 'react-router-dom'; @@ -6,7 +6,7 @@ import { RouterProvider } from 'react-router-dom'; import SPAGlobalProvider from '@/layout/SPAGlobalProvider'; import { createAppRouter } from '@/utils/router'; -import { desktopRoutes } from './app/[variants]/router/desktopRouter.config'; +import { desktopRoutes } from './router/desktopRouter.config'; const debugProxyBase = '/_dangerous_local_dev_proxy'; const basename = diff --git a/src/app/[variants]/router/desktopRouter.config.desktop.tsx b/src/spa/router/desktopRouter.config.desktop.tsx similarity index 70% rename from src/app/[variants]/router/desktopRouter.config.desktop.tsx rename to src/spa/router/desktopRouter.config.desktop.tsx index 42e496774e..c0e601f8c8 100644 --- a/src/app/[variants]/router/desktopRouter.config.desktop.tsx +++ b/src/spa/router/desktopRouter.config.desktop.tsx @@ -4,71 +4,70 @@ import { BusinessDesktopRoutesWithMainLayout, BusinessDesktopRoutesWithoutMainLayout, } from '@/business/client/BusinessDesktopRoutes'; +import DesktopOnboarding from '@/routes/(desktop)/desktop-onboarding'; +// Layouts — sync import (Electron local, no network overhead) +import DesktopMainLayout from '@/routes/(main)/_layout'; +// Pages — sync import +import AgentPage from '@/routes/(main)/agent'; +import DesktopChatLayout from '@/routes/(main)/agent/_layout'; +import AgentCronDetailPage from '@/routes/(main)/agent/cron/[cronId]'; +import AgentProfilePage from '@/routes/(main)/agent/profile'; +import CommunityLayout from '@/routes/(main)/community/_layout'; +import CommunityDetailLayout from '@/routes/(main)/community/(detail)/_layout'; +import CommunityDetailAgentPage from '@/routes/(main)/community/(detail)/agent'; +import CommunityDetailGroupAgentPage from '@/routes/(main)/community/(detail)/group_agent'; +import CommunityDetailMcpPage from '@/routes/(main)/community/(detail)/mcp'; +import CommunityDetailModelPage from '@/routes/(main)/community/(detail)/model'; +import CommunityDetailProviderPage from '@/routes/(main)/community/(detail)/provider'; +import CommunityDetailUserPage from '@/routes/(main)/community/(detail)/user'; +import CommunityListLayout from '@/routes/(main)/community/(list)/_layout'; +import CommunityListHomePage from '@/routes/(main)/community/(list)/(home)'; +import CommunityListAgentPage from '@/routes/(main)/community/(list)/agent'; +import CommunityListAgentLayout from '@/routes/(main)/community/(list)/agent/_layout'; +import CommunityListMcpPage from '@/routes/(main)/community/(list)/mcp'; +import CommunityListMcpLayout from '@/routes/(main)/community/(list)/mcp/_layout'; +import CommunityListModelPage from '@/routes/(main)/community/(list)/model'; +import CommunityListModelLayout from '@/routes/(main)/community/(list)/model/_layout'; +import CommunityListProviderPage from '@/routes/(main)/community/(list)/provider'; +import EvalOverviewPage from '@/routes/(main)/eval'; +import EvalLayout from '@/routes/(main)/eval/_layout'; +import EvalHomeLayout from '@/routes/(main)/eval/(home)/_layout'; +import EvalBenchmarkDetailPage from '@/routes/(main)/eval/bench/[benchmarkId]'; +import EvalBenchLayout from '@/routes/(main)/eval/bench/[benchmarkId]/_layout'; +import EvalDatasetDetailPage from '@/routes/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]'; +import EvalRunDetailPage from '@/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]'; +import EvalCaseDetailPage from '@/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]'; +import GroupPage from '@/routes/(main)/group'; +import DesktopGroupLayout from '@/routes/(main)/group/_layout'; +import GroupProfilePage from '@/routes/(main)/group/profile'; +import ImagePage from '@/routes/(main)/image'; +import DesktopImageLayout from '@/routes/(main)/image/_layout'; +import DesktopMemoryLayout from '@/routes/(main)/memory/_layout'; +import MemoryHomePage from '@/routes/(main)/memory/(home)'; +import MemoryActivitiesPage from '@/routes/(main)/memory/activities'; +import MemoryContextsPage from '@/routes/(main)/memory/contexts'; +import MemoryExperiencesPage from '@/routes/(main)/memory/experiences'; +import MemoryIdentitiesPage from '@/routes/(main)/memory/identities'; +import MemoryPreferencesPage from '@/routes/(main)/memory/preferences'; +import PageIndexPage from '@/routes/(main)/page'; +import DesktopPageLayout from '@/routes/(main)/page/_layout'; +import PageDetailPage from '@/routes/(main)/page/[id]'; +import ResourceLayout from '@/routes/(main)/resource/_layout'; +import ResourceHomePage from '@/routes/(main)/resource/(home)'; +import ResourceHomeLayout from '@/routes/(main)/resource/(home)/_layout'; +import ResourceLibraryPage from '@/routes/(main)/resource/library'; +import ResourceLibraryLayout from '@/routes/(main)/resource/library/_layout'; +import ResourceLibrarySlugPage from '@/routes/(main)/resource/library/[slug]'; +import SettingsTabPage from '@/routes/(main)/settings'; +import SettingsLayout from '@/routes/(main)/settings/_layout'; +import { ProviderDetailPage, ProviderLayout } from '@/routes/(main)/settings/provider'; +import VideoPage from '@/routes/(main)/video'; +import DesktopVideoLayout from '@/routes/(main)/video/_layout'; +import ShareTopicPage from '@/routes/share/t/[id]'; +import ShareTopicLayout from '@/routes/share/t/[id]/_layout'; import { type RouteConfig } from '@/utils/router'; import { ErrorBoundary, redirectElement } from '@/utils/router'; -import DesktopOnboarding from '../(desktop)/desktop-onboarding'; -// Layouts — sync import (Electron local, no network overhead) -import DesktopMainLayout from '../(main)/_layout'; -// Pages — sync import -import AgentPage from '../(main)/agent'; -import DesktopChatLayout from '../(main)/agent/_layout'; -import AgentCronDetailPage from '../(main)/agent/cron/[cronId]'; -import AgentProfilePage from '../(main)/agent/profile'; -import CommunityLayout from '../(main)/community/_layout'; -import CommunityDetailLayout from '../(main)/community/(detail)/_layout'; -import CommunityDetailAgentPage from '../(main)/community/(detail)/agent'; -import CommunityDetailGroupAgentPage from '../(main)/community/(detail)/group_agent'; -import CommunityDetailMcpPage from '../(main)/community/(detail)/mcp'; -import CommunityDetailModelPage from '../(main)/community/(detail)/model'; -import CommunityDetailProviderPage from '../(main)/community/(detail)/provider'; -import CommunityDetailUserPage from '../(main)/community/(detail)/user'; -import CommunityListLayout from '../(main)/community/(list)/_layout'; -import CommunityListHomePage from '../(main)/community/(list)/(home)'; -import CommunityListAgentPage from '../(main)/community/(list)/agent'; -import CommunityListAgentLayout from '../(main)/community/(list)/agent/_layout'; -import CommunityListMcpPage from '../(main)/community/(list)/mcp'; -import CommunityListMcpLayout from '../(main)/community/(list)/mcp/_layout'; -import CommunityListModelPage from '../(main)/community/(list)/model'; -import CommunityListModelLayout from '../(main)/community/(list)/model/_layout'; -import CommunityListProviderPage from '../(main)/community/(list)/provider'; -import EvalOverviewPage from '../(main)/eval'; -import EvalLayout from '../(main)/eval/_layout'; -import EvalHomeLayout from '../(main)/eval/(home)/_layout'; -import EvalBenchmarkDetailPage from '../(main)/eval/bench/[benchmarkId]'; -import EvalBenchLayout from '../(main)/eval/bench/[benchmarkId]/_layout'; -import EvalDatasetDetailPage from '../(main)/eval/bench/[benchmarkId]/datasets/[datasetId]'; -import EvalRunDetailPage from '../(main)/eval/bench/[benchmarkId]/runs/[runId]'; -import EvalCaseDetailPage from '../(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]'; -import GroupPage from '../(main)/group'; -import DesktopGroupLayout from '../(main)/group/_layout'; -import GroupProfilePage from '../(main)/group/profile'; -import ImagePage from '../(main)/image'; -import DesktopImageLayout from '../(main)/image/_layout'; -import DesktopMemoryLayout from '../(main)/memory/_layout'; -import MemoryHomePage from '../(main)/memory/(home)'; -import MemoryActivitiesPage from '../(main)/memory/activities'; -import MemoryContextsPage from '../(main)/memory/contexts'; -import MemoryExperiencesPage from '../(main)/memory/experiences'; -import MemoryIdentitiesPage from '../(main)/memory/identities'; -import MemoryPreferencesPage from '../(main)/memory/preferences'; -import PageIndexPage from '../(main)/page'; -import DesktopPageLayout from '../(main)/page/_layout'; -import PageDetailPage from '../(main)/page/[id]'; -import ResourceLayout from '../(main)/resource/_layout'; -import ResourceHomePage from '../(main)/resource/(home)'; -import ResourceHomeLayout from '../(main)/resource/(home)/_layout'; -import ResourceLibraryPage from '../(main)/resource/library'; -import ResourceLibraryLayout from '../(main)/resource/library/_layout'; -import ResourceLibrarySlugPage from '../(main)/resource/library/[slug]'; -import SettingsTabPage from '../(main)/settings'; -import SettingsLayout from '../(main)/settings/_layout'; -import { ProviderDetailPage, ProviderLayout } from '../(main)/settings/provider'; -import VideoPage from '../(main)/video'; -import DesktopVideoLayout from '../(main)/video/_layout'; -import ShareTopicPage from '../share/t/[id]'; -import ShareTopicLayout from '../share/t/[id]/_layout'; - // Desktop router configuration — all sync imports for Electron local build export const desktopRoutes: RouteConfig[] = [ { diff --git a/src/app/[variants]/router/desktopRouter.config.tsx b/src/spa/router/desktopRouter.config.tsx similarity index 70% rename from src/app/[variants]/router/desktopRouter.config.tsx rename to src/spa/router/desktopRouter.config.tsx index e3c623a994..dd2fc35a36 100644 --- a/src/app/[variants]/router/desktopRouter.config.tsx +++ b/src/spa/router/desktopRouter.config.tsx @@ -21,26 +21,26 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(main)/agent'), 'Desktop > Chat'), + element: dynamicElement(() => import('@/routes/(main)/agent'), 'Desktop > Chat'), index: true, }, { element: dynamicElement( - () => import('../(main)/agent/profile'), + () => import('@/routes/(main)/agent/profile'), 'Desktop > Chat > Profile', ), path: 'profile', }, { element: dynamicElement( - () => import('../(main)/agent/cron/[cronId]'), + () => import('@/routes/(main)/agent/cron/[cronId]'), 'Desktop > Chat > Cron Detail', ), path: 'cron/:cronId', }, ], element: dynamicLayout( - () => import('../(main)/agent/_layout'), + () => import('@/routes/(main)/agent/_layout'), 'Desktop > Chat > Layout', ), errorElement: , @@ -60,19 +60,22 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(main)/group'), 'Desktop > Agent Group'), + element: dynamicElement( + () => import('@/routes/(main)/group'), + 'Desktop > Agent Group', + ), index: true, }, { element: dynamicElement( - () => import('../(main)/group/profile'), + () => import('@/routes/(main)/group/profile'), 'Desktop > Agent Group > Profile', ), path: 'profile', }, ], element: dynamicLayout( - () => import('../(main)/group/_layout'), + () => import('@/routes/(main)/group/_layout'), 'Desktop > Group > Layout', ), errorElement: , @@ -92,14 +95,14 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/community/(list)/agent'), + () => import('@/routes/(main)/community/(list)/agent'), 'Desktop > Discover > List > Agent', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/community/(list)/agent/_layout'), + () => import('@/routes/(main)/community/(list)/agent/_layout'), 'Desktop > Discover > List > Agent > Layout', ), path: 'agent', @@ -108,21 +111,21 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/community/(list)/model'), + () => import('@/routes/(main)/community/(list)/model'), 'Desktop > Discover > List > Model', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/community/(list)/model/_layout'), + () => import('@/routes/(main)/community/(list)/model/_layout'), 'Desktop > Discover > List > Model > Layout', ), path: 'model', }, { element: dynamicElement( - () => import('../(main)/community/(list)/provider'), + () => import('@/routes/(main)/community/(list)/provider'), 'Desktop > Discover > List > Provider', ), path: 'provider', @@ -131,28 +134,28 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/community/(list)/mcp'), + () => import('@/routes/(main)/community/(list)/mcp'), 'Desktop > Discover > List > MCP', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/community/(list)/mcp/_layout'), + () => import('@/routes/(main)/community/(list)/mcp/_layout'), 'Desktop > Discover > List > MCP > Layout', ), path: 'mcp', }, { element: dynamicElement( - () => import('../(main)/community/(list)/(home)'), + () => import('@/routes/(main)/community/(list)/(home)'), 'Desktop > Discover > List > Home', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/community/(list)/_layout'), + () => import('@/routes/(main)/community/(list)/_layout'), 'Desktop > Discover > List > Layout', ), }, @@ -161,55 +164,55 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/community/(detail)/agent'), + () => import('@/routes/(main)/community/(detail)/agent'), 'Desktop > Discover > Detail > Agent', ), path: 'agent/:slug', }, { element: dynamicElement( - () => import('../(main)/community/(detail)/group_agent'), + () => import('@/routes/(main)/community/(detail)/group_agent'), 'Desktop > Discover > Detail > Group Agent', ), path: 'group_agent/:slug', }, { element: dynamicElement( - () => import('../(main)/community/(detail)/model'), + () => import('@/routes/(main)/community/(detail)/model'), 'Desktop > Discover > Detail > Model', ), path: 'model/:slug', }, { element: dynamicElement( - () => import('../(main)/community/(detail)/provider'), + () => import('@/routes/(main)/community/(detail)/provider'), 'Desktop > Discover > Detail > Provider', ), path: 'provider/:slug', }, { element: dynamicElement( - () => import('../(main)/community/(detail)/mcp'), + () => import('@/routes/(main)/community/(detail)/mcp'), 'Desktop > Discover > Detail > MCP', ), path: 'mcp/:slug', }, { element: dynamicElement( - () => import('../(main)/community/(detail)/user'), + () => import('@/routes/(main)/community/(detail)/user'), 'Desktop > Discover > Detail > User', ), path: 'user/:slug', }, ], element: dynamicElement( - () => import('../(main)/community/(detail)/_layout'), + () => import('@/routes/(main)/community/(detail)/_layout'), 'Desktop > Discover > Detail > Layout', ), }, ], element: dynamicElement( - () => import('../(main)/community/_layout'), + () => import('@/routes/(main)/community/_layout'), 'Desktop > Discover > Layout', ), errorElement: , @@ -224,14 +227,14 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/resource/(home)'), + () => import('@/routes/(main)/resource/(home)'), 'Desktop > Resource > Home', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/resource/(home)/_layout'), + () => import('@/routes/(main)/resource/(home)/_layout'), 'Desktop > Resource > Home > Layout', ), }, @@ -240,28 +243,28 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/resource/library'), + () => import('@/routes/(main)/resource/library'), 'Desktop > Resource > Library', ), index: true, }, { element: dynamicElement( - () => import('../(main)/resource/library/[slug]'), + () => import('@/routes/(main)/resource/library/[slug]'), 'Desktop > Resource > Library > Slug', ), path: ':slug', }, ], element: dynamicElement( - () => import('../(main)/resource/library/_layout'), + () => import('@/routes/(main)/resource/library/_layout'), 'Desktop > Resource > Library > Layout', ), path: 'library/:id', }, ], element: dynamicElement( - () => import('../(main)/resource/_layout'), + () => import('@/routes/(main)/resource/_layout'), 'Desktop > Resource > Layout', ), errorElement: , @@ -284,26 +287,30 @@ export const desktopRoutes: RouteConfig[] = [ }, { element: dynamicElement( - () => import('../(main)/settings/provider').then((m) => m.ProviderDetailPage), + () => + import('@/routes/(main)/settings/provider').then((m) => m.ProviderDetailPage), 'Desktop > Settings > Provider > Detail', ), path: ':providerId', }, ], element: dynamicElement( - () => import('../(main)/settings/provider').then((m) => m.ProviderLayout), + () => import('@/routes/(main)/settings/provider').then((m) => m.ProviderLayout), 'Desktop > Settings > Provider > Layout', ), path: 'provider', }, // Other settings tabs { - element: dynamicElement(() => import('../(main)/settings'), 'Desktop > Settings > Tab'), + element: dynamicElement( + () => import('@/routes/(main)/settings'), + 'Desktop > Settings > Tab', + ), path: ':tab', }, ], element: dynamicElement( - () => import('../(main)/settings/_layout'), + () => import('@/routes/(main)/settings/_layout'), 'Desktop > Settings > Layout', ), errorElement: , @@ -315,49 +322,49 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/memory/(home)'), + () => import('@/routes/(main)/memory/(home)'), 'Desktop > Memory > Home', ), index: true, }, { element: dynamicElement( - () => import('../(main)/memory/identities'), + () => import('@/routes/(main)/memory/identities'), 'Desktop > Memory > Identities', ), path: 'identities', }, { element: dynamicElement( - () => import('../(main)/memory/contexts'), + () => import('@/routes/(main)/memory/contexts'), 'Desktop > Memory > Contexts', ), path: 'contexts', }, { element: dynamicElement( - () => import('../(main)/memory/preferences'), + () => import('@/routes/(main)/memory/preferences'), 'Desktop > Memory > Preferences', ), path: 'preferences', }, { element: dynamicElement( - () => import('../(main)/memory/experiences'), + () => import('@/routes/(main)/memory/experiences'), 'Desktop > Memory > Experiences', ), path: 'experiences', }, { element: dynamicElement( - () => import('../(main)/memory/activities'), + () => import('@/routes/(main)/memory/activities'), 'Desktop > Memory > Activities', ), path: 'activities', }, ], element: dynamicLayout( - () => import('../(main)/memory/_layout'), + () => import('@/routes/(main)/memory/_layout'), 'Desktop > Memory > Layout', ), errorElement: , @@ -368,11 +375,14 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(main)/video'), 'Desktop > Video'), + element: dynamicElement(() => import('@/routes/(main)/video'), 'Desktop > Video'), index: true, }, ], - element: dynamicLayout(() => import('../(main)/video/_layout'), 'Desktop > Video > Layout'), + element: dynamicLayout( + () => import('@/routes/(main)/video/_layout'), + 'Desktop > Video > Layout', + ), errorElement: , path: 'video', }, @@ -381,11 +391,14 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(main)/image'), 'Desktop > Image'), + element: dynamicElement(() => import('@/routes/(main)/image'), 'Desktop > Image'), index: true, }, ], - element: dynamicLayout(() => import('../(main)/image/_layout'), 'Desktop > Image > Layout'), + element: dynamicLayout( + () => import('@/routes/(main)/image/_layout'), + 'Desktop > Image > Layout', + ), errorElement: , path: 'image', }, @@ -400,14 +413,14 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/eval'), + () => import('@/routes/(main)/eval'), 'Desktop > Eval > Overview', ), index: true, }, ], element: dynamicElement( - () => import('../(main)/eval/(home)/_layout'), + () => import('@/routes/(main)/eval/(home)/_layout'), 'Desktop > Eval > Home > Layout', ), }, @@ -416,7 +429,7 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/eval/bench/[benchmarkId]'), + () => import('@/routes/(main)/eval/bench/[benchmarkId]'), 'Desktop > Eval > Benchmark Detail', ), index: true, @@ -425,7 +438,7 @@ export const desktopRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../(main)/eval/bench/[benchmarkId]/runs/[runId]'), + () => import('@/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]'), 'Desktop > Eval > Run Detail', ), index: true, @@ -433,7 +446,7 @@ export const desktopRoutes: RouteConfig[] = [ { element: dynamicElement( () => - import('../(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]'), + import('@/routes/(main)/eval/bench/[benchmarkId]/runs/[runId]/cases/[caseId]'), 'Desktop > Eval > Case Detail', ), path: 'cases/:caseId', @@ -443,20 +456,23 @@ export const desktopRoutes: RouteConfig[] = [ }, { element: dynamicElement( - () => import('../(main)/eval/bench/[benchmarkId]/datasets/[datasetId]'), + () => import('@/routes/(main)/eval/bench/[benchmarkId]/datasets/[datasetId]'), 'Desktop > Eval > Dataset Detail', ), path: 'datasets/:datasetId', }, ], element: dynamicElement( - () => import('../(main)/eval/bench/[benchmarkId]/_layout'), + () => import('@/routes/(main)/eval/bench/[benchmarkId]/_layout'), 'Desktop > Eval > Bench > Layout', ), path: 'bench/:benchmarkId', }, ], - element: dynamicElement(() => import('../(main)/eval/_layout'), 'Desktop > Eval > Layout'), + element: dynamicElement( + () => import('@/routes/(main)/eval/_layout'), + 'Desktop > Eval > Layout', + ), errorElement: , path: 'eval', }, @@ -465,15 +481,21 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(main)/page'), 'Desktop > Page'), + element: dynamicElement(() => import('@/routes/(main)/page'), 'Desktop > Page'), index: true, }, { - element: dynamicElement(() => import('../(main)/page/[id]'), 'Desktop > Page > Detail'), + element: dynamicElement( + () => import('@/routes/(main)/page/[id]'), + 'Desktop > Page > Detail', + ), path: ':id', }, ], - element: dynamicLayout(() => import('../(main)/page/_layout'), 'Desktop > Page > Layout'), + element: dynamicLayout( + () => import('@/routes/(main)/page/_layout'), + 'Desktop > Page > Layout', + ), errorElement: , path: 'page', }, @@ -488,7 +510,7 @@ export const desktopRoutes: RouteConfig[] = [ path: '*', }, ], - element: dynamicLayout(() => import('../(main)/_layout'), 'Desktop > Main > Layout'), + element: dynamicLayout(() => import('@/routes/(main)/_layout'), 'Desktop > Main > Layout'), errorElement: , path: '/', }, @@ -500,12 +522,12 @@ export const desktopRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../share/t/[id]'), 'Desktop > Share > Topic'), + element: dynamicElement(() => import('@/routes/share/t/[id]'), 'Desktop > Share > Topic'), path: ':id', }, ], element: dynamicElement( - () => import('../share/t/[id]/_layout'), + () => import('@/routes/share/t/[id]/_layout'), 'Desktop > Share > Topic > Layout', ), path: '/share/t', @@ -513,7 +535,7 @@ export const desktopRoutes: RouteConfig[] = [ ]; desktopRoutes.push({ - element: dynamicElement(() => import('../onboarding'), 'Desktop > Onboarding'), + element: dynamicElement(() => import('@/routes/onboarding'), 'Desktop > Onboarding'), errorElement: , path: '/onboarding', }); diff --git a/src/app/[variants]/(mobile)/router/mobileRouter.config.tsx b/src/spa/router/mobileRouter.config.tsx similarity index 69% rename from src/app/[variants]/(mobile)/router/mobileRouter.config.tsx rename to src/spa/router/mobileRouter.config.tsx index acbac0954c..a77328000a 100644 --- a/src/app/[variants]/(mobile)/router/mobileRouter.config.tsx +++ b/src/spa/router/mobileRouter.config.tsx @@ -21,18 +21,21 @@ export const mobileRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../chat'), 'Mobile > Chat'), + element: dynamicElement(() => import('@/routes/(mobile)/chat'), 'Mobile > Chat'), index: true, }, { element: dynamicElement( - () => import('../chat/settings'), + () => import('@/routes/(mobile)/chat/settings'), 'Mobile > Chat > Settings', ), path: 'settings', }, ], - element: dynamicLayout(() => import('../chat/_layout'), 'Mobile > Chat > Layout'), + element: dynamicLayout( + () => import('@/routes/(mobile)/chat/_layout'), + 'Mobile > Chat > Layout', + ), errorElement: , path: ':aid', }, @@ -48,7 +51,7 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../../(main)/community/(list)/(home)'), + () => import('@/routes/(main)/community/(list)/(home)'), 'Mobile > Discover > List > Home', ), index: true, @@ -57,7 +60,7 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../../(main)/community/(list)/agent'), + () => import('@/routes/(main)/community/(list)/agent'), 'Mobile > Discover > List > Agent', ), path: 'agent', @@ -68,7 +71,7 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../../(main)/community/(list)/model'), + () => import('@/routes/(main)/community/(list)/model'), 'Mobile > Discover > List > Model', ), path: 'model', @@ -77,7 +80,7 @@ export const mobileRoutes: RouteConfig[] = [ }, { element: dynamicElement( - () => import('../../(main)/community/(list)/provider'), + () => import('@/routes/(main)/community/(list)/provider'), 'Mobile > Discover > List > Provider', ), path: 'provider', @@ -86,7 +89,7 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('../../(main)/community/(list)/mcp'), + () => import('@/routes/(main)/community/(list)/mcp'), 'Mobile > Discover > List > MCP', ), path: 'mcp', @@ -95,7 +98,7 @@ export const mobileRoutes: RouteConfig[] = [ }, ], element: dynamicElement( - () => import('../community/(list)/_layout'), + () => import('@/routes/(mobile)/community/(list)/_layout'), 'Mobile > Discover > List > Layout', ), }, @@ -105,7 +108,7 @@ export const mobileRoutes: RouteConfig[] = [ { element: dynamicElement( () => - import('../../(main)/community/(detail)/agent').then( + import('@/routes/(main)/community/(detail)/agent').then( (m) => m.MobileDiscoverAssistantDetailPage, ), 'Mobile > Discover > Detail > Agent', @@ -115,7 +118,9 @@ export const mobileRoutes: RouteConfig[] = [ { element: dynamicElement( () => - import('../../(main)/community/(detail)/model').then((m) => m.MobileModelPage), + import('@/routes/(main)/community/(detail)/model').then( + (m) => m.MobileModelPage, + ), 'Mobile > Discover > Detail > Model', ), path: 'model/:slug', @@ -123,7 +128,7 @@ export const mobileRoutes: RouteConfig[] = [ { element: dynamicElement( () => - import('../../(main)/community/(detail)/provider').then( + import('@/routes/(main)/community/(detail)/provider').then( (m) => m.MobileProviderPage, ), 'Mobile > Discover > Detail > Provider', @@ -132,7 +137,8 @@ export const mobileRoutes: RouteConfig[] = [ }, { element: dynamicElement( - () => import('../../(main)/community/(detail)/mcp').then((m) => m.MobileMcpPage), + () => + import('@/routes/(main)/community/(detail)/mcp').then((m) => m.MobileMcpPage), 'Mobile > Discover > Detail > MCP', ), path: 'mcp/:slug', @@ -140,7 +146,7 @@ export const mobileRoutes: RouteConfig[] = [ { element: dynamicElement( () => - import('../../(main)/community/(detail)/user').then( + import('@/routes/(main)/community/(detail)/user').then( (m) => m.MobileUserDetailPage, ), 'Mobile > Discover > Detail > User', @@ -149,12 +155,15 @@ export const mobileRoutes: RouteConfig[] = [ }, ], element: dynamicElement( - () => import('../community/(detail)/_layout'), + () => import('@/routes/(mobile)/community/(detail)/_layout'), 'Mobile > Discover > Detail > Layout', ), }, ], - element: dynamicElement(() => import('../community/_layout'), 'Mobile > Discover > Layout'), + element: dynamicElement( + () => import('@/routes/(mobile)/community/_layout'), + 'Mobile > Discover > Layout', + ), errorElement: , path: 'community', }, @@ -163,7 +172,10 @@ export const mobileRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../settings'), 'Mobile > Settings'), + element: dynamicElement( + () => import('@/routes/(mobile)/settings'), + 'Mobile > Settings', + ), index: true, }, // Provider routes with nested structure @@ -175,14 +187,15 @@ export const mobileRoutes: RouteConfig[] = [ }, { element: dynamicElement( - () => import('../../(main)/settings/provider').then((m) => m.ProviderDetailPage), + () => + import('@/routes/(main)/settings/provider').then((m) => m.ProviderDetailPage), 'Mobile > Settings > Provider > Detail', ), path: ':providerId', }, ], element: dynamicLayout( - () => import('../settings/provider/_layout'), + () => import('@/routes/(mobile)/settings/provider/_layout'), 'Mobile > Settings > Provider > Layout', ), path: 'provider', @@ -190,13 +203,16 @@ export const mobileRoutes: RouteConfig[] = [ // Other settings tabs (common, agent, memory, tts, about, etc.) { element: dynamicElement( - () => import('../../(main)/settings'), + () => import('@/routes/(main)/settings'), 'Mobile > Settings > Tab', ), path: ':tab', }, ], - element: dynamicLayout(() => import('../settings/_layout'), 'Mobile > Settings > Layout'), + element: dynamicLayout( + () => import('@/routes/(mobile)/settings/_layout'), + 'Mobile > Settings > Layout', + ), errorElement: , path: 'settings', }, @@ -210,14 +226,14 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('@/app/[variants]/(mobile)/me/(home)'), + () => import('@/routes/(mobile)/me/(home)'), 'Mobile > Me > Home', ), index: true, }, ], element: dynamicLayout( - () => import('../me/(home)/layout'), + () => import('@/routes/(mobile)/me/(home)/layout'), 'Mobile > Me > Home > Layout', ), }, @@ -225,14 +241,14 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('@/app/[variants]/(mobile)/me/profile'), + () => import('@/routes/(mobile)/me/profile'), 'Mobile > Me > Profile', ), path: 'profile', }, ], element: dynamicLayout( - () => import('../me/profile/layout'), + () => import('@/routes/(mobile)/me/profile/layout'), 'Mobile > Me > Profile > Layout', ), }, @@ -240,14 +256,14 @@ export const mobileRoutes: RouteConfig[] = [ children: [ { element: dynamicElement( - () => import('@/app/[variants]/(mobile)/me/settings'), + () => import('@/routes/(mobile)/me/settings'), 'Mobile > Me > Settings', ), path: 'settings', }, ], element: dynamicLayout( - () => import('../me/settings/layout'), + () => import('@/routes/(mobile)/me/settings/layout'), 'Mobile > Me > Settings > Layout', ), }, @@ -260,11 +276,14 @@ export const mobileRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../(home)/'), 'Mobile > Home'), + element: dynamicElement(() => import('@/routes/(mobile)/(home)/'), 'Mobile > Home'), index: true, }, ], - element: dynamicLayout(() => import('../(home)/_layout'), 'Mobile > Home > Layout'), + element: dynamicLayout( + () => import('@/routes/(mobile)/(home)/_layout'), + 'Mobile > Home > Layout', + ), }, // Catch-all route @@ -273,13 +292,13 @@ export const mobileRoutes: RouteConfig[] = [ path: '*', }, ], - element: dynamicLayout(() => import('../_layout'), 'Mobile > Main > Layout'), + element: dynamicLayout(() => import('@/routes/(mobile)/_layout'), 'Mobile > Main > Layout'), errorElement: , path: '/', }, // Onboarding route (outside main layout) { - element: dynamicElement(() => import('../../onboarding'), 'Mobile > Onboarding'), + element: dynamicElement(() => import('@/routes/onboarding'), 'Mobile > Onboarding'), errorElement: , path: '/onboarding', }, @@ -289,12 +308,12 @@ export const mobileRoutes: RouteConfig[] = [ { children: [ { - element: dynamicElement(() => import('../../share/t/[id]'), 'Mobile > Share > Topic'), + element: dynamicElement(() => import('@/routes/share/t/[id]'), 'Mobile > Share > Topic'), path: ':id', }, ], element: dynamicElement( - () => import('../../share/t/[id]/_layout'), + () => import('@/routes/share/t/[id]/_layout'), 'Mobile > Share > Topic > Layout', ), path: '/share/t', diff --git a/vite.config.ts b/vite.config.ts index ea8154784c..b132ced6f3 100644 --- a/vite.config.ts +++ b/vite.config.ts @@ -105,7 +105,9 @@ export default defineConfig({ '/webapi': 'http://localhost:3010', }, warmup: { - clientFiles: ['./src/entry.web.tsx', './src/entry.desktop.tsx', './src/entry.mobile.tsx'], + clientFiles: [ + platform === 'mobile' ? './src/spa/entry.mobile.tsx' : './src/spa/entry.web.tsx', + ], }, }, });