veza/apps/web/CART_MIGRATION.md

31 lines
1.1 KiB
Markdown

# Audit des Consommateurs CartContext
**Objectif :** Migration vers Zustand (`src/stores/cartStore.ts`).
**Statut :** En cours.
## 1. Définition du Conflit
* **Legacy :** `src/context/CartContext.tsx`
* **Target :** `src/stores/cartStore.ts`
## 2. Liste des Consommateurs à Migrer
### Components
* `src/components/commerce/WishlistView.tsx`
* `src/components/layout/Navbar.tsx`
* `src/components/views/CartView.tsx`
* `src/components/views/CheckoutView.tsx`
* `src/components/views/MarketplaceView.tsx`
### Stories (Decorators)
* `src/components/commerce/WishlistView.stories.tsx`
* `src/components/layout/Navbar.stories.tsx`
### Tests
* `src/context/CartContext.test.tsx`
## 3. Analyse de Parité (Gap Analysis)
**Manquant dans CartStore :**
1. **Gestion des Licences :** `ProductLicense` n'est pas géré dans `addItem` ou le type `CartItem`.
2. **Unicité des Items :** `CartContext` génère un `cartId` unique (timestamp + product + license). `CartStore` se base uniquement sur `productId`.
* *Conséquence :* Impossible d'ajouter le même produit 2 fois avec 2 licences différentes dans le store actuel.