gigafibre-fsm/apps/ops/src/components/shared
louispaulb cb16167f72 ticket panel: décodage entités HTML + fil unifié + lien client cherchable
- richHtml() (sanitize.js) : décode entités osTicket (é, ', double-échappées ')
  puis DOMPurify → plus de « codes html » dans les détails.
- IssueDetail : fusionne Échanges (Communication) + Fil (Comment) en UN fil chronologique
  en bulles (notes internes en ambre) ; aère la mise en page.
- Bandeau Client cherchable par nom, association/dissociation 1 clic (comme une conversation)
  — le ticket portait déjà .customer mais aucun champ pour le voir/lier. Résout le cas voicemail.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-07-07 07:09:25 -04:00
..
conversation feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
detail-sections ticket panel: décodage entités HTML + fil unifié + lien client cherchable 2026-07-07 07:09:25 -04:00
AddToTaskDialog.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
ConversationPanel.vue fix(ops): sécurité + robustesse dispatch/comms 2026-07-02 08:56:35 -04:00
CreateInvoiceModal.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
DataTable.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
DetailModal.vue fix(ops): device detail modal responsive on mobile 2026-07-04 22:41:15 -04:00
DynamicFilter.vue feat(ui): T5 audit — composant DynamicFilter réutilisable + intégré sur Clients 2026-07-04 19:13:37 -04:00
EmptyState.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
InlineField.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
InterveneDialog.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
MessageList.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
NewTicketDialog.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
NotificationBell.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
OccupancyStrip.vue fix(ops/mobile): bandes d'occupation ≤7 jours remplissent la largeur (fini le micro-défilement) 2026-07-04 20:58:43 -04:00
OrchestratorDialog.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
OutageAlertsPanel.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
OutboxPanel.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
PageHeader.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
PipelineBoard.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
ProjectWizard.vue ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
QuoteWizard.vue ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
ReaderStack.vue feat(fsm): platform build — comms UI, F→ERPNext sync/billing, roster, campaigns, network, reports 2026-06-15 06:12:12 -04:00
RecipientSelect.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
RecurrenceSelector.vue feat: dispatch planning mode, offer pool, shared presets, recurrence selector 2026-04-08 22:44:18 -04:00
ReportScaffold.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
RouteMap.vue ops: MapLibre/OSM basemap (drop Mapbox) + satellite toggle, unified Créer flow, wizard pricing, infra-first reverse client 2026-07-06 21:52:14 -04:00
ServiceStatusDialog.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
SkillSelect.vue Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) 2026-06-04 11:57:58 -04:00
StatCard.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
TableSkeleton.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
TagEditor.vue feat(dispatch): skill PRIORITY ordering per tech (specialists first) 2026-07-02 10:50:51 -04:00
TaskNode.vue refactor(ops): retirer la page Dispatch dépréciée — tout sur Planification (−2179 lignes, −240 KB) 2026-07-03 21:03:57 -04:00
TechSelect.vue Ops cohérence: composants partagés TechSelect (autosuggest) + SkillSelect (chips) 2026-06-04 11:57:58 -04:00
UnifiedCreateModal.vue feat(ops): dispatch auto complet + perf Boîte/rapports + fix session 2026-07-02 08:49:35 -04:00
WeeklyScheduleEditor.vue feat(planif): hybrid recurring shift model — weekly_schedule pattern + materialization 2026-07-03 11:35:57 -04:00