Skip to content

Add welcome guide onboarding flow for first-time users - #67

Open
its-mash wants to merge 5 commits into
mainfrom
claude/setup-mcp-mux-repos-gSgtL
Open

Add welcome guide onboarding flow for first-time users#67
its-mash wants to merge 5 commits into
mainfrom
claude/setup-mcp-mux-repos-gSgtL

Conversation

@its-mash

Copy link
Copy Markdown
Member

Summary

Implements a comprehensive welcome guide modal that appears on first launch to onboard new users with McpMux features and functionality. The guide includes 5 interactive steps covering key concepts like server discovery, spaces, client connections, and feature sets.

Key Changes

Component & UI

  • WelcomeGuide component (apps/desktop/src/components/WelcomeGuide.tsx): New modal component with 5-step onboarding flow featuring:
    • Step-by-step navigation with visual progress indicators
    • Contextual tips and detailed feature descriptions
    • Skip and Back navigation options
    • Dismissal on completion or skip action
    • Responsive design with backdrop blur overlay

State Management

  • App store updates (apps/desktop/src/stores/appStore.ts):

    • Added hasSeenWelcome boolean state to track first-time user status
    • Added setHasSeenWelcome action to persist dismissal state
    • Updated AppState interface and AppStore type definitions
    • Added useHasSeenWelcome selector for component access
  • Type definitions (apps/desktop/src/stores/types.ts):

    • Added hasSeenWelcome to AppState interface
    • Added setHasSeenWelcome to AppActions interface

Integration

  • App.tsx: Integrated WelcomeGuide component into main app layout to display on first launch

Testing

  • Unit tests (tests/ts/components/WelcomeGuide.test.tsx):

    • 20+ test cases covering visibility, navigation, dismissal, and data integrity
    • Tests for all 5 steps and user interactions
  • E2E tests (Playwright & WebdriverIO):

    • First launch detection and overlay display
    • Step navigation and progression
    • Dismissal persistence across page reloads
    • Returning user behavior
  • Store tests (tests/ts/stores/appStore.test.ts):

    • Tests for hasSeenWelcome state management

Page Objects

  • WelcomeGuidePage (tests/e2e/pages/WelcomeGuidePage.ts): Page object for E2E testing with helper methods for navigation and dismissal

Implementation Details

  • Uses Zustand store for persistent state management
  • Leverages existing UI components (Button, Card) from @mcpmux/ui
  • Implements smooth animations and transitions
  • All interactive elements use data-testid attributes for reliable testing
  • Welcome state persists in localStorage via Zustand persistence

https://claude.ai/code/session_01TY5YfV9R31MfrJDtovKqmi

Implement a 5-step welcome guide modal that appears on first launch to
walk users through the key features of McpMux: discovering servers,
organizing with spaces, connecting AI clients, and controlling access
with FeatureSets. The guide is persisted via localStorage so it only
shows once.

- Add WelcomeGuide component with step navigation (next/back/skip)
- Add hasSeenWelcome flag to Zustand store with persistence
- Add 22 unit tests for the WelcomeGuide component
- Add 3 unit tests for the new store action
- Add Playwright e2e spec (14 tests across 4 describe blocks)
- Add WebdriverIO desktop e2e spec (16 tests across 3 describe blocks)
- Add WelcomeGuidePage page object for e2e tests

https://claude.ai/code/session_01TY5YfV9R31MfrJDtovKqmi
Comment thread tests/ts/components/WelcomeGuide.test.tsx Fixed
@its-mash
its-mash force-pushed the main branch 2 times, most recently from 04e4d51 to 9e481e7 Compare July 15, 2026 01:36
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.

2 participants