From e88ed5b8f20ddba1bafdc5ce036839357c6df200 Mon Sep 17 00:00:00 2001 From: Matthieu Date: Tue, 3 Mar 2026 15:17:59 +0100 Subject: [PATCH] feat(documents): migrate storage to filesystem, add server-side pagination - Replace Base64 data URIs with file-based storage served via dedicated endpoints - Add DocumentPreviewModal navigation, DocumentThumbnail fileUrl support - Refactor documents page with server-side pagination, search, sort and filters - Update all components to use fileUrl/downloadUrl instead of raw path - Add pagination composable support (total, page, itemsPerPage, attachmentFilter) Co-Authored-By: Claude Opus 4.6 --- app/components/ComponentItem.vue | 9 +- app/components/DocumentPreviewModal.vue | 166 +++++-- app/components/DocumentThumbnail.vue | 11 +- app/components/PieceItem.vue | 9 +- .../machine/MachineDocumentsCard.vue | 4 +- app/components/sites/SiteEditModal.vue | 4 +- app/composables/useApi.ts | 13 +- app/composables/useComposants.ts | 1 + app/composables/useDocuments.ts | 123 ++++-- app/composables/usePieces.ts | 1 + app/composables/useSiteManagement.ts | 16 +- app/pages/component-catalog.vue | 2 +- app/pages/component/[id]/edit.vue | 5 +- app/pages/documents.vue | 415 +++++++++++------- app/pages/machine/[id].vue | 1 + app/pages/pieces-catalog.vue | 2 +- app/pages/pieces/[id]/edit.vue | 5 +- app/pages/product-catalog.vue | 2 +- app/pages/product/[id]/edit.vue | 5 +- app/pages/sites.vue | 1 + app/shared/utils/documentDisplayUtils.ts | 28 +- app/utils/documentPreview.js | 18 +- 22 files changed, 560 insertions(+), 281 deletions(-) diff --git a/app/components/ComponentItem.vue b/app/components/ComponentItem.vue index 7434bf2..b04df6d 100644 --- a/app/components/ComponentItem.vue +++ b/app/components/ComponentItem.vue @@ -3,6 +3,7 @@ @@ -174,8 +175,8 @@ class="flex-shrink-0 overflow-hidden rounded-md border border-base-200 bg-base-200/70 flex items-center justify-center h-12 w-10" > @@ -332,8 +333,8 @@ :class="documentThumbnailClass(document)" > diff --git a/app/components/DocumentPreviewModal.vue b/app/components/DocumentPreviewModal.vue index e7ebee3..a51e53f 100644 --- a/app/components/DocumentPreviewModal.vue +++ b/app/components/DocumentPreviewModal.vue @@ -10,9 +10,12 @@

Prévisualisation + + {{ activeIndex + 1 }} / {{ navTotal }} +

- {{ document?.name || document?.filename }} • {{ documentDescription }} + {{ activeDoc?.name || activeDoc?.filename }} • {{ documentDescription }}

-
+
+ + + +