From 02c1de55c4b21863bb7500811e04bc0de9177089 Mon Sep 17 00:00:00 2001 From: kolaente Date: Fri, 6 Sep 2024 09:43:41 +0200 Subject: [PATCH] chore(attachments): refactor building image preview --- .../components/tasks/partials/Attachments.vue | 6 +-- .../components/tasks/partials/FilePreview.vue | 8 +--- .../components/tasks/partials/KanbanCard.vue | 2 +- frontend/src/models/attachment.ts | 4 ++ frontend/src/services/attachment.ts | 2 +- pkg/models/task_attachment.go | 46 +++++++++++++------ pkg/routes/api/v1/task_attachment.go | 15 ++---- 7 files changed, 44 insertions(+), 39 deletions(-) diff --git a/frontend/src/components/tasks/partials/Attachments.vue b/frontend/src/components/tasks/partials/Attachments.vue index dc84aaa27..d6ba21dae 100644 --- a/frontend/src/components/tasks/partials/Attachments.vue +++ b/frontend/src/components/tasks/partials/Attachments.vue @@ -180,7 +180,7 @@ import ProgressBar from '@/components/misc/ProgressBar.vue' import BaseButton from '@/components/base/BaseButton.vue' import AttachmentService from '@/services/attachment' -import {SUPPORTED_IMAGE_SUFFIX} from '@/models/attachment' +import {canPreview} from '@/models/attachment' import type {IAttachment} from '@/modelTypes/IAttachment' import type {ITask} from '@/modelTypes/ITask' @@ -274,10 +274,6 @@ async function viewOrDownload(attachment: IAttachment) { } } -function canPreview(attachment: IAttachment): boolean { - return SUPPORTED_IMAGE_SUFFIX.some((suffix) => attachment.file.name.toLowerCase().endsWith(suffix)) -} - const copy = useCopyToClipboard() function copyUrl(attachment: IAttachment) { diff --git a/frontend/src/components/tasks/partials/FilePreview.vue b/frontend/src/components/tasks/partials/FilePreview.vue index a22c5a428..bff0b86fa 100644 --- a/frontend/src/components/tasks/partials/FilePreview.vue +++ b/frontend/src/components/tasks/partials/FilePreview.vue @@ -22,7 +22,7 @@ import {ref, shallowReactive, watchEffect} from 'vue' import AttachmentService, {PREVIEW_SIZE} from '@/services/attachment' import type {IAttachment} from '@/modelTypes/IAttachment' -import {SUPPORTED_IMAGE_SUFFIX} from '@/models/attachment' +import {canPreview} from '@/models/attachment' const props = defineProps<{ modelValue?: IAttachment @@ -33,13 +33,9 @@ const blobUrl = ref(undefined) watchEffect(async () => { if (props.modelValue && canPreview(props.modelValue)) { - blobUrl.value = await attachmentService.getBlobUrl(props.modelValue, PREVIEW_SIZE.SM) + blobUrl.value = await attachmentService.getBlobUrl(props.modelValue, PREVIEW_SIZE.MD) } }) - -function canPreview(attachment: IAttachment): boolean { - return SUPPORTED_IMAGE_SUFFIX.some((suffix) => attachment.file.name.toLowerCase().endsWith(suffix)) -}