Commit Graph
257 Commits
Author SHA1 Message Date
LogiFlowandClaude Opus 5.5 b964e137bf feat(ui) : refonte du menu latéral et de la navigation téléphone (#569)
Menu PC et navigation téléphone tirés d'une configuration unique
(client/src/lib/navigation.ts), selon docs/PLAN-OPTIMISATION-WEBUI.md
(P1 § 2.1 et § 2.6).

- menu regroupé par usage (Au quotidien, Fournisseurs, Planning et infos,
  Administration), libellés clarifiés, chaque icône une seule fois ;
  droits d'accès PC inchangés
- l'envoi de BAP quitte le menu : bouton « Envoyer un BAP » (admin) dans
  l'en-tête du Rapprochement BL / factures
- téléphone : 4 raccourcis selon le rôle + « Menu » avec tous les modules
  autorisés, magasin, profil et déconnexion ; pages sans version mobile
  affichées dans le cadre téléphone
- titre de l'onglet du navigateur tiré du menu
- onglets du Rapprochement lisibles sur téléphone
- suppression de PhoneBottomNav.tsx (inutilisé)

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01JrRFddV2BaqDCxGY1j52UJ
2026-10-10 09:35:35 +02:00
Claude d384271a30 fix(meteo): rétablir les appels séquentiels à l'API météo
La comparaison avec l'année dernière avait disparu du widget météo depuis
l'optimisation des chargements. La route /api/weather/current interrogeait
Visual Crossing pour aujourd'hui et pour l'année dernière en parallèle :
la seconde requête d'une même clé peut alors être refusée (limite de
requêtes simultanées), laissant previousYear à null. Les deux appels
redeviennent séquentiels comme avant ; seules les lectures du cache local
restent en parallèle.

Le widget retrouve son comportement d'origine (plus de cache de 30
minutes ni de retry désactivé), pour qu'un échec ponctuel ne masque plus
la comparaison pendant une demi-heure. Les erreurs de l'API journalisent
désormais la raison renvoyée par Visual Crossing (quota, plan, clé).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MsDJjQrAggcJwbbBtKhgyb
2026-10-04 18:13:03 +00:00
Claude 5d3e5357a0 perf(client): pages chargées à la demande et un seul appel /api/user
- Routes en React.lazy (sauf connexion et accueil) avec un Suspense dans
  la zone de contenu ; recharts n'est plus préchargé. JS initial :
  1,72 Mo -> 625 Ko (183 Ko gzip). Rechargement automatique unique si un
  ancien fichier JS a disparu après un déploiement, et ErrorBoundary par
  page pour garder le menu affiché en cas d'erreur.
- Authentification unifiée sur le cache React Query ['/api/user'] : un
  seul GET /api/user pour toute l'application (au lieu de 4 à 5 par
  page), plus de rechargement complet après la connexion.
- Pas de nouvel essai sur les erreurs 4xx ; fournisseurs et magasins en
  cache 5 minutes ; valeur du StoreContext mémoïsée et redimensionnement
  qui ne re-rend que lorsque le palier d'écran change.
- Pages : requêtes inutilisées ou en double supprimées, appels lancés
  seulement une fois l'utilisateur connu, invalidations ciblées au lieu
  de rechargements complets, filtres et tris mémoïsés, anciennes données
  gardées (et estompées) pendant un changement de filtre ou de mois,
  recherche DLC mobile temporisée, vérifications de factures à
  concurrence bornée, navigation interne sans rechargement de la page.
- index.html : script de bannière Replit retiré, lang="fr".

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01MsDJjQrAggcJwbbBtKhgyb
2026-10-03 04:29:51 +00:00
Claude 4220131432 fix(types): bring real code to zero TypeScript errors, fix three latent bugs
Continues the cleanup from 164 errors down to 88, all of which now sit in
MemStorage — the in-memory dev mock — documented as known debt. Production
server code and the entire client are at zero errors.

Three genuine defects surfaced by the types and fixed:
- deleteAnnouncement returned void while routes check the result and answer
  404 "not found" on falsy: deleting an announcement succeeded in DB but the
  API reported failure on the fallback paths; it now returns a real boolean
- AnnouncementMemoryStorage declared getAnnouncement twice; the first
  implementation was dead at runtime (second definition wins) and is removed
- one route called storage.getDeliveryById(), a method that does not exist,
  crashing with a TypeError whenever hit; it now calls getDelivery()

