From c6b2dd1491d6c9be4f1f37cacda22543c378fbe1 Mon Sep 17 00:00:00 2001 From: louispaulb Date: Wed, 8 Apr 2026 17:57:24 -0400 Subject: [PATCH] =?UTF-8?q?refactor:=20extract=20composables=20from=205=20?= =?UTF-8?q?largest=20files=20=E2=80=94=20net=20-1950=20lines=20from=20main?= =?UTF-8?q?=20components?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit DispatchPage.vue: 1320→1217 lines - Extract SbModal.vue + SbContextMenu.vue reusable components - Extract useAbsenceResize composable - Extract dispatch constants to config/dispatch.js ProjectWizard.vue: 1185→673 lines (-43%) - Extract useWizardPublish composable (270-line publish function) - Extract useWizardCatalog composable - Extract wizard-constants.js (step labels, options, categories) SettingsPage.vue: 1172→850 lines (-27%) - Extract usePermissionMatrix composable - Extract useUserGroups composable - Extract useLegacySync composable ClientDetailPage.vue: 1169→864 lines (-26%) - Extract useClientData composable (loadCustomer broken into sub-functions) - Extract useEquipmentActions composable - Extract client-constants.js + erp-pdf.js utility checkout.js: 639→408 lines (-36%) - Extract address-search.js module - Extract otp.js module - Extract email-templates.js module - Extract project-templates.js module - Add erpQuery() helper to DRY repeated URL construction Co-Authored-By: Claude Opus 4.6 --- .../src/components/shared/ProjectWizard.vue | 674 +++--------------- apps/ops/src/composables/useAbsenceResize.js | 57 ++ apps/ops/src/composables/useClientData.js | 210 ++++++ .../src/composables/useEquipmentActions.js | 137 ++++ apps/ops/src/composables/useLegacySync.js | 37 + .../src/composables/usePermissionMatrix.js | 123 ++++ apps/ops/src/composables/useUserGroups.js | 179 +++++ apps/ops/src/composables/useWizardCatalog.js | 97 +++ apps/ops/src/composables/useWizardPublish.js | 287 ++++++++ apps/ops/src/config/dispatch.js | 10 + apps/ops/src/data/client-constants.js | 21 + apps/ops/src/data/wizard-constants.js | 41 ++ .../dispatch/components/SbContextMenu.vue | 11 + .../modules/dispatch/components/SbModal.vue | 28 + apps/ops/src/pages/ClientDetailPage.vue | 363 +--------- apps/ops/src/pages/DispatchPage.vue | 523 ++++++-------- apps/ops/src/pages/SettingsPage.vue | 596 ++++------------ apps/ops/src/utils/erp-pdf.js | 5 + services/targo-hub/lib/address-search.js | 51 ++ services/targo-hub/lib/checkout.js | 275 +------ services/targo-hub/lib/email-templates.js | 33 + services/targo-hub/lib/otp.js | 100 +++ services/targo-hub/lib/project-templates.js | 33 + 23 files changed, 1939 insertions(+), 1952 deletions(-) create mode 100644 apps/ops/src/composables/useAbsenceResize.js create mode 100644 apps/ops/src/composables/useClientData.js create mode 100644 apps/ops/src/composables/useEquipmentActions.js create mode 100644 apps/ops/src/composables/useLegacySync.js create mode 100644 apps/ops/src/composables/usePermissionMatrix.js create mode 100644 apps/ops/src/composables/useUserGroups.js create mode 100644 apps/ops/src/composables/useWizardCatalog.js create mode 100644 apps/ops/src/composables/useWizardPublish.js create mode 100644 apps/ops/src/config/dispatch.js create mode 100644 apps/ops/src/data/client-constants.js create mode 100644 apps/ops/src/data/wizard-constants.js create mode 100644 apps/ops/src/modules/dispatch/components/SbContextMenu.vue create mode 100644 apps/ops/src/modules/dispatch/components/SbModal.vue create mode 100644 apps/ops/src/utils/erp-pdf.js create mode 100644 services/targo-hub/lib/address-search.js create mode 100644 services/targo-hub/lib/email-templates.js create mode 100644 services/targo-hub/lib/otp.js create mode 100644 services/targo-hub/lib/project-templates.js diff --git a/apps/ops/src/components/shared/ProjectWizard.vue b/apps/ops/src/components/shared/ProjectWizard.vue index 6f08427..d02c337 100644 --- a/apps/ops/src/components/shared/ProjectWizard.vue +++ b/apps/ops/src/components/shared/ProjectWizard.vue @@ -1,29 +1,26 @@