- Upload photo (context=product → thumbnail 150×150) dans CatalogueModal
- Miniature affichée dans la liste et dans le formulaire
- Schémas ProductCreate/Update/Response exposent image_path + thumbnail_path
- Backend sert /media/* via StaticFiles (FastAPI)
- Proxy /media → backend dans vite.config et nginx.conf
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Supprime le bouton "Nouvelle tâche" laptop, remplace par le même FAB
circulaire que mobile — position adaptée (bottom: 72px mobile, 24px laptop).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Liste scrollable alphabétique filtrée en temps réel, sélection en un tap
(pré-remplit l'unité), ou saisie libre si article hors catalogue.
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- UX : vue par défaut = liste en cours, landing si pas de liste (+ vert +
baguette magique), suppression des vues "listes" et "mode magasin" séparés
- Articles cochés barrés et déplacés en bas, tri alphabétique par section
- Nom de liste auto avec numéro de semaine ISO (S21 2026)
- Wake lock activé dès qu'une liste est ouverte
- CRUD boutiques : POST/PATCH/DELETE /stores + modal Boutiques
- CRUD articles : POST/PATCH/DELETE /products + modal Catalogue
- Champs enrichis produits : description, prix, quantité/unité, boutique défaut
- Champs enrichis boutiques : url, store_type (alimentaire, bricolage…)
- Migration 003 : nouveaux champs en base
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- TodoForm : domaines en chips multi-select colorés, priorité en 3 boutons
colorés (haute/moyenne/basse), date initialisée à aujourd'hui, description
et URL toujours visibles, boutons photo et GPS
- TodosPage : suppression filtres domaine/priorité, tags colorés par domaine
dans les lignes, userSelect:none, groupage multi-domaines
- todos.ts : ajout domains[], photo_path, gps_lat/lng dans les interfaces TS
- index.html : viewport maximum-scale=1.0, user-scalable=no
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Ajoute location /api/ dans nginx.conf pour proxifier les requêtes API
- Crée ShoppingPage et NotesPage (placeholders phase suivante)
- Enregistre les routes /shopping et /notes dans App.tsx
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
- Ajoute postcss.config.js et tailwind.config.ts avec tokens CSS mappés
- Copie tokens.css dans frontend/src/design-system/
- Met à jour index.css avec import tokens + directives Tailwind
- Adapte ui-kit.jsx en ui-kit.tsx (UMD → ESM, exports nommés)
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Mise en place de la structure de base du frontend HomeHub : React 18,
Vite 5, TypeScript strict, React Router v6, Tailwind CSS et vite-plugin-pwa
installés. Composants placeholder Layout et HomePage pour que le build
compile sans erreur. Build de production vérifié (dist/ généré, 0 erreur TS).
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>