louispaulb
fd326ac52e
perf: parallelize dispatch API fetches + add sales_order/order_source fields
...
Dispatch performance:
- Replace sequential batch fetches (batches of 15, one after another)
with full parallel Promise.all — all doc fetches fire simultaneously
- With 20 jobs: was ~3 sequential round-trips, now ~2 (1 list + 1 parallel)
Order traceability:
- Add sales_order (Link) and order_source (Select) fields to Dispatch Job
- checkout.js sets order_source='Online' + sales_order link on job creation
- acceptance.js sets order_source='Quotation' on quotation-sourced jobs
- Store maps new fields: salesOrder, orderSource
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 18:07:14 -04:00
louispaulb
c6b2dd1491
refactor: extract composables from 5 largest files — net -1950 lines from main components
...
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 <noreply@anthropic.com>
2026-04-08 17:57:24 -04:00
louispaulb
320655b0a0
refactor: major cleanup — remove dead dispatch app, commit all backend code, extract client composables
...
- Remove apps/dispatch/ (100% replaced by ops dispatch module, unmaintained)
- Commit services/targo-hub/lib/ (24 modules, 6290 lines — was never tracked)
- Commit services/docuseal + services/legacy-db docker-compose configs
- Extract client app composables: useOTP, useAddressSearch, catalog data, format utils
- Refactor CartPage.vue 630→175 lines, CatalogPage.vue 375→95 lines
- Clean hardcoded credentials from config.js fallback values
- Add client portal: catalog, cart, checkout, OTP verification, address search
- Add ops: NetworkPage, AgentFlowsPage, ConversationPanel, UnifiedCreateModal
- Add ops composables: useBestTech, useConversations, usePermissions, useScanner
- Add field app: scanner composable, docker/nginx configs
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-04-08 17:38:38 -04:00