Everything else is type-level only (annotations, null-to-undefined for
inline styles, honest signatures for markClientCalled's comment parameter
and the invoice verification result's invoiceAmountTTC field), verified
behavior-neutral: client build, production server bundle and the SMTP
end-to-end test all pass unchanged.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FHdE9nEh8zHhQNGpCgrtYe
2026-08-14 16:42:24 +00:00
MichaelandClaude Sonnet 4.6 b8ecacee3b merge(main): resolve conflicts keeping codefou + email on suppliers
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 11:14:35 +02:00
MichaelandClaude Sonnet 4.6 805664dc32 feat(contacts): add contacts page with per-store management and supplier email field
- New contacts table (group_id, name, role, phone, email, notes) per store
- Suppliers table: add email field with form and card display
- Page /contacts: two-column layout (suppliers read-only / free contacts CRUD)
- Permissions: read all roles, create/edit/delete admin + directeur + manager
- Admin can filter contacts by store; other roles see their own stores only
- Migration SQL: 20260515_add_contacts_and_supplier_email.sql

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-15 10:44:39 +02:00
Michael 0255dc4aba feat: add BAP file upload functionality to sidebar with processing status modal 2026-04-02 14:58:17 +02:00
Michael 8aa5dd1c83 feat: add mobile-optimized customer orders page with creation form and article lookup integration 2026-04-02 14:25:08 +02:00
Michael 7e2eed93df feat: add CustomerOrderForm component with automated product lookup and validation 2026-04-02 14:01:31 +02:00
Michael 95a5a2facc feat: add CustomerOrderForm component with automated product lookup and supplier matching 2026-04-02 13:54:29 +02:00
Michael 22897ede48 feat: add CustomerOrderForm component with automated product lookup and supplier matching 2026-04-02 13:37:16 +02:00
Michael 576db2d7f4 feat: implement customer order form with automated product lookup and mobile-responsive order page 2026-04-02 11:50:46 +02:00
Michael 6df51a3934 feat: add CustomerOrderForm component with automated article lookup and supplier matching 2026-04-02 11:40:50 +02:00
Michael 58dde2f785 feat: implement CustomerOrderForm component with automated product lookup and create mobile-responsive customer orders page 2026-04-02 11:36:02 +02:00
Michael 475c52cede feat: implement dashboard page with store-specific stats, announcement modals, and DLC alerts 2026-04-02 09:25:09 +02:00
Michael fcf8518684 feat: implement RouterProduction component to handle environment-aware desktop and mobile routing 2026-04-02 09:00:00 +02:00
Michael 4318bb3b5c feat: implement production router with mobile/desktop support and add sidebar navigation component 2026-04-02 08:54:39 +02:00
LogiFlow ea8aed7e01 Merge pull request #560 from R0m1k3/1.1
1.1
2026-02-10 09:44:46 +01:00
Michael cb1a1a933c fix(dlc): filter stockEpuise products from DLC stats and invalidate stats cache 2026-02-10 09:37:02 +01:00
LogiFlow 5d07344051 Merge pull request #552 from R0m1k3/1.1
1.1
2026-01-12 14:13:59 +01:00
Michael 78adc2c5ae feat(BAP): remplacer destinataire Celia par Jeremy 2026-01-12 14:13:21 +01:00
Michael 8772e7e0b2 feat(BAP): remplacer destinataire Celia par Jeremy 2026-01-12 14:09:25 +01:00
LogiFlow 897985eece Merge pull request #551 from R0m1k3/1.1
feat: Implement new dashboard, publicity management, and calendar pag…
2026-01-06 11:40:16 +01:00
Michael 78b53f576b feat: Implement new dashboard, publicity management, and calendar pages with corresponding server routes. 2026-01-06 11:39:28 +01:00
LogiFlow cfb9498a4f Merge pull request #550 from R0m1k3/1.1
feat: add Publicities page with comprehensive management functionalit…
2026-01-05 17:32:34 +01:00
Michael eb3fb119ee feat: add Publicities page with comprehensive management functionalities including list/calendar views and CRUD operations. 2026-01-05 17:10:10 +01:00
LogiFlow 786b139c37 Merge pull request #545 from R0m1k3/1.1
feat: add mobile pages for SAV, customer orders, credit notes, and DL…
2025-12-10 16:06:24 +01:00
Michael 676d8cee96 feat: add mobile pages for SAV, customer orders, credit notes, and DLC, along with a production router. 2025-12-10 16:04:01 +01:00
LogiFlow f03682baa9 Merge pull request #544 from R0m1k3/1.1
feat: add mobile pages for customer orders, publicities, and calendar…
2025-12-10 15:42:14 +01:00
Michael 75be8e75b3 feat: add mobile pages for customer orders, publicities, and calendar, and introduce a production router component. 2025-12-10 15:41:47 +01:00
LogiFlow 8239506864 Merge pull request #536 from R0m1k3/1.1
feat: add `MobileApp` wrapper with `StoreProvider` and integrate mobi…
2025-12-10 14:03:09 +01:00
Michael 7c7a4478c3 feat: add MobileApp wrapper with StoreProvider and integrate mobile-specific routing for mobile pages. 2025-12-10 14:02:37 +01:00
LogiFlow ee423ef2c2 Merge pull request #534 from R0m1k3/1.1
feat: introduce `RouterProduction` component for authenticated and re…
2025-12-10 13:50:29 +01:00
Michael 583a2469c9 feat: introduce RouterProduction component for authenticated and responsive application routing. 2025-12-10 13:50:01 +01:00
LogiFlow 4149202c6a Merge pull request #533 from R0m1k3/1.1
feat: add mobile layout and bottom navigation components
2025-12-10 13:42:30 +01:00
Michael 946b5f30bd feat: add mobile layout and bottom navigation components 2025-12-10 13:42:05 +01:00
LogiFlow 25b6372e7c Merge pull request #532 from R0m1k3/1.1
feat: add mobile tasks page with creation/edit form and new layout co…
2025-12-10 13:25:52 +01:00
Michael 69773e3d2f feat: add mobile tasks page with creation/edit form and new layout component 2025-12-10 13:25:24 +01:00
LogiFlow e912de9c9c Merge pull request #528 from R0m1k3/1.1
feat: introduce responsive task management with a dedicated mobile ta…
2025-12-10 12:52:59 +01:00
Michael b51687f301 feat: introduce responsive task management with a dedicated mobile tasks page and form 2025-12-10 12:51:58 +01:00
Michael 6b719fb111 feat: implement Sidebar component including navigation, user details, logout, and BAP document upload with webhook integration. 2025-12-08 09:12:45 +01:00
michaelschal 6e4f0289f3 Reduce vertical spacing within the sidebar navigation elements
Adjust padding and margin values in Sidebar.tsx to decrease vertical space between navigation items and sections.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 4b811e9d-0853-4094-95a1-246dfe207fec
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/oKSi9br
2025-11-04 13:23:36 +00:00
michaelschal b1c1e2989e Organize navigation menu into logical sections for better user experience
Refactor the Sidebar component in client/src/components/Sidebar.tsx to group navigation links into sections like "GESTION PRINCIPALE", "LOGISTIQUE", and "ANALYSES" for improved UI organization.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 1ca378ce-ae32-4181-ba52-5042a0f06d7a
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/oKSi9br
2025-11-04 13:15:05 +00:00
michaelschal 618edbfc25 Rearrange sidebar navigation to place payment schedule below reconciliation
Update Sidebar component in client/src/components/Sidebar.tsx to reorder navigation items.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 80accc69-9d97-4d0c-bcc0-18a3824d526a
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/WZFf6za
2025-11-04 12:54:08 +00:00
michaelschal c4eca6e60f Add ability to manually set due dates for tasks within the platform
Update ReconciliationModal to include a date input for due dates, allowing manual entry and proper formatting.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: baf07a83-19d3-42bf-89b1-71e1469a5b03
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/y5yWvCQ
2025-11-04 06:25:41 +00:00
michaelschal 6f298c4df7 Add payment schedule view with filtering and supplier payment methods
Adds a new payment schedule page to display due dates and amounts, incorporating supplier payment methods and date filtering.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: e9c65355-546d-41f7-885b-728c905f4497
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/9uIte90
2025-11-03 16:02:12 +00:00
michaelschal 0cf817e03f Created a checkpoint
Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Event-Id: 0a1b1aa1-ca7d-4f74-8ecb-8057b6feb3f6
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/7RN8LqE
2025-10-31 09:03:53 +00:00
michaelschal 163ea1092f Improve date selection functionality on publicity forms
Update Popover component to be non-modal for date inputs in PublicityForm.tsx.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/zt9Qfys
2025-10-01 14:29:30 +00:00
michaelschal d41dc27023 Refresh DLC product data when the selected store changes
Invalidates the "/api/dlc-products" query when `selectedStoreId` changes to ensure fresh DLC product data is fetched.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: intermediate_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/Q8UjAXl
2025-09-30 16:28:11 +00:00
michaelschal a2ab38a412 Add quality control process for supplier deliveries
Introduce a new 'requires_control' flag for suppliers, enabling a quality control workflow for deliveries. This includes UI updates, database schema changes, and API endpoints to manage and track control validation.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 1e4433b5-47ab-464c-b663-fea2e53367dd
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/1957c339-2757-4d1f-8e92-e9f71a1ce58e/1e4433b5-47ab-464c-b663-fea2e53367dd/e7P7sOc
2025-09-30 08:22:02 +00:00