feat: implement three-mode UI system (Easy / Pro / Chat)

Add switchable UI modes with conditional rendering:
- Easy mode: goal-based interface with 7 guided workflows
- Pro mode: current technical interface preserved with Quick Start Goals
- Chat mode: AIUI placeholder for future integration

New components: ModeSwitcher, EasyHome, GoalDetail wizard, Chat placeholder
New stores: uiMode (mode persistence), goals (progress tracking)
New data: goal definitions catalog, helpTree goals section
Modified: Dashboard (reactive nav), Home (mode dispatcher), Settings (mode picker),
Router (goal/chat routes), Spotlight (goal search integration)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Dorian
2026-03-04 07:09:31 +00:00
parent 486fc39249
commit 7b044d22ef
17 changed files with 1108 additions and 103 deletions

View File

@@ -28,11 +28,14 @@ export interface StatusInfo {
'update-progress': number | null
}
export type UIMode = 'gamer' | 'easy' | 'chat'
export interface UIData {
name: string | null
'ack-welcome': string
marketplace: UIMarketplaceData
theme: string
mode?: UIMode
}
export interface UIMarketplaceData {

View File

@@ -0,0 +1,32 @@
// Goal-based workflow types for Easy mode
export interface GoalDefinition {
id: string
title: string
subtitle: string
icon: string
category: 'commerce' | 'payments' | 'storage' | 'identity' | 'network' | 'backup'
requiredApps: string[]
steps: GoalStep[]
estimatedTime: string
difficulty: 'beginner' | 'intermediate'
}
export interface GoalStep {
id: string
title: string
description: string
appId?: string
action: 'install' | 'configure' | 'verify' | 'info'
isAutomatic: boolean
}
export type GoalStatus = 'not-started' | 'in-progress' | 'completed' | 'error'
export interface GoalProgress {
goalId: string
status: GoalStatus
currentStepIndex: number
completedSteps: string[]
startedAt?: number
}