VSN-2768: Implement passenger details and absence history tabs
Adresses & Représentants
- Removed mock data and integrated real data fetching using usePassengerStore.
- Added props for passengerUuid and circuitName to enhance component reusability.
- Implemented a schedule matrix builder for better handling of transport schedules.
- Updated rendering logic to display representative details dynamically.
- Enhanced the mapping of representative data to include additional fields (Identité, Contact, Téléphones, Adresse & Notifications, Circuit).
- Improved layout with color-coded SectionCard headers matching existing design.
Absences
- Added absence history display in the "Absences" tab of passenger details.
- Integrated real data fetching from vsn-absence microservice using /api/absence/getPassengersAbsences?passengerId={id} endpoint.
- Created UsagerAbsences component with SectionCard layout consistent with existing tabs design.
- Implemented absenceStore with Zustand for state management, including backend-to-frontend data mapping and paginated response handling.
- Added TypeScript interfaces for absence backend and display types.
- Updated usager-new-view to include Absences tab passing numeric passenger ID.
- Updated use-usager-tabs hook to preserve numericId across data mapping.
- Displayed per-absence sections: Date, Informations complémentaires, and Observation with color-coded SectionCard headers.
- Added state color mapping (Traité, En cours, Annulé, Rejeté).
- Added trip type mapping (Aller, Retour) with outlined chips.