From 68063a9f69fef02da9c42b42f71d44b3cc76948e Mon Sep 17 00:00:00 2001 From: louispaulb Date: Sat, 4 Jul 2026 20:22:52 -0400 Subject: [PATCH] =?UTF-8?q?refactor(ui):=20T7=20=E2=80=94=20extraire=20Cus?= =?UTF-8?q?tomerSatisfaction=20de=20ClientDetailPage=20(faible=20couplage)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Premier découpage de la fiche (2102 l) : bloc « Satisfaction » (étoiles/commentaire + « Demander une évaluation ») → components/customer/CustomerSatisfaction.vue (props latest/count, émet 'draft'). Vérifié sur la fiche (rend « Aucune évaluation » à l'identique, 0 erreur). Extraction DÉLIBÉRÉMENT petite + vérifiable ; les gros blocs couplés (LocationCard/PaymentSection/DeviceStrip — 10+ méthodes parentes : getDevice/combinedStatus/isOnline… + données ACS live à vérifier) restent à faire en passe dédiée. Build vert, leak 0. Co-Authored-By: Claude Opus 4.8 --- .../customer/CustomerSatisfaction.vue | 40 +++++++++++++++++++ apps/ops/src/pages/ClientDetailPage.vue | 34 ++-------------- 2 files changed, 43 insertions(+), 31 deletions(-) create mode 100644 apps/ops/src/components/customer/CustomerSatisfaction.vue diff --git a/apps/ops/src/components/customer/CustomerSatisfaction.vue b/apps/ops/src/components/customer/CustomerSatisfaction.vue new file mode 100644 index 0000000..bb781ca --- /dev/null +++ b/apps/ops/src/components/customer/CustomerSatisfaction.vue @@ -0,0 +1,40 @@ + + + diff --git a/apps/ops/src/pages/ClientDetailPage.vue b/apps/ops/src/pages/ClientDetailPage.vue index 0a7ce9b..7375c62 100644 --- a/apps/ops/src/pages/ClientDetailPage.vue +++ b/apps/ops/src/pages/ClientDetailPage.vue @@ -47,37 +47,8 @@ - -
-
- - Satisfaction - - {{ '★'.repeat(latestRating.stars || 0) }}{{ '☆'.repeat(5 - (latestRating.stars || 0)) }} - - {{ latestRating.stars }}/5 - - {{ formatDateTime(latestRating.stars_ts || latestRating.comment_ts || latestRating.created) }} - -
-
« {{ latestRating.comment }} »
-
- -
- - Aucune évaluation pour ce client. - - - Ouvrir un brouillon d'invitation (coordonnées + message pré-remplis) - - - Brouillon d'invitation (langue du client) - Par courriel - Par texto - - - -
+ + @@ -1179,6 +1150,7 @@ import DataTable from 'src/components/shared/DataTable.vue' import CustomerHeader from 'src/components/customer/CustomerHeader.vue' import ContactCard from 'src/components/customer/ContactCard.vue' import CustomerInfoCard from 'src/components/customer/CustomerInfoCard.vue' +import CustomerSatisfaction from 'src/components/customer/CustomerSatisfaction.vue' import InlineField from 'src/components/shared/InlineField.vue' import { useSoftphone } from 'src/composables/useSoftphone' import UnifiedCreateModal from 'src/components/shared/UnifiedCreateModal.vue'