task(H1): simple/pro mode - uiModeService with localStorage persistence, ribbon basic-tag filter, commandline pro-only, topbar toggle

This commit is contained in:
Agent Zero
2026-08-29 02:55:53 +02:00
parent ed71100178
commit 8774fea773
5 changed files with 205 additions and 1 deletions
+6 -1
View File
@@ -1,4 +1,5 @@
import React from 'react';
import { getUIMode, useUIMode } from '../services/uiModeService';
import type { RibbonBarProps, RibbonTab } from '../types/ui.types';
import { pluginRegistry } from '../plugins';
import { V2_TOOLS_ENABLED } from '../kernel/featureFlags';
@@ -19,6 +20,8 @@ const RibbonBar: React.FC<RibbonBarProps> = ({
onCanvasBgColorChange, onGridColorChange, onToggleRuler,
onIsV2ToolActive,
}) => {
const uiMode = useUIMode();
return (
<nav className="ribbon" role="navigation" aria-label="Hauptwerkzeuge">
<div className="ribbon-tabs" role="tablist">
@@ -47,7 +50,9 @@ const RibbonBar: React.FC<RibbonBarProps> = ({
borderBottom: '1px solid var(--color-border, #333)', marginBottom: '8px',
}}>
<span style={{ fontSize: '11px', color: 'var(--color-ki, #8a8aff)', marginRight: '4px' }}>V2:</span>
{pluginRegistry.getToolsV2().map((tool) => {
{pluginRegistry.getToolsV2()
.filter((tool) => uiMode === 'pro' || (tool.manifest.tags ?? []).includes('basic'))
.map((tool) => {
const isActive = onIsV2ToolActive?.(tool.manifest.id);
return (
<button