From edb33cbd865fb4a26e75af71ed064d73eb10f352 Mon Sep 17 00:00:00 2001 From: alireza013013 Date: Sun, 26 Jul 2026 14:49:46 +0330 Subject: [PATCH 01/24] feat(multimedia): - remove all old code and start multimedia detail page - get data from useMultimedia composable - add property to type multimedia - add widgets-breadcrumb component in page - create multimedia-preview-card for handle oreview powerpoint or video and show data --- app/components/multimedia/previewCard.vue | 155 +++++ app/pages/multimedia/[id]/[[slug]].vue | 779 ++-------------------- app/types/multimedia/index.ts | 8 + 3 files changed, 237 insertions(+), 705 deletions(-) create mode 100644 app/components/multimedia/previewCard.vue diff --git a/app/components/multimedia/previewCard.vue b/app/components/multimedia/previewCard.vue new file mode 100644 index 000000000..d0d2e7094 --- /dev/null +++ b/app/components/multimedia/previewCard.vue @@ -0,0 +1,155 @@ + + + + + diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index 7eb6f7c27..576d23765 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -1,757 +1,126 @@ - - diff --git a/app/types/multimedia/index.ts b/app/types/multimedia/index.ts index 120dcc040..0fc277d3b 100644 --- a/app/types/multimedia/index.ts +++ b/app/types/multimedia/index.ts @@ -58,6 +58,12 @@ export interface MultimediaCollectionDTO { chapters?: MultimediaCollectionChapterDTO[] } +export interface MultimediaPreviewDataDTO { + type: string + preview: string[] + poster: boolean +} + export interface MultimediaDetailDTO { id: string user_: string @@ -109,7 +115,9 @@ export interface MultimediaDetailDTO { hasMembership: boolean files: MultimediaFileInfoDTO collectionList: MultimediaCollectionDTO[] + previewData: MultimediaPreviewDataDTO } + export interface GetDataParamsMultimedia { page: number pageSize: number From 706c195ff2553a2111fac653da79294cb73abace Mon Sep 17 00:00:00 2001 From: alireza013013 Date: Sun, 26 Jul 2026 18:11:40 +0330 Subject: [PATCH 02/24] feat(multimedia): - add content detail component - enhance layout for multimedia page - pdf type in previewcard component --- app/components/multimedia/contentDetail.vue | 182 ++++++++++++++++++++ app/components/multimedia/previewCard.vue | 14 ++ app/pages/multimedia/[id]/[[slug]].vue | 6 +- 3 files changed, 201 insertions(+), 1 deletion(-) create mode 100644 app/components/multimedia/contentDetail.vue diff --git a/app/components/multimedia/contentDetail.vue b/app/components/multimedia/contentDetail.vue new file mode 100644 index 000000000..5239cd3ff --- /dev/null +++ b/app/components/multimedia/contentDetail.vue @@ -0,0 +1,182 @@ + + + + + diff --git a/app/components/multimedia/previewCard.vue b/app/components/multimedia/previewCard.vue index d0d2e7094..d2cb1ec98 100644 --- a/app/components/multimedia/previewCard.vue +++ b/app/components/multimedia/previewCard.vue @@ -101,6 +101,17 @@ + + { .main-image-paper { max-width : 100% } +.cover-image { + object-fit: cover; +} diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index 576d23765..1606dc728 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -20,7 +20,7 @@ md:chevron_forward -
+
+ +
+ +
Date: Sun, 26 Jul 2026 22:16:45 +0330 Subject: [PATCH 03/24] feat(multimedia): - add download button component and integrate with multimedia detail page --- app/components/multimedia/downloadButton.vue | 370 +++++++++++++++++++ app/pages/multimedia/[id]/[[slug]].vue | 7 + app/types/multimedia/index.ts | 3 +- 3 files changed, 379 insertions(+), 1 deletion(-) create mode 100644 app/components/multimedia/downloadButton.vue diff --git a/app/components/multimedia/downloadButton.vue b/app/components/multimedia/downloadButton.vue new file mode 100644 index 000000000..ffc7cdc9e --- /dev/null +++ b/app/components/multimedia/downloadButton.vue @@ -0,0 +1,370 @@ + + + + + diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index 1606dc728..6b83a0829 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -35,6 +35,13 @@
+ +
diff --git a/app/types/multimedia/index.ts b/app/types/multimedia/index.ts index 0fc277d3b..8be236437 100644 --- a/app/types/multimedia/index.ts +++ b/app/types/multimedia/index.ts @@ -31,10 +31,11 @@ export interface MultimediaBriefDTO { subdate_jalali: string } +export type TypeFileExtentionMultimedia = 'pptx' | 'pdf' | 'docx' | 'mp4' export interface MultimediaFileInfoDTO { exist: boolean size: string | number - ext: string + ext: TypeFileExtentionMultimedia pages?: number price?: number price_unit?: string From cad529c4501cec7612646a06896d589f1febd2e6 Mon Sep 17 00:00:00 2001 From: alireza013013 Date: Sun, 26 Jul 2026 22:23:26 +0330 Subject: [PATCH 04/24] feat(multimedia): - add random box question --- app/pages/multimedia/[id]/[[slug]].vue | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index 6b83a0829..22ecefd0b 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -20,7 +20,7 @@ md:chevron_forward -
+
+ + Date: Sun, 26 Jul 2026 22:38:19 +0330 Subject: [PATCH 05/24] feat(multimedia): -add related content component with dynamic ID and source --- app/pages/multimedia/[id]/[[slug]].vue | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index 22ecefd0b..ea9d1f9c5 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -49,6 +49,12 @@ :lesson="contentData.lesson" /> + + Date: Mon, 27 Jul 2026 11:40:57 +0330 Subject: [PATCH 06/24] fix(multimedia): remove old component use in multimedia page --- .../details/multimedia-preview-gallery.vue | 258 ---------------- .../multimedia/detail/DescriptionSection.vue | 170 ----------- .../multimedia/detail/DetailSidebar.vue | 278 ------------------ .../multimedia/detail/DownloadSection.vue | 98 ------ .../multimedia/detail/MobileOrderSection.vue | 179 ----------- .../multimedia/detail/ShareDialog.vue | 111 ------- .../multimedia/detail/TagSection.vue | 81 ----- 7 files changed, 1175 deletions(-) delete mode 100644 app/components/details/multimedia-preview-gallery.vue delete mode 100644 app/components/multimedia/detail/DescriptionSection.vue delete mode 100644 app/components/multimedia/detail/DetailSidebar.vue delete mode 100644 app/components/multimedia/detail/DownloadSection.vue delete mode 100644 app/components/multimedia/detail/MobileOrderSection.vue delete mode 100644 app/components/multimedia/detail/ShareDialog.vue delete mode 100644 app/components/multimedia/detail/TagSection.vue diff --git a/app/components/details/multimedia-preview-gallery.vue b/app/components/details/multimedia-preview-gallery.vue deleted file mode 100644 index 143e4333d..000000000 --- a/app/components/details/multimedia-preview-gallery.vue +++ /dev/null @@ -1,258 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/DescriptionSection.vue b/app/components/multimedia/detail/DescriptionSection.vue deleted file mode 100644 index 1a0f28ebd..000000000 --- a/app/components/multimedia/detail/DescriptionSection.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/DetailSidebar.vue b/app/components/multimedia/detail/DetailSidebar.vue deleted file mode 100644 index 33892ae39..000000000 --- a/app/components/multimedia/detail/DetailSidebar.vue +++ /dev/null @@ -1,278 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/DownloadSection.vue b/app/components/multimedia/detail/DownloadSection.vue deleted file mode 100644 index 4fa2596c2..000000000 --- a/app/components/multimedia/detail/DownloadSection.vue +++ /dev/null @@ -1,98 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/MobileOrderSection.vue b/app/components/multimedia/detail/MobileOrderSection.vue deleted file mode 100644 index bf5d5c13f..000000000 --- a/app/components/multimedia/detail/MobileOrderSection.vue +++ /dev/null @@ -1,179 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/ShareDialog.vue b/app/components/multimedia/detail/ShareDialog.vue deleted file mode 100644 index d18d0ced8..000000000 --- a/app/components/multimedia/detail/ShareDialog.vue +++ /dev/null @@ -1,111 +0,0 @@ - - - - - diff --git a/app/components/multimedia/detail/TagSection.vue b/app/components/multimedia/detail/TagSection.vue deleted file mode 100644 index 343162ca7..000000000 --- a/app/components/multimedia/detail/TagSection.vue +++ /dev/null @@ -1,81 +0,0 @@ - - - - - From a2253858eb05471bb06967d55f0f6b25a63fdef1 Mon Sep 17 00:00:00 2001 From: alireza013013 Date: Mon, 27 Jul 2026 12:00:07 +0330 Subject: [PATCH 07/24] refactor(share modal): remove old share modal and create component in rigth folder and use again --- app/components/common/ShareModal.vue | 170 ------------------------- app/components/common/modal/share.vue | 98 ++++++++++++++ app/pages/multimedia/[id]/[[slug]].vue | 9 +- app/pages/paper/[id]/[[slug]].vue | 9 +- app/pages/tutorial/[id]/[[slug]].vue | 8 +- 5 files changed, 113 insertions(+), 181 deletions(-) delete mode 100644 app/components/common/ShareModal.vue create mode 100644 app/components/common/modal/share.vue diff --git a/app/components/common/ShareModal.vue b/app/components/common/ShareModal.vue deleted file mode 100644 index 7dfb0033f..000000000 --- a/app/components/common/ShareModal.vue +++ /dev/null @@ -1,170 +0,0 @@ - - - - - diff --git a/app/components/common/modal/share.vue b/app/components/common/modal/share.vue new file mode 100644 index 000000000..9bbfb6e61 --- /dev/null +++ b/app/components/common/modal/share.vue @@ -0,0 +1,98 @@ + + + + + diff --git a/app/pages/multimedia/[id]/[[slug]].vue b/app/pages/multimedia/[id]/[[slug]].vue index ea9d1f9c5..14d0a3969 100644 --- a/app/pages/multimedia/[id]/[[slug]].vue +++ b/app/pages/multimedia/[id]/[[slug]].vue @@ -55,11 +55,12 @@ :request="[`file`]" /> - + title="Share" + > + + diff --git a/app/pages/paper/[id]/[[slug]].vue b/app/pages/paper/[id]/[[slug]].vue index 230e80eef..9278cd3aa 100644 --- a/app/pages/paper/[id]/[[slug]].vue +++ b/app/pages/paper/[id]/[[slug]].vue @@ -107,11 +107,12 @@ v-model:show-dialog="openCrashReport" type-crash-report="test" /> - + title="Share" + > + + diff --git a/app/pages/tutorial/[id]/[[slug]].vue b/app/pages/tutorial/[id]/[[slug]].vue index aea0bb3dd..5937d87ad 100644 --- a/app/pages/tutorial/[id]/[[slug]].vue +++ b/app/pages/tutorial/[id]/[[slug]].vue @@ -180,10 +180,12 @@ v-model:show-dialog="openCrashReport" type-crash-report="tutorial" /> - + title="Share" + > + + From 3d8e2296f31cf05d62b47a99f1c67fe3085224e2 Mon Sep 17 00:00:00 2001 From: alireza013013 Date: Mon, 27 Jul 2026 12:05:21 +0330 Subject: [PATCH 08/24] refactor(share modal): pass content title to share modal component --- app/components/common/modal/share.vue | 5 +++++ app/pages/multimedia/[id]/[[slug]].vue | 2 +- app/pages/paper/[id]/[[slug]].vue | 2 +- app/pages/tutorial/[id]/[[slug]].vue | 2 +- 4 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/components/common/modal/share.vue b/app/components/common/modal/share.vue index 9bbfb6e61..6b7a10443 100644 --- a/app/components/common/modal/share.vue +++ b/app/components/common/modal/share.vue @@ -63,6 +63,11 @@ - - diff --git a/app/components/common/modal/crashReport.vue b/app/components/common/modal/crashReport.vue new file mode 100644 index 000000000..2b3b07708 --- /dev/null +++ b/app/components/common/modal/crashReport.vue @@ -0,0 +1,156 @@ + + + + + diff --git a/app/pages/paper/[id]/[[slug]].vue b/app/pages/paper/[id]/[[slug]].vue index 51f263b2c..fdf55483e 100644 --- a/app/pages/paper/[id]/[[slug]].vue +++ b/app/pages/paper/[id]/[[slug]].vue @@ -101,12 +101,18 @@ - + title="Crash Report" + > + + + - + title="Crash Report" + > + + + Date: Mon, 27 Jul 2026 13:23:51 +0330 Subject: [PATCH 10/24] refactor(share modal): simplify layout by replacing v-row and v-col with flexbox structure --- app/components/common/modal/share.vue | 37 +++++++++------------------ 1 file changed, 12 insertions(+), 25 deletions(-) diff --git a/app/components/common/modal/share.vue b/app/components/common/modal/share.vue index 6b7a10443..15910c9c7 100644 --- a/app/components/common/modal/share.vue +++ b/app/components/common/modal/share.vue @@ -1,18 +1,13 @@