summaryrefslogtreecommitdiff
path: root/packages/client/src
diff options
context:
space:
mode:
authorAndreas Nedbal <github-bf215181b5140522137b3d4f6b73544a@desu.email>2022-03-04 09:13:10 +0100
committerGitHub <noreply@github.com>2022-03-04 17:13:10 +0900
commit7f4551b769cfabb86ea715cfbf16ff1fa98b6aa7 (patch)
tree167186bd48a50582e969419b3617dbc7f86ee7c5 /packages/client/src
parenttweak client (diff)
downloadsharkey-7f4551b769cfabb86ea715cfbf16ff1fa98b6aa7.tar.gz
sharkey-7f4551b769cfabb86ea715cfbf16ff1fa98b6aa7.tar.bz2
sharkey-7f4551b769cfabb86ea715cfbf16ff1fa98b6aa7.zip
Fix: Only allow admins to access admin views (#8361)
* fix(client): only allow admins to access /admin/* * fix(client): Also allow moderators to access admin panel
Diffstat (limited to 'packages/client/src')
-rw-r--r--packages/client/src/router.ts6
1 files changed, 3 insertions, 3 deletions
diff --git a/packages/client/src/router.ts b/packages/client/src/router.ts
index ec48b76fdf..839841f0fe 100644
--- a/packages/client/src/router.ts
+++ b/packages/client/src/router.ts
@@ -3,7 +3,7 @@ import { createRouter, createWebHistory } from 'vue-router';
import MkLoading from '@/pages/_loading_.vue';
import MkError from '@/pages/_error_.vue';
import MkTimeline from '@/pages/timeline.vue';
-import { $i } from './account';
+import { $i, iAmModerator } from './account';
import { ui } from '@/config';
const page = (path: string, ui?: string) => defineAsyncComponent({
@@ -67,8 +67,8 @@ const defaultRoutes = [
{ path: '/my/antennas/:antennaId', component: page('my-antennas/edit'), props: true },
{ path: '/my/clips', component: page('my-clips/index') },
{ path: '/scratchpad', component: page('scratchpad') },
- { path: '/admin/:page(.*)?', component: page('admin/index'), props: route => ({ initialPage: route.params.page || null }) },
- { path: '/admin', component: page('admin/index') },
+ { path: '/admin/:page(.*)?', component: iAmModerator ? page('admin/index') : page('not-found'), props: route => ({ initialPage: route.params.page || null }) },
+ { path: '/admin', component: iAmModerator ? page('admin/index') : page('not-found') },
{ 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 }) },