From 8df2f19b5b371d73809d12b2ffbcba3ec3cffb2d Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 17 Jun 2022 15:03:02 +0900 Subject: enhance(client): improve file moderation ui --- locales/ja-JP.yml | 1 + packages/client/src/pages/admin-file.vue | 104 ++++++++++++++++++++++++ packages/client/src/pages/admin/file-dialog.vue | 103 ----------------------- packages/client/src/pages/admin/files.vue | 4 +- packages/client/src/router.ts | 9 +- 5 files changed, 111 insertions(+), 110 deletions(-) create mode 100644 packages/client/src/pages/admin-file.vue delete mode 100644 packages/client/src/pages/admin/file-dialog.vue diff --git a/locales/ja-JP.yml b/locales/ja-JP.yml index 43ab7f2d69..c17e6959b9 100644 --- a/locales/ja-JP.yml +++ b/locales/ja-JP.yml @@ -845,6 +845,7 @@ failedToFetchAccountInformation: "アカウント情報の取得に失敗しま rateLimitExceeded: "レート制限を超えました" cropImage: "画像のクロップ" cropImageAsk: "画像をクロップしますか?" +file: "ファイル" _emailUnavailable: used: "既に使用されています" diff --git a/packages/client/src/pages/admin-file.vue b/packages/client/src/pages/admin-file.vue new file mode 100644 index 0000000000..b0e879b8f3 --- /dev/null +++ b/packages/client/src/pages/admin-file.vue @@ -0,0 +1,104 @@ + + + + + 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 @@ - - - - - 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() { diff --git a/packages/client/src/router.ts b/packages/client/src/router.ts index 96c793166c..7e16c35d2b 100644 --- a/packages/client/src/router.ts +++ b/packages/client/src/router.ts @@ -1,9 +1,9 @@ import { AsyncComponentLoader, defineAsyncComponent, markRaw } from 'vue'; import { createRouter, createWebHistory } from 'vue-router'; +import { $i, iAmModerator } from './account'; import MkLoading from '@/pages/_loading_.vue'; import MkError from '@/pages/_error_.vue'; import MkTimeline from '@/pages/timeline.vue'; -import { $i, iAmModerator } from './account'; import { ui } from '@/config'; // pathに/が入るとrollupが解決してくれないので、() => import('*.vue')を指定すること @@ -70,6 +70,7 @@ const defaultRoutes = [ { path: '/scratchpad', component: page('scratchpad') }, { path: '/admin/:page(.*)?', component: iAmModerator ? page(() => import('./pages/admin/index.vue')) : page('not-found'), props: route => ({ initialPage: route.params.page || null }) }, { path: '/admin', component: iAmModerator ? page(() => import('./pages/admin/index.vue')) : page('not-found') }, + { path: '/admin-file/:fileId', component: page('admin-file'), props: route => ({ fileId: route.params.fileId }) }, { path: '/notes/:note', name: 'note', component: page('note'), props: route => ({ noteId: route.params.note }) }, { path: '/tags/:tag', component: page('tag'), props: route => ({ tag: route.params.tag }) }, { path: '/user-info/:user', component: page('user-info'), props: route => ({ userId: route.params.user }) }, @@ -82,7 +83,7 @@ const defaultRoutes = [ { path: '/miauth/:session', component: page('miauth') }, { path: '/authorize-follow', component: page('follow') }, { path: '/share', component: page('share') }, - { path: '/:catchAll(.*)', component: page('not-found') } + { path: '/:catchAll(.*)', component: page('not-found') }, ]; const chatRoutes = [ @@ -126,7 +127,7 @@ export const router = createRouter({ window.scroll({ top: 0, behavior: 'instant' }); } }; - } + }, }); router.afterEach((to, from) => { @@ -141,6 +142,6 @@ export function resolve(path: string) { return { component: markRaw(route.components.default), // TODO: route.propsには関数以外も入る可能性があるのでよしなにハンドリングする - props: route.props?.default ? route.props.default(resolved) : resolved.params + props: route.props.default ? route.props.default(resolved) : resolved.params, }; } -- cgit v1.2.3-freya