feat: add loading states and first-time user onboarding (Closes #88) #130

Merged
shahondin1624 merged 1 commits from feature/issue-88-no-loading-states-or-first-time-user-onboarding into main 2026-04-05 00:47:16 +02:00
Owner

Summary

  • Add a loading indicator (CircularProgressIndicator) shown while character data is loading from storage
  • Add a welcome/onboarding screen for first-time users with options to create a new character or explore with the example character
  • Use Crossfade animation for smooth transitions between loading, welcome, and main content states

Changes

  • Added LoadStatus.Loading state and made character loading asynchronous in CharacterViewModel
  • Created LoadingScreen composable with progress indicator
  • Created WelcomeScreen composable with create/explore options
  • Updated App.kt to show appropriate screen based on load status using Crossfade
  • Added string resources, test tags, and unit tests

Closes #88

Test plan

  • New LoadingScreenTest verifies loading screen renders
  • New WelcomeScreenTest verifies welcome screen elements and button callbacks
  • Full test suite passes with no regressions (29 pre-existing failures unchanged)
  • Build compiles successfully
## Summary - Add a loading indicator (CircularProgressIndicator) shown while character data is loading from storage - Add a welcome/onboarding screen for first-time users with options to create a new character or explore with the example character - Use Crossfade animation for smooth transitions between loading, welcome, and main content states ## Changes - Added `LoadStatus.Loading` state and made character loading asynchronous in `CharacterViewModel` - Created `LoadingScreen` composable with progress indicator - Created `WelcomeScreen` composable with create/explore options - Updated `App.kt` to show appropriate screen based on load status using `Crossfade` - Added string resources, test tags, and unit tests Closes #88 ## Test plan - [x] New `LoadingScreenTest` verifies loading screen renders - [x] New `WelcomeScreenTest` verifies welcome screen elements and button callbacks - [x] Full test suite passes with no regressions (29 pre-existing failures unchanged) - [x] Build compiles successfully
shahondin1624 added 1 commit 2026-04-05 00:47:08 +02:00
- Add Loading state to LoadStatus and make character loading asynchronous
- Show CircularProgressIndicator while character data loads from storage
- Show WelcomeScreen for first-time users with options to create a new
  character or explore with the example character
- Use Crossfade animation for smooth transitions between loading, welcome,
  and main content states
- Add test tags, string resources, and tests for new components

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
shahondin1624 merged commit a3fe0020ec into main 2026-04-05 00:47:16 +02:00
shahondin1624 deleted branch feature/issue-88-no-loading-states-or-first-time-user-onboarding 2026-04-05 00:47:16 +02:00
Sign in to join this conversation.