- Bump catalog version to 5
- Reorganize grocery domain structure with refined category hierarchy
- Expand item definitions with enhanced metadata, aliases, and tagging
- Add comprehensive bilingual support across all domains and categories
- Include detailed emoji, color, and sort order specifications for improved UI presentation
- Extend coverage across fruits, vegetables, grains, condiments, beverages, dairy, meat, produce, and specialty items
- Expand from 418 to 3817 lines with detailed item definitions across grocery, pharmacy, hardware, technology, clothing, home, pets, auto, leisure, cleaning, gifts, and office domains
- Add extensive French item names with English aliases for bilingual search support
- Include emoji icons, color codes, sort orders, and tags for all domains, categories, and items
- Add specialized
- Add `ShoppingDomainEntity`, `CategoryEntity`, `CatalogItemEntity`, `ItemCategoryCrossRef` tables to database
- Increment database version to 8 with migration from v7
- Create `CatalogDao` with queries for domains, categories, items, and search
- Implement `CatalogSeedManager` to parse and insert JSON seed data on first launch
- Add catalog navigation routes
- Display region flag emoji next to list name in `ShoppingListCard` with mapping for all supported countries
- Show region flag and name subtitle in `ListSettingsScreen` settings tile when region is set
- Replace bottom save button with top-right check icon in `ListNameImageScreen` and `ListRegionScreen`
- Add `onSave` callbacks to persist list updates via `update
- Add `categoryOrder` field to `ShoppingListEntity` for storing custom category sequences
- Increment database version to 7
- Implement long-press drag gesture to reorder categories in `ListSortScreen` with visual feedback
- Add live preview card showing ordered categories with visibility indicators
- Apply custom category order in `ListDetailScreen` when rendering item groups
- Update `ListDetailViewModel
- Set TopAppBar containerColor to primary with white title, logo, and settings icon
- Apply primary containerColor to NavigationBar with white selected items and 70% opacity unselected items
- Replace safebite_logo_nobg.png with updated asset, remove old backup file
- Add `ShoppingListMemberEntity` table with foreign key cascade to shopping lists
- Add `backgroundResName`, `region`, `sortType`, `displayOrder`, `visibleCategories` fields to `ShoppingListEntity`
- Increment database version to 6
- Implement member CRUD operations in DAO and repository layers
- Add `observeMembers`, `addMember`, `updateMember`, `removeMember` methods across data/domain layers
- Update
- Add `splashScreenEnabled` preference to UserPreferences with default true
- Implement `SplashScreen` composable with animated logo, scale/fade transitions, and gradient background
- Add splash screen toggle in settings UI under "Interface" section
- Update navigation graph to conditionally show splash before dashboard when enabled
- Replace app launcher icons with SafeBite logo drawable
- Extract `ImageCropBottomSheet` component for reusable crop interface
- Remove inline `saveCroppedImage` helper in favor of centralized cropping flow
- Add tap-to-recrop functionality on existing item photos in detail sheet
- Implement crop state management with `cropBitmap`, `cropForNewItem`, and `cropForItemId` flags
- Pass `onRequestCrop` callback to `ItemDetailSheet` for both camera/gallery and existing
- Add `saveCroppedImage` helper to center-crop photos to square, resize to 512px, and compress to JPEG
- Apply cropping to both camera capture and gallery picker in `ListDetailScreen` and `ItemDetailSheet`
- Display custom item photos in tiles with `AsyncImage` and camera badge overlay
- Show full-width photos in item detail sheet
- Redesign onboarding "How it works" step
- Add camera/gallery photo capture for custom shopping list items with name and description fields
- Implement `addCustomItemWithImage` in `ListDetailViewModel` to create items with attached photos
- Add "Add to list" button in `ResultScreen` with list picker bottom sheet for scanned products
- Extend `ResultViewModel` with `addToList` method to save scanned products to shopping lists
- Add `PhotoSource
- Add `tag` field to `ShoppingListItemEntity` for visual tags (urgent, offre, whenever)
- Increment database version to 5
- Implement dashboard quick access cards showing shopping lists with remaining item counts
- Add tag selection buttons in item detail sheet with toggle functionality
- Display tag badges on item tiles with color-coded styling (danger for urgent, safe
- Add `note` field to `ShoppingListItemEntity` for quantity/description tracking
- Redesign `ListDetailScreen` with vertical hierarchy: active items, recently used section, catalog categories
- Replace swipe gestures with tap (mark bought/restore) and long-press (details sheet) interactions
- Implement `ItemDetailSheet` modal bottom sheet for editing notes,