veza/apps/web/CART_MIGRATION.md

1.1 KiB

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.