- Extend Sheets read range from A1:Z to A1:AZ (52 columns)
- Parse longueur, largeur, marque, famille, sousFamille, prixRemise, specificFields
- Add /api/products/sheet-info endpoint to fetch product data by ref
- Auto-fill family and dimensions on product selection in all 3 mockup entry points
- Strengthen carrelage mockup prompt with strict tile-size consistency rules
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Les associations colonne→métachamp sont sauvegardées dans data/metafield-resolutions.json
et rechargées automatiquement à la prochaine création de produits.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sans le type, on envoyait toujours 'single_line_text_field' à Shopify,
causant une erreur quand le métachamp existant est de type number_decimal.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Remplace le <select> par un input filtrant en temps réel sur le nom,
la clé et le namespace — utile quand il y a beaucoup de métachamps.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Ajoute alphaThreshold (défaut 30) — les pixels dont l'alpha dépasse ce seuil
sont rendus opaques avant la composition sur fond blanc, évitant que le verre
ou les surfaces translucides soient supprimés par le modèle IA.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Chargement du catalogue Shopify au début de l'exécution (fetchAllShopifyProducts)
- Vérification par SKU (ref) : si déjà présent dans Shopify → skipped, pas de création
- Nouveau type d'événement 'skipped' dans CreationStreamEvent
- CreationProgress affiche les produits ignorés en amber avec le SKU concerné
- Résumé final inclut le compte de produits ignorés
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- GET /api/sheets/tabs : liste les onglets Google Sheets disponibles
- readSheetProducts(tab?) et fetchPendingProducts(set, tab?) acceptent un filtre
- /api/sync/preview?tab=xxx et /api/creation/preview?tab=xxx filtrent sur un onglet
- Composant FamilySelector : grille de boutons chargeant les onglets dynamiquement
- Page Sync : étape 0 de sélection famille avant l'analyse
- Page Création : étape famille avant analyse, badge de famille sélectionnée
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- table-fixed avec colgroup pour éviter que la colonne Ref écrase les autres
- overflow-x-auto pour permettre le scroll si nécessaire
- parseSheetRows : ignore les refs invalides (< 2 chars, caractères spéciaux, mots réservés)
- parseSheetRows : ignore les lignes sans prix valide (séparateurs, notes)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>