Skip to content

Commit 6fe3701

Browse files
committed
🔥 refactor(ui): remove advanced/simple mode toggle from Layout
Remove isAdvancedMode state, ModeToggle component, simpleSettingsItems array, and advancedOnly flags from nav groups. DebugDrawer now always visible. All navigation groups and settings items now shown unconditionally.
1 parent cc3e26a commit 6fe3701

1 file changed

Lines changed: 4 additions & 66 deletions

File tree

packages/ui/src/components/Layout.tsx

Lines changed: 4 additions & 66 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,6 @@ import { StatsPanel } from './StatsPanel';
5858
import { RealtimeBridge, type BadgeCounts } from './RealtimeBridge';
5959
import { SecurityBanner } from './SecurityBanner';
6060
import { usePulseSlots, PulseSlotGrid } from './PulseSlots';
61-
import { STORAGE_KEYS } from '../constants/storage-keys';
6261
import { DebugDrawer } from './DebugDrawer';
6362
import { MiniChat } from './MiniChat';
6463
import { MiniTerminal } from './MiniTerminal';
@@ -76,8 +75,6 @@ interface NavGroup {
7675
icon: React.ComponentType<{ className?: string }>;
7776
items: NavItem[];
7877
defaultOpen?: boolean;
79-
/** If true, hidden in simple mode */
80-
advancedOnly?: boolean;
8178
/** Optional badge text (e.g. "Beta") shown next to group label */
8279
badge?: string;
8380
}
@@ -111,7 +108,6 @@ const navGroups: NavGroup[] = [
111108
id: 'ai',
112109
label: 'AI & Automation',
113110
icon: Brain,
114-
advancedOnly: true,
115111
items: [
116112
{ to: '/memories', icon: Brain, label: 'Memories' },
117113
{ to: '/goals', icon: Target, label: 'Goals' },
@@ -128,7 +124,6 @@ const navGroups: NavGroup[] = [
128124
id: 'tools',
129125
label: 'Tools & Extensions',
130126
icon: Wrench,
131-
advancedOnly: true,
132127
items: [
133128
{ to: '/tools', icon: Wrench, label: 'Tools' },
134129
{ to: '/custom-tools', icon: Code, label: 'Custom Tools' },
@@ -140,7 +135,6 @@ const navGroups: NavGroup[] = [
140135
id: 'system',
141136
label: 'System',
142137
icon: Cpu,
143-
advancedOnly: true,
144138
items: [
145139
{ to: '/agents', icon: Bot, label: 'Agents' },
146140
{ to: '/models', icon: Cpu, label: 'Models' },
@@ -192,13 +186,6 @@ const navGroups: NavGroup[] = [
192186
},
193187
];
194188

195-
// Simple mode shows fewer settings
196-
const simpleSettingsItems: NavItem[] = [
197-
{ to: '/settings/api-keys', icon: Key, label: 'API Keys' },
198-
{ to: '/settings/security', icon: Shield, label: 'Security' },
199-
{ to: '/settings/ai-models', icon: Cpu, label: 'AI Models' },
200-
];
201-
202189
// Bottom navigation items
203190
const bottomItems: NavItem[] = [
204191
{ to: '/about', icon: Info, label: 'About' },
@@ -287,30 +274,6 @@ function CollapsibleGroup({
287274
);
288275
}
289276

290-
function ModeToggle({ isAdvanced, onToggle }: { isAdvanced: boolean; onToggle: () => void }) {
291-
return (
292-
<button
293-
onClick={onToggle}
294-
className="w-full flex items-center gap-2 px-3 py-1.5 rounded-md text-xs text-text-muted dark:text-dark-text-muted hover:bg-bg-tertiary dark:hover:bg-dark-bg-tertiary transition-colors"
295-
title={isAdvanced ? 'Switch to Simple Mode' : 'Switch to Advanced Mode'}
296-
>
297-
<Settings className="w-3.5 h-3.5 shrink-0" />
298-
<span className="flex-1 text-left">{isAdvanced ? 'Advanced Mode' : 'Simple Mode'}</span>
299-
<div
300-
className={`w-7 h-4 rounded-full transition-colors relative ${
301-
isAdvanced ? 'bg-primary' : 'bg-border dark:bg-dark-border'
302-
}`}
303-
>
304-
<div
305-
className={`absolute top-0.5 w-3 h-3 rounded-full bg-white transition-transform ${
306-
isAdvanced ? 'translate-x-3.5' : 'translate-x-0.5'
307-
}`}
308-
/>
309-
</div>
310-
</button>
311-
);
312-
}
313-
314277
const CONNECTION_STYLES: Record<
315278
ConnectionStatus,
316279
{ color: string; pulse: boolean; label: string }
@@ -340,9 +303,6 @@ export function Layout() {
340303
const isMobile = useIsMobile();
341304
const [isMobileSidebarOpen, setIsMobileSidebarOpen] = useState(false);
342305
const [isStatsPanelCollapsed, setIsStatsPanelCollapsed] = useState(true);
343-
const [isAdvancedMode, setIsAdvancedMode] = useState(() => {
344-
return localStorage.getItem(STORAGE_KEYS.ADVANCED_MODE) === 'true';
345-
});
346306
const { slots: pulseSlots } = usePulseSlots();
347307
const [badgeCounts, setBadgeCounts] = useState<BadgeCounts>({ inbox: 0, tasks: 0 });
348308
const handleBadgeUpdate = useCallback(
@@ -366,24 +326,6 @@ export function Layout() {
366326
}
367327
}, [location.pathname]);
368328

369-
// Persist mode preference
370-
useEffect(() => {
371-
localStorage.setItem(STORAGE_KEYS.ADVANCED_MODE, String(isAdvancedMode));
372-
}, [isAdvancedMode]);
373-
374-
// Filter nav groups based on mode
375-
const visibleGroups = isAdvancedMode
376-
? navGroups
377-
: navGroups
378-
.filter((g) => !g.advancedOnly)
379-
.map((g) => {
380-
// In simple mode, show fewer settings items
381-
if (g.id === 'settings') {
382-
return { ...g, items: simpleSettingsItems };
383-
}
384-
return g;
385-
});
386-
387329
// Initialize open groups based on current path
388330
const getInitialOpenGroups = () => {
389331
const openGroups: Record<string, boolean> = {};
@@ -505,7 +447,7 @@ export function Layout() {
505447

506448
{/* Grouped Items */}
507449
<div className="space-y-1">
508-
{visibleGroups.map((group) => (
450+
{navGroups.map((group) => (
509451
<CollapsibleGroup
510452
key={group.id}
511453
group={group}
@@ -526,12 +468,8 @@ export function Layout() {
526468
</div>
527469
</nav>
528470

529-
{/* Mode Toggle + Status */}
471+
{/* Status */}
530472
<div className="p-2 border-t border-border dark:border-dark-border space-y-1">
531-
<ModeToggle
532-
isAdvanced={isAdvancedMode}
533-
onToggle={() => setIsAdvancedMode(!isAdvancedMode)}
534-
/>
535473
{passwordConfigured && (
536474
<button
537475
onClick={() => logout()}
@@ -572,8 +510,8 @@ export function Layout() {
572510
{/* Floating mini terminal widget (desktop only, hidden on CodingAgentsPage) */}
573511
{!isMobile && <MiniTerminal />}
574512

575-
{/* Debug Drawer (advanced mode only) */}
576-
{isAdvancedMode && <DebugDrawer />}
513+
{/* Debug Drawer */}
514+
<DebugDrawer />
577515
</div>
578516
);
579517
}

0 commit comments

Comments
 (0)