diff --git a/js/src/router/discussion.ts b/js/src/router/discussion.ts index 0fb62b373..e67d6d29d 100644 --- a/js/src/router/discussion.ts +++ b/js/src/router/discussion.ts @@ -13,7 +13,7 @@ export const discussionRoutes: RouteConfig[] = [ component: () => import(/* webpackChunkName: "DiscussionsList" */ "@/views/Discussions/DiscussionsList.vue"), props: true, - meta: { requiredAuth: false }, + meta: { requiredAuth: true }, }, { path: "/@:preferredUsername/discussions/new", @@ -29,6 +29,6 @@ export const discussionRoutes: RouteConfig[] = [ component: () => import(/* webpackChunkName: "Discussion" */ "@/views/Discussions/Discussion.vue"), props: true, - meta: { requiredAuth: false }, + meta: { requiredAuth: true }, }, ]; diff --git a/js/src/router/groups.ts b/js/src/router/groups.ts index 36b1864c6..7f633af88 100644 --- a/js/src/router/groups.ts +++ b/js/src/router/groups.ts @@ -83,12 +83,14 @@ export const groupsRoutes: RouteConfig[] = [ component: () => import("@/views/Posts/Edit.vue"), props: true, name: GroupsRouteName.POST_CREATE, + meta: { requiredAuth: true }, }, { path: "/p/:slug/edit", component: () => import("@/views/Posts/Edit.vue"), props: (route: Route) => ({ ...route.params, ...{ isUpdate: true } }), name: GroupsRouteName.POST_EDIT, + meta: { requiredAuth: true }, }, { path: "/p/:slug", diff --git a/js/src/router/settings.ts b/js/src/router/settings.ts index a2a700713..67fcabdae 100644 --- a/js/src/router/settings.ts +++ b/js/src/router/settings.ts @@ -40,6 +40,7 @@ export const settingsRoutes: RouteConfig[] = [ path: "account", name: SettingsRouteName.ACCOUNT_SETTINGS, redirect: { name: SettingsRouteName.ACCOUNT_SETTINGS_GENERAL }, + meta: { requiredAuth: true }, }, { path: "account/general", @@ -69,6 +70,7 @@ export const settingsRoutes: RouteConfig[] = [ path: "admin", name: SettingsRouteName.ADMIN, redirect: { name: SettingsRouteName.ADMIN_DASHBOARD }, + meta: { requiredAuth: true }, }, { path: "admin/dashboard", @@ -136,27 +138,30 @@ export const settingsRoutes: RouteConfig[] = [ name: SettingsRouteName.RELAYS, redirect: { name: SettingsRouteName.RELAY_FOLLOWINGS }, component: () => import(/* webpackChunkName: "Follows" */ "@/views/Admin/Follows.vue"), + meta: { requiredAuth: true }, children: [ { path: "followings", name: SettingsRouteName.RELAY_FOLLOWINGS, component: () => import(/* webpackChunkName: "Followings" */ "@/components/Admin/Followings.vue"), + meta: { requiredAuth: true }, }, { path: "followers", name: SettingsRouteName.RELAY_FOLLOWERS, component: () => import(/* webpackChunkName: "Followers" */ "@/components/Admin/Followers.vue"), + meta: { requiredAuth: true }, }, ], props: true, - meta: { requiredAuth: true }, }, { path: "/moderation", name: SettingsRouteName.MODERATION, redirect: { name: SettingsRouteName.REPORTS }, + meta: { requiredAuth: true }, }, { path: "/moderation/reports/:filter?", @@ -185,6 +190,7 @@ export const settingsRoutes: RouteConfig[] = [ path: "/identity", name: SettingsRouteName.IDENTITIES, redirect: { name: SettingsRouteName.UPDATE_IDENTITY }, + meta: { requiredAuth: true }, }, { path: "/identity/create", @@ -194,6 +200,7 @@ export const settingsRoutes: RouteConfig[] = [ /* webpackChunkName: "EditIdentity" */ "@/views/Account/children/EditIdentity.vue" ), props: (route) => ({ identityName: route.params.identityName, isUpdate: false }), + meta: { requiredAuth: true }, }, { path: "/identity/update/:identityName?", @@ -203,6 +210,7 @@ export const settingsRoutes: RouteConfig[] = [ /* webpackChunkName: "EditIdentity" */ "@/views/Account/children/EditIdentity.vue" ), props: (route) => ({ identityName: route.params.identityName, isUpdate: true }), + meta: { requiredAuth: true }, }, ], }, diff --git a/js/src/views/Interact.vue b/js/src/views/Interact.vue index 1c018c6f4..b997ce8d8 100644 --- a/js/src/views/Interact.vue +++ b/js/src/views/Interact.vue @@ -27,12 +27,10 @@ import RouteName from "../router/name"; skip() { try { const url = this.$route.query.url as string; - new URL(url); - return false; + const uri = new URL(url); + return !(uri instanceof URL); } catch (e) { - if (e instanceof TypeError) { - return true; - } + return true; } }, async result({ data }) { @@ -42,7 +40,7 @@ import RouteName from "../router/name"; data.searchEvents.elements.length > 0 ) { const event = data.searchEvents.elements[0]; - return await this.$router.replace({ + await this.$router.replace({ name: RouteName.EVENT, params: { uuid: event.uuid }, });