summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/admin-file.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-07-06 09:54:49 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-07-06 09:54:49 +0900
commite6ec15e397e150a12486d097d4b789a98b7ae639 (patch)
treea113d1a6353eed0488bae17f2ee490974c50351e /packages/frontend/src/pages/admin-file.vue
parentclean up (diff)
downloadmisskey-e6ec15e397e150a12486d097d4b789a98b7ae639.tar.gz
misskey-e6ec15e397e150a12486d097d4b789a98b7ae639.tar.bz2
misskey-e6ec15e397e150a12486d097d4b789a98b7ae639.zip
feat: 特定のドライブファイルを添付しているチャットメッセージを一覧できるように
Diffstat (limited to 'packages/frontend/src/pages/admin-file.vue')
-rw-r--r--packages/frontend/src/pages/admin-file.vue24
1 files changed, 19 insertions, 5 deletions
diff --git a/packages/frontend/src/pages/admin-file.vue b/packages/frontend/src/pages/admin-file.vue
index 8495642a8c..7a49ba542f 100644
--- a/packages/frontend/src/pages/admin-file.vue
+++ b/packages/frontend/src/pages/admin-file.vue
@@ -44,8 +44,19 @@ SPDX-License-Identifier: AGPL-3.0-only
<MkButton danger @click="del"><i class="ti ti-trash"></i> {{ i18n.ts.delete }}</MkButton>
</div>
</div>
- <div v-else-if="tab === 'notes' && info" class="_gaps_m">
- <XNotes :fileId="fileId"/>
+ <div v-else-if="tab === 'usage' && info" class="_gaps_m">
+ <MkTabs
+ v-model:tab="usageTab"
+ :tabs="[{
+ key: 'note',
+ title: 'Note',
+ }, {
+ key: 'chat',
+ title: 'Chat',
+ }]"
+ />
+ <XNotes v-if="usageTab === 'note'" :fileId="fileId"/>
+ <XChat v-else-if="usageTab === 'chat'" :fileId="fileId"/>
</div>
<div v-else-if="tab === 'ip' && info" class="_gaps_m">
<MkInfo v-if="!iAmAdmin" warn>{{ i18n.ts.requireAdminForView }}</MkInfo>
@@ -86,12 +97,15 @@ import { misskeyApi } from '@/utility/misskey-api.js';
import { i18n } from '@/i18n.js';
import { definePage } from '@/page.js';
import { iAmAdmin, iAmModerator } from '@/i.js';
+import MkTabs from '@/components/MkTabs.vue';
const tab = ref('overview');
const file = ref<Misskey.entities.DriveFile | null>(null);
const info = ref<Misskey.entities.AdminDriveShowFileResponse | null>(null);
const isSensitive = ref<boolean>(false);
+const usageTab = ref<'note' | 'chat'>('note');
const XNotes = defineAsyncComponent(() => import('./drive.file.notes.vue'));
+const XChat = defineAsyncComponent(() => import('./admin-file.chat.vue'));
const props = defineProps<{
fileId: string,
@@ -147,9 +161,9 @@ const headerTabs = computed(() => [{
title: i18n.ts.overview,
icon: 'ti ti-info-circle',
}, iAmModerator ? {
- key: 'notes',
- title: i18n.ts._fileViewer.attachedNotes,
- icon: 'ti ti-pencil',
+ key: 'usage',
+ title: i18n.ts._fileViewer.usage,
+ icon: 'ti ti-plus',
} : null, iAmModerator ? {
key: 'ip',
title: 'IP',