Commit Graph

12 Commits

Author SHA1 Message Date
Claude
000e352ef9 Implement 5 UX enhancements for ingredient management
This commit implements the requested enhancements for the ingredient
quick-add system and batch management:

**1. Duplicate Detection**
- Real-time Levenshtein distance-based similarity checking
- Shows warning with top 3 similar ingredients (70%+ similarity)
- Prevents accidental duplicate creation
- Location: QuickAddIngredientModal.tsx

**2. Smart Category Suggestions**
- Auto-populates category based on ingredient name patterns
- Supports Spanish and English ingredient names
- Shows visual indicator when category is AI-suggested
- Pattern matching for: Baking, Dairy, Fruits, Vegetables, Meat, Seafood, Spices
- Location: ingredientHelpers.ts

**3. Quick Templates**
- 10 pre-configured common bakery ingredients
- One-click template application
- Templates include: Flour, Butter, Sugar, Eggs, Yeast, Milk, Chocolate, Vanilla, Salt, Cream
- Each template has sensible defaults (shelf life, refrigeration requirements)
- Location: QuickAddIngredientModal.tsx

**4. Batch Creation Mode**
- BatchAddIngredientsModal component for adding multiple ingredients at once
- Table-based interface for efficient data entry
- "Load from Templates" quick action
- Duplicate detection within batch
- Partial success handling (some ingredients succeed, some fail)
- Location: BatchAddIngredientsModal.tsx
- Integration: UploadSalesDataStep.tsx (2 buttons: "Add One" / "Add Multiple")

**5. Dashboard Alert for Incomplete Ingredients**
- IncompleteIngredientsAlert component on dashboard
- Queries ingredients with needs_review metadata flag
- Shows count badge and first 5 incomplete ingredients
- "Complete Information" button links to inventory page
- Only shows when incomplete ingredients exist
- Location: IncompleteIngredientsAlert.tsx
- Integration: DashboardPage.tsx

**New Files Created:**
- ingredientHelpers.ts - Utilities for duplicate detection, smart suggestions, templates
- BatchAddIngredientsModal.tsx - Batch ingredient creation component
- IncompleteIngredientsAlert.tsx - Dashboard alert component

**Files Modified:**
- QuickAddIngredientModal.tsx - Added duplicate detection, smart suggestions, templates
- UploadSalesDataStep.tsx - Integrated batch creation modal
- DashboardPage.tsx - Added incomplete ingredients alert

**Technical Highlights:**
- Levenshtein distance algorithm for fuzzy name matching
- Pattern-based category suggestions (supports 100+ ingredient patterns)
- Metadata tracking (needs_review, created_context)
- Real-time validation and error handling
- Responsive UI with animations
- Consistent with existing design system

All features built and tested successfully.
Build time: 21.29s
2025-11-06 15:39:30 +00:00
Claude
3a1a19d836 Complete AI inventory step redesign & add recipes next button
 RECIPES STEP FIX:
- Add onComplete prop handling to RecipesSetupStep.tsx
- Add "Next" button when recipes.length >= 1
- Show success message with recipe count
- Button hidden when in adding mode

🎯 AI INVENTORY STEP - COMPLETE REDESIGN:
Following suppliers/recipes pattern with list-based management and deferred creation.

**NEW DATA MODEL**:
- InventoryItemForm interface with isSuggested tracking
- Items stored in list (NOT created in database yet)
- Support both AI suggestions and manual entries

**NEW UI PATTERN**:
- List view with expandable cards showing AI confidence badges
- Edit/Delete buttons per item (like suppliers)
- "Add Ingredient Manually" button with full form
- Next button creates ALL items at once (deferred creation)

**KEY CHANGES**:
1. Items added to list first (not created immediately)
2. Can edit/delete both AI and manual items before creation
3. Manual ingredient addition form with full validation
4. All items created when clicking "Next" button
5. Progress indicator during creation
6. Sales data import happens after inventory creation

**UI IMPROVEMENTS**:
- "Why This Matters" info box explaining workflow
- Ingredient cards show: name, category, stock, cost, shelf life, sales data
- AI confidence badges (e.g., "IA 95%")
- Visual success indicator when minimum met
- Gradient form section matching recipe template pattern

**FILES**:
- UploadSalesDataStep.tsx: Completely rewritten (963 lines)
- RecipesSetupStep.tsx: Added Next button (2 lines)
- REDESIGN_SUMMARY.md: Complete documentation of changes

Build:  Success (21.46s)
Pattern: Now matches suppliers/recipes workflow exactly
Creation: Deferred until "Next" click (user can review/edit first)
2025-11-06 15:09:23 +00:00
Claude
8be364ef81 Fix recipes step next button & start AI inventory redesign
🔧 Recipes Step Fix:
- Add onComplete prop handling to RecipesSetupStep
- Add "Next" button when minimum requirement met (recipes.length >= 1)
- Show success indicator with recipe count
- Button only visible when not in adding mode

🚧 AI Inventory Step Redesign (In Progress):
- Updated InventoryItem interface to support both AI suggestions and manual entries
- Added new fields: id, isSuggested, isExpanded, low_stock_threshold, reorder_point
- Modified AI suggestion mapper to calculate inventory management defaults
- Next: Need to redesign UI from checkbox-grid to expandable-card list
- Next: Add manual ingredient addition form
- Next: Move inventory creation from button to onComplete/onNext handler

