feat(setup): implement functional setup wizard with multi-step flow

Add complete setup wizard implementation with the following features:

- Welcome step with feature highlights
- Environment check step with Node.js, OpenClaw, and Gateway verification
- AI Provider selection with API key input and validation UI
- Channel connection step with QR code placeholder
- Skill bundle selection with recommended bundles pre-selected
- Completion summary showing all configured options

Additional changes:
- Add setupComplete state and markSetupComplete action to settings store
- Auto-redirect to setup wizard on first launch
- Track setup completion in persisted settings
This commit is contained in:
Haze
2026-02-05 23:18:43 +08:00
Unverified
parent 1646536e40
commit 18dc3bf53f
4 changed files with 649 additions and 78 deletions

View File

@@ -28,6 +28,9 @@ interface SettingsState {
sidebarCollapsed: boolean;
devModeUnlocked: boolean;
// Setup
setupComplete: boolean;
// Actions
setTheme: (theme: Theme) => void;
setLanguage: (language: string) => void;
@@ -40,6 +43,7 @@ interface SettingsState {
setAutoDownloadUpdate: (value: boolean) => void;
setSidebarCollapsed: (value: boolean) => void;
setDevModeUnlocked: (value: boolean) => void;
markSetupComplete: () => void;
resetSettings: () => void;
}
@@ -55,6 +59,7 @@ const defaultSettings = {
autoDownloadUpdate: false,
sidebarCollapsed: false,
devModeUnlocked: false,
setupComplete: false,
};
export const useSettingsStore = create<SettingsState>()(
@@ -73,6 +78,7 @@ export const useSettingsStore = create<SettingsState>()(
setAutoDownloadUpdate: (autoDownloadUpdate) => set({ autoDownloadUpdate }),
setSidebarCollapsed: (sidebarCollapsed) => set({ sidebarCollapsed }),
setDevModeUnlocked: (devModeUnlocked) => set({ devModeUnlocked }),
markSetupComplete: () => set({ setupComplete: true }),
resetSettings: () => set(defaultSettings),
}),
{