diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2022-06-17 15:03:02 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2022-06-17 15:03:02 +0900 |
| commit | 8df2f19b5b371d73809d12b2ffbcba3ec3cffb2d (patch) | |
| tree | 2ed4fbd79072cf0fa26581591f57e9bf69579985 /packages/client/src/pages/admin | |
| parent | Merge branch 'develop' of https://github.com/misskey-dev/misskey into develop (diff) | |
| download | misskey-8df2f19b5b371d73809d12b2ffbcba3ec3cffb2d.tar.gz misskey-8df2f19b5b371d73809d12b2ffbcba3ec3cffb2d.tar.bz2 misskey-8df2f19b5b371d73809d12b2ffbcba3ec3cffb2d.zip | |
enhance(client): improve file moderation ui
Diffstat (limited to 'packages/client/src/pages/admin')
| -rw-r--r-- | packages/client/src/pages/admin/file-dialog.vue | 103 | ||||
| -rw-r--r-- | packages/client/src/pages/admin/files.vue | 4 |
2 files changed, 1 insertions, 106 deletions
diff --git a/packages/client/src/pages/admin/file-dialog.vue b/packages/client/src/pages/admin/file-dialog.vue deleted file mode 100644 index 0765548aab..0000000000 --- a/packages/client/src/pages/admin/file-dialog.vue +++ /dev/null @@ -1,103 +0,0 @@ -<template> -<XModalWindow ref="dialog" - :width="370" - @close="$refs.dialog.close()" - @closed="$emit('closed')" -> - <template v-if="file" #header>{{ file.name }}</template> - <div v-if="file" class="cxqhhsmd"> - <div class="_section"> - <MkDriveFileThumbnail class="thumbnail" :file="file" fit="contain"/> - <div class="info"> - <span style="margin-right: 1em;">{{ file.type }}</span> - <span>{{ bytes(file.size) }}</span> - <MkTime :time="file.createdAt" mode="detail" style="display: block;"/> - </div> - </div> - <div class="_section"> - <div class="_content"> - <MkSwitch v-model="isSensitive" @update:modelValue="toggleIsSensitive">NSFW</MkSwitch> - </div> - </div> - <div class="_section"> - <div class="_content"> - <MkButton full @click="showUser"><i class="fas fa-external-link-square-alt"></i> {{ $ts.user }}</MkButton> - <MkButton full danger @click="del"><i class="fas fa-trash-alt"></i> {{ $ts.delete }}</MkButton> - </div> - </div> - <div v-if="info" class="_section"> - <details class="_content rawdata"> - <pre><code>{{ JSON.stringify(info, null, 2) }}</code></pre> - </details> - </div> - </div> -</XModalWindow> -</template> - -<script lang="ts" setup> -import { } from 'vue'; -import MkButton from '@/components/ui/button.vue'; -import MkSwitch from '@/components/form/switch.vue'; -import XModalWindow from '@/components/ui/modal-window.vue'; -import MkDriveFileThumbnail from '@/components/drive-file-thumbnail.vue'; -import bytes from '@/filters/bytes'; -import * as os from '@/os'; -import { i18n } from '@/i18n'; - -let file: any = $ref(null); -let info: any = $ref(null); -let isSensitive: boolean = $ref(false); - -const props = defineProps<{ - fileId: string, -}>(); - -async function fetch() { - file = await os.api('drive/files/show', { fileId: props.fileId }); - info = await os.api('admin/drive/show-file', { fileId: props.fileId }); - isSensitive = file.isSensitive; -} - -fetch(); - -function showUser() { - os.pageWindow(`/user-info/${file.userId}`); -} - -async function del() { - const { canceled } = await os.confirm({ - type: 'warning', - text: i18n.t('removeAreYouSure', { x: file.name }), - }); - if (canceled) return; - - os.apiWithDialog('drive/files/delete', { - fileId: file.id - }); -} - -async function toggleIsSensitive(v) { - await os.api('drive/files/update', { fileId: props.fileId, isSensitive: v }); - isSensitive = v; -} -</script> - -<style lang="scss" scoped> -.cxqhhsmd { - > ._section { - > .thumbnail { - height: 150px; - max-width: 100%; - } - - > .info { - text-align: center; - margin-top: 8px; - } - - > .rawdata { - overflow: auto; - } - } -} -</style> diff --git a/packages/client/src/pages/admin/files.vue b/packages/client/src/pages/admin/files.vue index 6f43c2b7bd..9350911b60 100644 --- a/packages/client/src/pages/admin/files.vue +++ b/packages/client/src/pages/admin/files.vue @@ -82,9 +82,7 @@ function clear() { } function show(file) { - os.popup(defineAsyncComponent(() => import('./file-dialog.vue')), { - fileId: file.id, - }, {}, 'closed'); + os.pageWindow(`/admin-file/${file.id}`); } async function find() { |