From a978ba30cacbb424dca7ef81a6baba5d091ab4d0 Mon Sep 17 00:00:00 2001 From: ciregenz Date: Sat, 23 May 2026 12:56:52 -0700 Subject: [PATCH] [eric] tree: group app/components HUD/search/gates/pickers into overlays/ --- frontend/src/app/Main.tsx | 4 ++-- frontend/src/app/components/Layout/AppShell.tsx | 2 +- frontend/src/app/components/{ => overlays}/DynamicIsland.tsx | 2 +- .../src/app/components/{ => overlays}/GlobalSearchPalette.tsx | 0 .../app/components/{ => overlays}/KeyboardShortcutsHelp.tsx | 0 frontend/src/app/components/{ => overlays}/PlanPicker.tsx | 0 frontend/src/app/components/{ => overlays}/SignInGate.tsx | 0 .../src/app/components/{ => overlays}/TrustedFilePatterns.tsx | 0 frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx | 2 +- .../app/pages/Settings/sections/general/GeneralAdvanced.tsx | 2 +- .../pages/Settings/sections/subscription/OpenSwarmProCard.tsx | 2 +- 11 files changed, 7 insertions(+), 7 deletions(-) rename frontend/src/app/components/{ => overlays}/DynamicIsland.tsx (99%) rename frontend/src/app/components/{ => overlays}/GlobalSearchPalette.tsx (100%) rename frontend/src/app/components/{ => overlays}/KeyboardShortcutsHelp.tsx (100%) rename frontend/src/app/components/{ => overlays}/PlanPicker.tsx (100%) rename frontend/src/app/components/{ => overlays}/SignInGate.tsx (100%) rename frontend/src/app/components/{ => overlays}/TrustedFilePatterns.tsx (100%) diff --git a/frontend/src/app/Main.tsx b/frontend/src/app/Main.tsx index babf4572..274272f9 100644 --- a/frontend/src/app/Main.tsx +++ b/frontend/src/app/Main.tsx @@ -29,7 +29,7 @@ const Analytics = lazy(() => import('./pages/Analytics/Analytics')); const OnboardingRoot = lazy(() => import('./components/Onboarding').then((m) => ({ default: m.OnboardingRoot })), ); -const SignInGate = lazy(() => import('./components/SignInGate')); +const SignInGate = lazy(() => import('./components/overlays/SignInGate')); if (typeof window !== 'undefined') { (window as any).__openswarmPrefetchRoute = (path: string) => { @@ -64,7 +64,7 @@ import { useKeyboardShortcuts } from '@/shared/hooks/useKeyboardShortcuts'; import { useDeepLink } from '@/shared/hooks/useDeepLink'; import { useWindowFocus } from '@/shared/hooks/useWindowFocus'; import { useInteractionHeartbeat } from '@/shared/hooks/useInteractionHeartbeat'; -import KeyboardShortcutsHelp from './components/KeyboardShortcutsHelp'; +import KeyboardShortcutsHelp from './components/overlays/KeyboardShortcutsHelp'; import { ThemeProvider, useThemeMode, useClaudeTokens } from '@/shared/styles/ThemeContext'; import { ClaudeTokens } from '@/shared/styles/claudeTokens'; diff --git a/frontend/src/app/components/Layout/AppShell.tsx b/frontend/src/app/components/Layout/AppShell.tsx index 47972af4..fcc2ccfc 100644 --- a/frontend/src/app/components/Layout/AppShell.tsx +++ b/frontend/src/app/components/Layout/AppShell.tsx @@ -32,7 +32,7 @@ import LinearProgress from '@mui/material/LinearProgress'; import CircularProgress from '@mui/material/CircularProgress'; // Settings modal lazy-loaded so its 2.3K LOC + Stripe/OAuth helpers don't ship on first paint. const Settings = React.lazy(() => import('@/app/pages/Settings/Settings')); -import DynamicIsland from '@/app/components/DynamicIsland'; +import DynamicIsland from '@/app/components/overlays/DynamicIsland'; import Dashboard from '@/app/pages/Dashboard/Dashboard'; import DashboardHost from '@/app/components/Layout/DashboardHost'; import { useLastDashboardId } from '@/shared/hooks/useLastDashboardId'; diff --git a/frontend/src/app/components/DynamicIsland.tsx b/frontend/src/app/components/overlays/DynamicIsland.tsx similarity index 99% rename from frontend/src/app/components/DynamicIsland.tsx rename to frontend/src/app/components/overlays/DynamicIsland.tsx index 8edab024..3788bc8d 100644 --- a/frontend/src/app/components/DynamicIsland.tsx +++ b/frontend/src/app/components/overlays/DynamicIsland.tsx @@ -31,7 +31,7 @@ import { API_BASE, getAuthToken } from '@/shared/config'; import { store } from '@/shared/state/store'; import { setPendingFocusAgentId } from '@/shared/state/tempStateSlice'; import ApprovalBar, { BatchApprovalBar, parseMcpToolName, useMcpToolMeta, getToolIcon } from '@/app/pages/AgentChat/shell/ApprovalBar'; -import GlobalSearchPalette from '@/app/components/GlobalSearchPalette'; +import GlobalSearchPalette from '@/app/components/overlays/GlobalSearchPalette'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; type IslandState = 'idle' | 'compact' | 'compact-actionable' | 'expanded'; diff --git a/frontend/src/app/components/GlobalSearchPalette.tsx b/frontend/src/app/components/overlays/GlobalSearchPalette.tsx similarity index 100% rename from frontend/src/app/components/GlobalSearchPalette.tsx rename to frontend/src/app/components/overlays/GlobalSearchPalette.tsx diff --git a/frontend/src/app/components/KeyboardShortcutsHelp.tsx b/frontend/src/app/components/overlays/KeyboardShortcutsHelp.tsx similarity index 100% rename from frontend/src/app/components/KeyboardShortcutsHelp.tsx rename to frontend/src/app/components/overlays/KeyboardShortcutsHelp.tsx diff --git a/frontend/src/app/components/PlanPicker.tsx b/frontend/src/app/components/overlays/PlanPicker.tsx similarity index 100% rename from frontend/src/app/components/PlanPicker.tsx rename to frontend/src/app/components/overlays/PlanPicker.tsx diff --git a/frontend/src/app/components/SignInGate.tsx b/frontend/src/app/components/overlays/SignInGate.tsx similarity index 100% rename from frontend/src/app/components/SignInGate.tsx rename to frontend/src/app/components/overlays/SignInGate.tsx diff --git a/frontend/src/app/components/TrustedFilePatterns.tsx b/frontend/src/app/components/overlays/TrustedFilePatterns.tsx similarity index 100% rename from frontend/src/app/components/TrustedFilePatterns.tsx rename to frontend/src/app/components/overlays/TrustedFilePatterns.tsx diff --git a/frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx b/frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx index 240d548a..fedd0b80 100644 --- a/frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx +++ b/frontend/src/app/pages/AgentChat/bubbles/MessageBubble.tsx @@ -23,7 +23,7 @@ import { openSettingsModal } from '@/shared/state/settingsSlice'; import { useAppDispatch, useAppSelector } from '@/shared/hooks'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; import { SKILL_COLOR } from '@/app/components/editor/richEditorUtils'; -import PlanPicker from '@/app/components/PlanPicker'; +import PlanPicker from '@/app/components/overlays/PlanPicker'; import { ErrorSlime } from '@/app/components/feedback/ErrorSlime'; const streamingCursorKeyframes = ` diff --git a/frontend/src/app/pages/Settings/sections/general/GeneralAdvanced.tsx b/frontend/src/app/pages/Settings/sections/general/GeneralAdvanced.tsx index 517e437a..f107a71b 100644 --- a/frontend/src/app/pages/Settings/sections/general/GeneralAdvanced.tsx +++ b/frontend/src/app/pages/Settings/sections/general/GeneralAdvanced.tsx @@ -9,7 +9,7 @@ import { closeSettingsModal, AppSettings } from '@/shared/state/settingsSlice'; import { onboardingBus } from '@/app/components/Onboarding/eventBus'; import { resetTour } from '@/shared/state/onboardingProgressSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; -import TrustedFilePatterns from '@/app/components/TrustedFilePatterns'; +import TrustedFilePatterns from '@/app/components/overlays/TrustedFilePatterns'; import SoftwareUpdateRow from './SoftwareUpdateRow'; import type { SettingsStyles } from '../settingsStyles'; diff --git a/frontend/src/app/pages/Settings/sections/subscription/OpenSwarmProCard.tsx b/frontend/src/app/pages/Settings/sections/subscription/OpenSwarmProCard.tsx index 9ffecf62..98d3e07b 100644 --- a/frontend/src/app/pages/Settings/sections/subscription/OpenSwarmProCard.tsx +++ b/frontend/src/app/pages/Settings/sections/subscription/OpenSwarmProCard.tsx @@ -8,7 +8,7 @@ import { useAppDispatch } from '@/shared/hooks'; import { disconnectSubscription } from '@/shared/state/settingsSlice'; import { useClaudeTokens } from '@/shared/styles/ThemeContext'; import { API_BASE } from '@/shared/config'; -import PlanPicker from '@/app/components/PlanPicker'; +import PlanPicker from '@/app/components/overlays/PlanPicker'; import type { OpenSwarmPlan } from '@/shared/subscription/checkout'; /** Pro managed-subscription card: Subscribe CTA when disconnected, live usage + Manage/Disconnect when active. */