From 850d1d00054db27eb171eb879eb7b25ccd7bf4e7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E3=81=8B=E3=81=A3=E3=81=93=E3=81=8B=E3=82=8A?= <67428053+kakkokari-gtyih@users.noreply.github.com> Date: Sat, 1 Feb 2025 13:51:45 +0900 Subject: [PATCH] =?UTF-8?q?fix(frontend):=20MkDriveFileThumbnail=20/=20MkN?= =?UTF-8?q?oteMediaGrid=E3=81=AE=E4=BF=AE=E6=AD=A3=20(#15365)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * fix(frontend): MkDriveFileThumbnailã®propsã®ã‚¿ã‚¤ãƒä¿®æ£ * Update Changelog * fix: MkNoteMediaGridをデータセーãƒãƒ¼ã«å¯¾å¿œã•ã›ã‚‹ --- CHANGELOG.md | 1 + .../src/components/MkDriveFileThumbnail.vue | 2 +- .../frontend/src/components/MkNoteMediaGrid.vue | 14 ++++++++++++-- 3 files changed, 14 insertions(+), 3 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 07f392782f..601bf743bc 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,6 +5,7 @@ ### Client - Fix: 一部環境ã§ã‚»ãƒ³ã‚·ãƒ†ã‚£ãƒ–ãªãƒ•ã‚¡ã‚¤ãƒ«ã‚’å«ã‚€ãƒŽãƒ¼ãƒˆã®éžè¡¨ç¤ºãŒåŠ¹ã‹ãªã„å•é¡Œ +- Fix: データセーãƒãƒ¼æœ‰åŠ¹æ™‚ã«ã‚‚ユーザーページã®ã€Œãƒ•ã‚¡ã‚¤ãƒ«ã€ã‚¿ãƒ–ã§ç”»åƒãŒèªã¿è¾¼ã¾ã‚Œã¦ã—ã¾ã†å•é¡Œã‚’ä¿®æ£ ### Server - Fix: 個別ãŠçŸ¥ã‚‰ã›ãƒšãƒ¼ã‚¸ã®metaタグ出力ã®æ¡ä»¶ãŒé–“é•ã£ã¦ã„ãŸã®ã‚’ä¿®æ£ diff --git a/packages/frontend/src/components/MkDriveFileThumbnail.vue b/packages/frontend/src/components/MkDriveFileThumbnail.vue index 874d9b04cf..6e0ae36880 100644 --- a/packages/frontend/src/components/MkDriveFileThumbnail.vue +++ b/packages/frontend/src/components/MkDriveFileThumbnail.vue @@ -18,7 +18,7 @@ SPDX-License-Identifier: AGPL-3.0-only :alt="file.name" :title="file.name" :cover="fit !== 'contain'" - :forceBlurHash="forceBlurhash" + :forceBlurhash="forceBlurhash" /> <i v-else-if="is === 'image'" class="ti ti-photo" :class="$style.icon"></i> <i v-else-if="is === 'video'" class="ti ti-video" :class="$style.icon"></i> diff --git a/packages/frontend/src/components/MkNoteMediaGrid.vue b/packages/frontend/src/components/MkNoteMediaGrid.vue index 520421bfb7..bf105c3c27 100644 --- a/packages/frontend/src/components/MkNoteMediaGrid.vue +++ b/packages/frontend/src/components/MkNoteMediaGrid.vue @@ -6,7 +6,12 @@ SPDX-License-Identifier: AGPL-3.0-only <template> <template v-for="file in note.files"> <div - v-if="(defaultStore.state.nsfw === 'force' || file.isSensitive) && defaultStore.state.nsfw !== 'ignore' && !showingFiles.has(file.id)" + v-if="((( + (defaultStore.state.nsfw === 'force' || file.isSensitive) && + defaultStore.state.nsfw !== 'ignore' + ) || (defaultStore.state.dataSaver.media && file.type.startsWith('image/'))) && + !showingFiles.has(file.id) + )" :class="[$style.filePreview, { [$style.square]: square }]" @click="showingFiles.add(file.id)" > @@ -20,7 +25,8 @@ SPDX-License-Identifier: AGPL-3.0-only /> <div :class="$style.sensitive"> <div> - <div><i class="ti ti-eye-exclamation"></i> {{ i18n.ts.sensitive }}</div> + <div v-if="file.isSensitive"><i class="ti ti-eye-exclamation"></i> {{ i18n.ts.sensitive }}{{ defaultStore.state.dataSaver.media && file.size ? ` (${bytes(file.size)})` : '' }}</div> + <div v-else><i class="ti ti-photo"></i> {{ defaultStore.state.dataSaver.media && file.size ? bytes(file.size) : i18n.ts.image }}</div> <div>{{ i18n.ts.clickToShow }}</div> </div> </div> @@ -43,6 +49,7 @@ import { notePage } from '@/filters/note.js'; import { i18n } from '@/i18n.js'; import * as Misskey from 'misskey-js'; import { defaultStore } from '@/store.js'; +import bytes from '@/filters/bytes.js'; import MkDriveFileThumbnail from '@/components/MkDriveFileThumbnail.vue'; @@ -91,6 +98,9 @@ const showingFiles = ref<Set<string>>(new Set()); display: grid; place-items: center; font-size: 0.8em; + text-align: center; + padding: 8px; + box-sizing: border-box; color: #fff; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(5px); -- GitLab