20 Commits

Author SHA1 Message Date
173f9a6d0b feat: expand catalog seed data with comprehensive multi-domain item library covering 11 domains and 1000+ items with French/English aliases
- 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
2026-04-29 13:25:05 -04:00
bd9d01a6ee feat: add catalog domain/category browsing with seed data, implement navigation from shopping lists to catalog UI, add ProGuard rules for Moshi/Room
- 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
2026-04-29 08:52:19 -04:00
2cef0e399c feat: add region flag emojis to shopping lists UI, implement save actions in settings screens, add collapsible preview card in sort screen
- 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
2026-04-28 16:08:55 -04:00
ab1bf189b3 feat: add drag-to-reorder category sorting with live preview in shopping list settings, persist custom category order to database
- 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
2026-04-28 11:03:44 -04:00
18218ab023 feat: apply primary color theme to top and bottom navigation bars with white text/icons, update logo asset, bump version to 1.16.3 (build 23)
- 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
2026-04-28 09:57:35 -04:00
86af6467cc refactor: replace safebite_logo with safebite_logo_nobg drawable in splash and main screens, bump version to 1.16.0 (build 20) 2026-04-28 07:44:44 -04:00
7656fba134 feat: add shopping list member management, display order, and customization fields with drag-to-reorder UI
- 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
2026-04-28 07:24:59 -04:00
ec1c8e6940 feat: implement splash screen with user preference toggle, update app branding with SafeBite logo across UI
- 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
2026-04-27 21:54:13 -04:00
0e75c1888b feat: add SafeBite logo assets with adaptive icon support across all density buckets
- Add PNG logo drawable and bitmap wrapper for use in composables
- Generate adaptive icon resources with background/foreground layers for API 26+
- Include webp mipmap assets for hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi densities
- Add round icon variants and Play Store asset
2026-04-27 21:53:47 -04:00
76ad44a7ca refactor: replace zoom/pan image cropping with fixed-image draggable frame UI in ImageCropBottomSheet
- Remove transform gestures (zoom/pan) in favor of fixed ContentScale.Fit background image
- Implement draggable crop frame with corner handles for resize and center drag for repositioning
- Add `FrameHandle` composable with circular white/blue indicators at frame corners
- Replace complex scale/offset calculations with direct frame coordinate manipulation
- Enforce minimum frame size (48dp) and container
2026-04-27 07:05:46 -04:00
c8dff8df40 feat: add interactive image cropping with bottom sheet UI for shopping list item photos
- 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
2026-04-27 06:45:14 -04:00
48a9266942 feat: implement center-crop image processing for custom items, enhance onboarding UI with numbered step cards and allergen level selection
- 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
2026-04-26 18:47:11 -04:00
4ac951cf6e feat: implement photo-based item creation and product-to-list functionality with bottom sheet UI
- 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
2026-04-26 16:31:16 -04:00
8a19d46949 feat: add tag system to shopping list items, implement dashboard quick access cards, and enhance item detail sheet with photo picker
- 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
2026-04-26 15:23:26 -04:00
b68212b99c feat: add custom emoji field to shopping list items, expand catalog with 200+ items across 12 categories, and implement icon picker in item detail sheet
- Add `customEmoji` field to `ShoppingListItemEntity` for user-selected icons
- Increment database version to 4
- Reorganize catalog categories: add "Condiments & Épices", "Snacks & Bonbons", "Maison & Jardin"
- Expand catalog from ~50 to 200+ items with comprehensive product coverage across all categories
- Add detail tags (Urgent, Offre, Quand cela convient) and
2026-04-26 13:25:16 -04:00
a9eb582c93 refactor: replace LazyVerticalGrid with Column/Row layout in AllergenSelectionGrid for improved performance and layout control 2026-04-26 12:42:51 -04:00
1656b189f4 feat: redesign shopping list detail screen with Bring!-style interface, add item notes field, and implement bottom sheet for item management
- 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,
2026-04-26 12:03:17 -04:00
6ad4d64db1 feat: implement core application architecture, navigation system, database schema, and initial UI screens for SafeBite 2026-04-26 11:11:19 -04:00
134f23f9a7 first commit 2026-04-25 10:26:13 -04:00
83b92c942d Ajout de composants pour la gestion des allergènes et des éléments personnalisés dans l'interface utilisateur 2026-04-25 10:25:20 -04:00