summaryrefslogtreecommitdiff
path: root/packages/frontend/src/pages/admin-file.vue
diff options
context:
space:
mode:
authorsyuilo <4439005+syuilo@users.noreply.github.com>2025-09-01 16:23:05 +0900
committersyuilo <4439005+syuilo@users.noreply.github.com>2025-09-01 16:23:05 +0900
commit4a0e9686625a399529879ea92f51d93bd7204340 (patch)
tree8bb8750ba5993e9b23df659d19b6be837c826c35 /packages/frontend/src/pages/admin-file.vue
parentUpdate misskey-js.api.md (diff)
downloadmisskey-4a0e9686625a399529879ea92f51d93bd7204340.tar.gz
misskey-4a0e9686625a399529879ea92f51d93bd7204340.tar.bz2
misskey-4a0e9686625a399529879ea92f51d93bd7204340.zip
refactor
Diffstat (limited to 'packages/frontend/src/pages/admin-file.vue')
-rw-r--r--packages/frontend/src/pages/admin-file.vue30
1 files changed, 12 insertions, 18 deletions
diff --git a/packages/frontend/src/pages/admin-file.vue b/packages/frontend/src/pages/admin-file.vue
index 63d3640f9c..608a77c06b 100644
--- a/packages/frontend/src/pages/admin-file.vue
+++ b/packages/frontend/src/pages/admin-file.vue
@@ -4,9 +4,9 @@ SPDX-License-Identifier: AGPL-3.0-only
-->
<template>
-<XRoot v-if="file != null && info != null" :file="file" :info="info"/>
-<div v-else-if="error != null">Error: {{ error }}</div>
-<MkLoading v-else/>
+<MkSuspense v-slot="{ result }" :p="_fetch_" @resolved="(result) => file = result.file">
+ <XRoot v-if="result.file != null && result.info != null" :file="result.file" :info="result.info"/>
+</MkSuspense>
</template>
<script lang="ts" setup>
@@ -17,27 +17,21 @@ import { misskeyApi } from '@/utility/misskey-api.js';
import { i18n } from '@/i18n.js';
import { definePage } from '@/page.js';
-const file = ref<Misskey.entities.DriveFile | null>(null);
-const info = ref<Misskey.entities.AdminDriveShowFileResponse | null>(null);
-
-const error = ref<string | null>(null);
-
const props = defineProps<{
fileId: string,
}>();
-async function _fetch_() {
- try {
- file.value = await misskeyApi('drive/files/show', { fileId: props.fileId });
- } catch (err: any) {
- error.value = err.message + ' ' + err.id;
- return;
- }
-
- info.value = await misskeyApi('admin/drive/show-file', { fileId: props.fileId });
+function _fetch_() {
+ return Promise.all([
+ misskeyApi('drive/files/show', { fileId: props.fileId }),
+ misskeyApi('admin/drive/show-file', { fileId: props.fileId }),
+ ]).then((result) => ({
+ file: result[0],
+ info: result[1],
+ }));
}
-_fetch_();
+const file = ref<Misskey.entities.DriveFile | null>(null);
definePage(() => ({
title: file.value ? `${i18n.ts.file}: ${file.value.name}` : i18n.ts.file,