Commit Graph

26 Commits

Author SHA1 Message Date
David
856531da5d fix resolve 2026-09-14 20:02:12 +02:00
David
76d940d73b feat: ajouter l'onglet Historique des devis et remplacer le statut Paiement en attente
Le statut PENDING_PAYMENT ne designe plus un paiement en attente mais un devis :
une reservation construite dont les frais de booking ne sont pas encore regles.
L'enum backend devient QUOTE, converti en place par migration.

Les deux onglets se partagent desormais la meme liste :
- « Reservations » n'affiche que PENDING, ACCEPTED et REJECTED ;
- « Historique des devis » regroupe QUOTE, PENDING_BANK_TRANSFER et CANCELLED,
  avec les actions propres a un devis (modifier, payer, supprimer).

La table, l'export et les filtres sont extraits dans BookingListView pour eviter
de dupliquer la page entre les deux vues.

Tableau de bord :
- l'alerte « Paiement en attente » disparait des points a traiter, les devis non
  regles ne bloquant aucun envoi en cours ;
- « Sans reponse du transporteur » devient « En attente du transporteur ».

Migration verifiee en transaction annulee sur la base de dev : les lignes
PENDING_PAYMENT deviennent QUOTE, l'enum et le defaut de colonne suivent.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01NZJ5aowZJVAcyPZw5TiNEm
2026-09-14 11:43:57 +02:00
David
5185dfb405 feat(ui): reecrire la politique de confidentialite et celle des cookies
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:58 +02:00
David
abe3bfe9ae feat(ui): refonte du menu et de la page de notifications
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:56 +02:00
David
672abea1be fix(ui): traduire les erreurs d API au lieu de les afficher brutes
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:55 +02:00
David
8957eeb511 feat(ui): console d assistant pour l administration
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:54 +02:00
David
b3564a19f6 feat(ui): action de suppression dans la liste des reservations
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:53 +02:00
David
f0eb45131b feat(ui): espace de conversation de l assistant
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018BAUeCFpDkRD6tU5wGsc1C
2026-09-07 21:40:52 +02:00
David
acf77b11c9 fix video and landing page 2026-09-01 17:19:01 +02:00
David
8b294d6ed1 fix design 2026-08-13 17:43:11 +02:00
David
84c34bdc21 fix ui update 2026-08-13 12:26:46 +02:00
David
af9dae72d7 fix grille tarif 2026-08-12 13:09:48 +02:00
David
f7427825d1 feat(bookings): block new reservations on free plan limit + upgrade CTA
Le plan gratuit (BRONZE) est limite a maxShipmentsPerYear (5/an). Cote frontend,
rien ne le refletait: le bouton 'Nouvelle Reservation' restait actif. Ajout d'un
hook useReservationQuota (limite du plan vs reservations de l'annee) qui:
- remplace le bouton 'Nouvelle Reservation' par un bouton 'Ameliorer mon
  abonnement' + banniere sur la liste des reservations quand la limite est
  atteinte;
- bloque la page de recherche (nouvelle resa) avec un ecran d'upgrade, sauf en
  mode edition d'une resa existante.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-03 17:02:56 +02:00
David
6cdbf29bf7 feat(booking-edit): reprise via le parcours existant pré-rempli
Remplace la page d'édition autonome par une reprise du parcours de réservation :
"Modifier" ré-ouvre la recherche pré-remplie (origine/destination/volume/poids/
palettes reconstruits), l'utilisateur ajuste si besoin, choisit une compagnie
(résultats) et passe au paiement — la réservation existante est mise à jour au
lieu d'en créer une nouvelle.

- Backend: PATCH /csv-bookings/:id/rate + UpdateCsvBookingRateDto + service
  updateBookingRate + domaine editFromRate (carrier/route/conteneur/transit/
  cargo/prix modifiables avant paiement).
- Front: search-advanced pré-rempli via query (+ editBookingId, démarre à
  l'étape colis) ; results en mode édition met à jour puis redirige vers /pay ;
  liens "Modifier" (liste, modale, paiement) pointent vers le parcours ;
  suppression de la page /booking/:id/edit autonome.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-02 14:36:19 +02:00
David
7234343e20 feat(bookings): Phase 2 edition avant paiement + filtre + ergonomie
- Edition d'une reservation avant paiement: page /booking/:id/edit
  (volume, poids, palettes, notes + gestion documents), endpoint
  PATCH /csv-bookings/:id/details (owner + PENDING_PAYMENT), methode
  domaine editDetails. Acces "Modifier" depuis la liste, la modale detail
  et la page de paiement.
- Filtre "A finaliser" (PENDING_PAYMENT + PENDING_BANK_TRANSFER) + libelles
  et couleurs de tous les statuts.
- Tableau des reservations: 6 colonnes + colonne Actions collante a droite
  (plus de scroll horizontal pour atteindre Payer/Voir).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:30:05 +02:00
David
19b96517d2 fix(bookings,blog): Phase 1 correctifs test utilisateur
- Telechargement docs transporteur: proxy de streaming API (fin des URLs
  presignees MinIO injoignables depuis l'exterieur)
- Documents: ajout de l'action "Supprimer" (endpoint DELETE deja existant)
- Blog: suppression reelle de l'image de couverture (null explicite bout en bout)
- Blog: le bouton Retour navigateur ferme l'editeur au lieu de quitter vers Logs
- Paiement: bouton Retour revient au contexte precedent (router.back)

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-01 13:20:33 +02:00
David
96aa140207 fix remuneration 2026-06-18 00:17:44 +02:00
David
5aed7d81ce fix mdp see 2026-06-13 12:01:19 +02:00
David
c6eaaf354a fix admin page 2026-06-13 11:53:27 +02:00
David
1906161d37 fix blog and animation connexion 2026-06-11 19:18:56 +02:00
David
295874e11f fix: rework org admin form with full business-rule validation 2026-06-07 18:11:09 +02:00
David
b344650608 fix: resolve payment access, status labels, and document upload reliability
- Add PENDING_PAYMENT and PENDING_BANK_TRANSFER to document statuses
  translations (was displaying raw i18n key instead of human label)
- Fix getStatusLabel/getStatusColor to handle all booking statuses
- Fix select dropdown in Add Document modal to use getStatusLabel()
  instead of hardcoded PENDING/ACCEPTED binary
- Add direct "Payer" button (orange) on PENDING_PAYMENT rows in both
  desktop table and mobile cards, linking to /dashboard/booking/[id]/pay
- Update detail modal to show payment CTA for PENDING_PAYMENT bookings
- Refactor file handling in document modals to use React state (addFiles,
  replaceFile) instead of reading from DOM ref — fixes upload reliability
  and shows selected filename feedback in the dropzone

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 17:26:44 +02:00
David
9950d96fd6 fix: correct 5 reported bugs across booking and document management
- SIRET/SIREN admin: controller applied siren but skipped siret — add missing updateSiret() call
- Document upload on validated booking: backend blocked PENDING_BANK_TRANSFER;
  frontend filter excluded it — both now allow all non-terminal statuses
- Accent encoding in filenames: Multer stores originalname as latin1;
  re-decode to utf8 before storing and displaying
- Drag & drop in document modals: replace bare input with styled dropzone
  supporting click and native drag-and-drop in both Add and Replace modals
- Resume existing booking: add Actions column with View button and booking
  detail modal to the bookings list page

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-06-07 16:49:12 +02:00
David
3d65693395 fix blog 2026-05-12 21:01:52 +02:00
David
96963b05f0 fix a propos text 2026-05-05 16:03:35 +02:00
David
ec0173483a fix language
All checks were successful
Dev CI / Backend — Lint (push) Successful in 10m23s
Dev CI / Backend — Unit Tests (push) Successful in 10m17s
Dev CI / Frontend — Lint & Type-check (push) Successful in 11m3s
Dev CI / Frontend — Unit Tests (push) Successful in 10m33s
Dev CI / Notify Failure (push) Has been skipped
2026-04-21 18:04:02 +02:00