Skip to content

feat: settings screen, user profile & enhanced clothing attributes#7

Merged
jvsena42 merged 11 commits intomainfrom
feat/settings
Mar 26, 2026
Merged

feat: settings screen, user profile & enhanced clothing attributes#7
jvsena42 merged 11 commits intomainfrom
feat/settings

Conversation

@jvsena42
Copy link
Copy Markdown
Owner

@jvsena42 jvsena42 commented Mar 26, 2026

Summary

Add a Settings screen with user profile management and API key configuration, expand clothing item attributes (subcategory, fit, material), update AI prompts for men's capsule wardrobe focus, and remove the DRESS category.

Changes

  • Settings screen (Android & iOS): Card-based navigation with separate bottom sheets for profile editing and API key management, matching the Pencil design
  • User profile: Body type, style profile, age range, climate, and lifestyle preferences stored via DataStore (KMP expect/actual)
  • New clothing attributes: Subcategory (per-category options), Fit (slim/regular/relaxed/oversized), and Material (cotton/linen/denim/etc.) added to ClothingItem model, DB schema, and AddItemSheet UI
  • Expanded color palette: 8 → 14 colors (added White, Charcoal, Khaki, Tan, Burgundy, Light Blue)
  • Removed DRESS category: Migrated existing DRESS items to TOP via SQLDelight migration
  • AI prompt updates: All prompts now specify men's capsule wardrobe focus, analyze subcategory/fit/material, and inject user profile context into gap/try-it recommendations
  • New data layer: SettingsRepository (DataStore-backed), SettingsViewModel (MVI), platform DI wiring
  • About section: Version from PackageInfo/Bundle, Licenses link to GitHub MIT license

Test plan

  • Open Settings tab → verify card-based layout with Your Profile, Claude API Key, and About sections
  • Tap "Your Profile" → verify bottom sheet with chip groups for body type, style, age, climate, lifestyle
  • Select profile options and tap Save → verify sheet dismisses and card subtitle updates
  • Tap "Claude API Key" → verify bottom sheet with password field, visibility toggle, Save & Connect / Remove key
  • Add a new clothing item → verify expanded color palette (14 colors in 2 rows), subcategory dropdown, fit and material chip selectors
  • Verify DRESS category is no longer available in category dropdowns
  • Verify AI auto-tag returns subcategory, fit, and material suggestions
  • Tap Licenses → opens GitHub LICENSE page in browser
  • Verify Version shows value from app manifest

Checklist

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

@jvsena42 jvsena42 enabled auto-merge March 26, 2026 20:32
- Add settingsRepository mock and new DB columns to WardrobeRepositoryImplTest
- Add subcategory/fit/material params to FakeWardrobeRepository.addItem
- Add @OptIn(ExperimentalForeignApi) to iOS DataStoreFactory

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
@jvsena42 jvsena42 merged commit 0c8bd53 into main Mar 26, 2026
1 check passed
@jvsena42 jvsena42 deleted the feat/settings branch March 26, 2026 20:57
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