Skip to content

feat: add first-launch onboarding flow - #55

Merged
jatinkrmalik merged 1 commit into
mainfrom
feat/onboarding-flow
Mar 10, 2026
Merged

feat: add first-launch onboarding flow#55
jatinkrmalik merged 1 commit into
mainfrom
feat/onboarding-flow

Conversation

@jatinkrmalik

Copy link
Copy Markdown
Member

Summary

Implements a multi-step onboarding wizard for first-time users.

Changes

  • New OnboardingView with 6-step wizard (welcome, permissions, model selection, hotkey config, quick test, completion)
  • AppState tracks onboarding completion via UserDefaults with hasCompletedOnboarding flag
  • App entry point conditionally shows onboarding window on first launch (VocaMacApp.swift)
  • OnboardingWindowManager handles window lifecycle and monitoring for completion
  • Unit tests for onboarding state management and step progression

Implementation Details

  • Step 1: Welcome screen with app description
  • Step 2: Permissions walkthrough (Microphone, Accessibility, Input Monitoring)
  • Step 3: Model selection with hardware-based recommendations
  • Step 4: Hotkey configuration (activation mode, key, double-tap speed)
  • Step 5: Quick test recording to verify setup
  • Step 6: Completion summary with next steps

All code follows VocaMac style guidelines: SwiftUI, @EnvironmentObject for state, SF Symbols for icons, proper error handling, and comprehensive doc comments.

Closes #22

@jatinkrmalik
jatinkrmalik force-pushed the feat/onboarding-flow branch from 9e9e364 to 41a8025 Compare March 10, 2026 17:58
@jatinkrmalik
jatinkrmalik force-pushed the feat/onboarding-flow branch from 41a8025 to 8f2efe3 Compare March 10, 2026 18:05
@jatinkrmalik
jatinkrmalik merged commit e05afb7 into main Mar 10, 2026
1 check passed
@jatinkrmalik
jatinkrmalik deleted the feat/onboarding-flow branch August 22, 2026 05:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

feat: First-launch onboarding flow

1 participant