feat: add detail sheets for wardrobe items and outfits#8
Merged
Conversation
…t item resolution Add DeleteItem, UpdateItem intents to WardrobeViewModel and DeleteOutfit, UpdateOutfit intents to OutfitViewModel for the detail sheet actions. Store full clothing items list in OutfitState for outfit detail sheet. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bottom sheet showing item photo, name, category, and properties (Color, Season, Fit, Subcategory, Material) with edit/delete buttons. Responsive layout for phone (280dp photo) and tablet (360dp photo). Make display helpers internal for reuse across detail sheets. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Bottom sheet showing outfit name, horizontal scrollable item preview cards with photos, properties (items count, season), and edit/delete buttons. Responsive for phone (200dp cards) and tablet (300dp cards). Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Tap on clothing card opens ItemDetailSheet, tap on outfit card opens OutfitDetailSheet. Delete from sheet triggers single-item delete. Edit from sheet dismisses detail and opens add/create sheet pre-filled. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
AddItemSheet accepts optional existingItem to pre-fill form fields for editing. CreateOutfitSheet accepts optional existingOutfit to pre-fill outfit name. Both show "Save Changes" when in edit mode. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Add ItemDetailSheet and OutfitDetailSheet SwiftUI views matching the design. Wire into WardrobeScreen and OutfitsScreen with tap-to-detail. Add edit mode to AddItemSheet and CreateOutfitSheet with pre-filling. Update ViewModel wrappers with deleteItem, updateItem, deleteOutfit, updateOutfit methods. Add Identifiable conformance for KMP models. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Extract sub-composables from ItemDetailContent and OutfitDetailContent to reduce method length and complexity. Extract form state class from AddItemForm. Fix long lines, return count, and too-many-functions issues. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Add detail bottom sheets for clothing items and outfits on both Android (Compose) and iOS (SwiftUI). Tapping an item or outfit opens a detail sheet showing photo, properties, and edit/delete actions. Edit opens the existing add/create sheets pre-filled with the item's data. Delete shows a confirmation dialog before removing.
Changes
DeleteItem,UpdateItemintents toWardrobeViewModelandDeleteOutfit,UpdateOutfitintents toOutfitViewModelfor single-item operationsallClothingItemstoOutfitStateto resolve outfit items for the detail sheetItemDetailSheet(Compose) — photo (280dp phone / 360dp tablet), name+category, 5 property rows (Color, Season, Fit, Subcategory, Material), edit/delete buttonsOutfitDetailSheet(Compose) — title, horizontal scrollable item cards (200dp phone / 300dp tablet), properties (Items count, Season), edit/delete buttonsWardrobeScreenandOutfitsScreen— tap opens detail, long press still enters selection modeAddItemSheetandCreateOutfitSheetwithexistingItem/existingOutfitparams for pre-filling fieldsItemDetailSheet.swiftandOutfitDetailSheet.swift(SwiftUI) with matching designIdentifiableconformance for KMPClothingItemandOutfitmodels in iOSdotColor,displayLabel,displayName) internal for reuseTest plan
Checklist
./gradlew detektpasses🤖 Generated with Claude Code