Skip to content

feat: wardrobe screen with add/select/delete items (Android & iOS)#3

Merged
jvsena42 merged 11 commits intomainfrom
feat/wardrobe-screen
Mar 22, 2026
Merged

feat: wardrobe screen with add/select/delete items (Android & iOS)#3
jvsena42 merged 11 commits intomainfrom
feat/wardrobe-screen

Conversation

@jvsena42
Copy link
Copy Markdown
Owner

@jvsena42 jvsena42 commented Mar 22, 2026

Summary

Implements the complete Wardrobe screen for both Android (Compose) and iOS (SwiftUI), matching the design in design/design.pen. This is the first user-facing feature — it includes the item grid, add item flow, multi-select with delete, and AI locked sheet, all adaptive for phone and tablet/iPad.

Changes

  • Shared ViewModel (MVI): WardrobeViewModel with intents for loading, filtering, adding, selecting, and deleting items. Repositories now return Result<T> with runCatching.
  • Koin DI: SharedModule, AndroidModule, IosModule, and KoinHelper for iOS initialization.
  • Wardrobe screen: Adaptive grid (phone 2-col / tablet 3-col) with category filter chips, bottom nav bar, and FAB. Uses WindowSizeClass on Android and horizontalSizeClass on iOS.
  • Add item sheet: Bottom sheet with photo source chooser (camera or gallery), name field, category dropdown, color picker, season chips, and save button.
  • Multi-select & delete: Long-press enters selection mode with checkmark indicators, selection header with delete button, and confirmation dialog.
  • AI locked sheet: Tapping the "Auto-tag with AI" badge shows an unlock prompt when no API key is configured.
  • Theme: WornColors design tokens and WornTheme on both platforms.
  • Previews: Phone and tablet previews on all screens (Android @Preview + iOS #Preview).
  • Animations: Grid items animate on add/remove via animateItem() (Compose) and .transition + withAnimation (SwiftUI).

Test plan

  • Run ./gradlew :composeApp:assembleDebug — builds successfully
  • Run ./gradlew detekt — passes with no issues
  • Run ./gradlew :shared:compileKotlinIosSimulatorArm64 — iOS shared framework compiles
  • Android emulator: verify wardrobe grid, category filtering, add item via camera/gallery, multi-select + delete, AI badge → locked sheet
  • iPad simulator: verify adaptive layout (3-column grid, centered bottom nav, larger padding)
  • Verify previews render in Android Studio and Xcode

Checklist

  • ./gradlew detekt passes
  • Tested on Android
  • Tested on iOS
  • Updated documentation (if applicable)

🤖 Generated with Claude Code

@jvsena42 jvsena42 self-assigned this Mar 22, 2026
@jvsena42 jvsena42 enabled auto-merge March 22, 2026 20:54
@jvsena42 jvsena42 merged commit f5a692b into main Mar 22, 2026
1 check passed
@jvsena42 jvsena42 deleted the feat/wardrobe-screen branch March 22, 2026 20:59
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.

1 participant