This is work in progress - UI redesign not yet complete.
2025-11-06 15:01:24 +00:00
Claude
34afbd0b43 Unify AI suggestions step UI with recipe step design
 Complete UI redesign of UploadSalesDataStep to match beautiful recipe step pattern:
- Add "Why This Matters" info box with icon and explanation
- Replace summary section with clean progress indicator showing count and success state
- Change product list from vertical layout to responsive 2-column grid
- Implement custom checkboxes with visual checkmark instead of native inputs
- Separate edit form into gradient-background section (matching recipe templates)
- Update file format guide colors from hardcoded blue to CSS variables
- Clean up actions sections and remove unnecessary comments
- Add emojis for visual interest (❄️ refrigeration, 🧊 freezing, 🌿 seasonal, 📊 sales)
- Improve spacing, hierarchy, and overall visual consistency throughout

The AI suggestions step now has the same beautiful, modern, and easy-to-use
UI/UX as the recipe step, providing a consistent onboarding experience.
2025-11-06 14:36:10 +00:00
Claude
2974ff3dbf Implement supplier product/price association & unify onboarding UI
MAJOR FEATURES IMPLEMENTED:

1.  CRITICAL: Supplier Product/Price Association
   - Created SupplierProductManager component (438 lines)
   - Multi-select product picker from inventory
   - Price entry with unit of measure and min quantity
   - Expandable UI per supplier (collapsed by default)
   - Full CRUD operations via existing API hooks
   - Required for automatic Purchase Order (PO) creation
   - Warning shown if supplier has no products

2.  Step Re-Ordering: Inventory Before Suppliers
   - Manual path: inventory-setup now comes BEFORE suppliers-setup
   - AI path: Already has inventory from sales data upload
   - Ensures products exist before supplier association
   - Critical workflow fix identified by user

3.  UI/UX Unification
   - Unified badge styles across AI suggestions
   - Changed hardcoded colors to CSS variables
   - Consistent rounded-full badge design
   - Added flex-wrap for responsive badges

IMPLEMENTATION DETAILS:

SupplierProductManager.tsx (NEW - 438 lines):
- useSupplierPriceLists() - Fetch existing products for supplier
- useIngredients() - Fetch all available inventory items
- useCreate/Update/DeleteSupplierPriceList() mutations
- Expandable UI: Collapsed shows count, expanded shows management
- Product selection: Checkboxes with inline price forms
- Form fields: unit_price (required), unit_of_measure, min_order_quantity
- Validation: Price must be > 0, unit required
- Warning: Shows if no products added (blocks PO creation)

UnifiedOnboardingWizard.tsx:
- inventory-setup moved before suppliers-setup
- inventory-setup condition: dataSource === 'manual'
- suppliers-setup condition: Inventory exists (AI stockEntryCompleted OR manual inventoryCompleted)
- Ensures products always exist before supplier association

SuppliersSetupStep.tsx:
- Added SupplierProductManager import
- Changed supplier card layout from flex items-center to block
- Integrated ProductManager component into each supplier card
- Product management appears below contact info, above edit/delete

UploadSalesDataStep.tsx:
- Updated badge colors: blue-100/blue-800 → CSS variables
- Changed bg-[var(--bg-tertiary)] → bg-[var(--bg-primary)]
- Added flex-wrap to badge container
- Consistent rounded-full design

FLOW IMPROVEMENTS:

AI-Assisted Path:
Registration → Bakery Type → Data Source → Tenant Setup →
Upload Sales → Categorize → Enter Stock → **Suppliers (with products)** →
ML Training → Complete

Manual Path:
Registration → Bakery Type → Data Source → Tenant Setup →
**Inventory Setup → Suppliers (with products)** → Recipes → Processes →
ML Training → Complete

BENEFITS:
 Automatic PO creation now possible
 System knows supplier-product relationships
 Prices tracked for cost analysis
 Logical workflow (products before suppliers)
 Unified, consistent UI across onboarding
 Critical missing feature implemented

Build: Successful (21.73s)
Files: 4 changed (3 modified, 1 new)
Lines: +438 new component, ~50 lines modified
2025-11-06 14:09:10 +00:00
Urtzi Alfaro
394ad3aea4 Improve AI logic 2025-11-05 13:34:56 +01:00
Urtzi Alfaro
05da20357d Improve teh securty of teh DB 2025-10-19 19:22:37 +02:00
Urtzi Alfaro
dbb48d8e2c Improve the sales import 2025-10-15 21:09:42 +02:00
Urtzi Alfaro
38fb98bc27 REFACTOR ALL APIs 2025-10-06 15:27:01 +02:00
Urtzi Alfaro
ddb75f8e55 Simplify the onboardinf flow components 4 2025-09-08 22:28:26 +02:00
Urtzi Alfaro
c8b1a941f8 Simplify the onboardinf flow components 2 2025-09-08 21:44:04 +02:00
Urtzi Alfaro
2e1e696cb5 Simplify the onboardinf flow components 2025-09-08 17:19:00 +02:00