@@ -1,34 +0,0 @@
|
||||
import { RouteConfig } from "vue-router";
|
||||
import CreateConversation from "@/views/Conversations/Create.vue";
|
||||
import ConversationsList from "@/views/Conversations/ConversationsList.vue";
|
||||
import Conversation from "@/views/Conversations/Conversation.vue";
|
||||
|
||||
export enum ConversationRouteName {
|
||||
CONVERSATION_LIST = "CONVERSATION_LIST",
|
||||
CREATE_CONVERSATION = "CREATE_CONVERSATION",
|
||||
CONVERSATION = "CONVERSATION",
|
||||
}
|
||||
|
||||
export const conversationRoutes: RouteConfig[] = [
|
||||
{
|
||||
path: "/@:preferredUsername/conversations",
|
||||
name: ConversationRouteName.CONVERSATION_LIST,
|
||||
component: ConversationsList,
|
||||
props: true,
|
||||
meta: { requiredAuth: false },
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/conversations/new",
|
||||
name: ConversationRouteName.CREATE_CONVERSATION,
|
||||
component: CreateConversation,
|
||||
props: true,
|
||||
meta: { requiredAuth: true },
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/:slug/:id/:comment_id?",
|
||||
name: ConversationRouteName.CONVERSATION,
|
||||
component: Conversation,
|
||||
props: true,
|
||||
meta: { requiredAuth: false },
|
||||
},
|
||||
];
|
||||
34
js/src/router/discussion.ts
Normal file
34
js/src/router/discussion.ts
Normal file
@@ -0,0 +1,34 @@
|
||||
import { RouteConfig } from "vue-router";
|
||||
import CreateDiscussion from "@/views/Discussions/Create.vue";
|
||||
import DiscussionsList from "@/views/Discussions/DiscussionsList.vue";
|
||||
import discussion from "@/views/Discussions/Discussion.vue";
|
||||
|
||||
export enum DiscussionRouteName {
|
||||
DISCUSSION_LIST = "DISCUSSION_LIST",
|
||||
CREATE_DISCUSSION = "CREATE_DISCUSSION",
|
||||
DISCUSSION = "DISCUSSION",
|
||||
}
|
||||
|
||||
export const discussionRoutes: RouteConfig[] = [
|
||||
{
|
||||
path: "/@:preferredUsername/discussions",
|
||||
name: DiscussionRouteName.DISCUSSION_LIST,
|
||||
component: DiscussionsList,
|
||||
props: true,
|
||||
meta: { requiredAuth: false },
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/discussions/new",
|
||||
name: DiscussionRouteName.CREATE_DISCUSSION,
|
||||
component: CreateDiscussion,
|
||||
props: true,
|
||||
meta: { requiredAuth: true },
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/c/:slug/:comment_id?",
|
||||
name: DiscussionRouteName.DISCUSSION,
|
||||
component: discussion,
|
||||
props: true,
|
||||
meta: { requiredAuth: false },
|
||||
},
|
||||
];
|
||||
@@ -1,4 +1,4 @@
|
||||
import { RouteConfig } from "vue-router";
|
||||
import { RouteConfig, Route } from "vue-router";
|
||||
|
||||
export enum GroupsRouteName {
|
||||
TODO_LISTS = "TODO_LISTS",
|
||||
@@ -10,6 +10,10 @@ export enum GroupsRouteName {
|
||||
RESOURCES = "RESOURCES",
|
||||
RESOURCE_FOLDER_ROOT = "RESOURCE_FOLDER_ROOT",
|
||||
RESOURCE_FOLDER = "RESOURCE_FOLDER",
|
||||
POST_CREATE = "POST_CREATE",
|
||||
POST_EDIT = "POST_EDIT",
|
||||
POST = "POST",
|
||||
POSTS = "POSTS",
|
||||
}
|
||||
|
||||
const resourceFolder = () => import("@/views/Resources/ResourceFolder.vue");
|
||||
@@ -61,6 +65,7 @@ export const groupsRoutes: RouteConfig[] = [
|
||||
{
|
||||
path: "public",
|
||||
name: GroupsRouteName.GROUP_PUBLIC_SETTINGS,
|
||||
component: () => import("../views/Group/GroupSettings.vue"),
|
||||
},
|
||||
{
|
||||
path: "members",
|
||||
@@ -70,4 +75,28 @@ export const groupsRoutes: RouteConfig[] = [
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/p/new",
|
||||
component: () => import("@/views/Posts/Edit.vue"),
|
||||
props: true,
|
||||
name: GroupsRouteName.POST_CREATE,
|
||||
},
|
||||
{
|
||||
path: "/p/:slug/edit",
|
||||
component: () => import("@/views/Posts/Edit.vue"),
|
||||
props: (route: Route) => ({ ...route.params, ...{ isUpdate: true } }),
|
||||
name: GroupsRouteName.POST_EDIT,
|
||||
},
|
||||
{
|
||||
path: "/p/:slug",
|
||||
component: () => import("@/views/Posts/Post.vue"),
|
||||
props: true,
|
||||
name: GroupsRouteName.POST,
|
||||
},
|
||||
{
|
||||
path: "/@:preferredUsername/p",
|
||||
component: () => import("@/views/Posts/List.vue"),
|
||||
props: true,
|
||||
name: GroupsRouteName.POSTS,
|
||||
},
|
||||
];
|
||||
|
||||
@@ -11,7 +11,7 @@ import { authGuardIfNeeded } from "./guards/auth-guard";
|
||||
import Search from "../views/Search.vue";
|
||||
import { settingsRoutes } from "./settings";
|
||||
import { groupsRoutes } from "./groups";
|
||||
import { conversationRoutes } from "./conversation";
|
||||
import { discussionRoutes } from "./discussion";
|
||||
import { userRoutes } from "./user";
|
||||
import RouteName from "./name";
|
||||
|
||||
@@ -46,7 +46,7 @@ const router = new Router({
|
||||
...settingsRoutes,
|
||||
...actorRoutes,
|
||||
...groupsRoutes,
|
||||
...conversationRoutes,
|
||||
...discussionRoutes,
|
||||
...errorRoutes,
|
||||
{
|
||||
path: "/search/:searchTerm/:searchType?",
|
||||
|
||||
@@ -3,7 +3,7 @@ import { ActorRouteName } from "./actor";
|
||||
import { ErrorRouteName } from "./error";
|
||||
import { SettingsRouteName } from "./settings";
|
||||
import { GroupsRouteName } from "./groups";
|
||||
import { ConversationRouteName } from "./conversation";
|
||||
import { DiscussionRouteName } from "./discussion";
|
||||
import { UserRouteName } from "./user";
|
||||
|
||||
enum GlobalRouteName {
|
||||
@@ -29,6 +29,6 @@ export default {
|
||||
...ActorRouteName,
|
||||
...SettingsRouteName,
|
||||
...GroupsRouteName,
|
||||
...ConversationRouteName,
|
||||
...DiscussionRouteName,
|
||||
...ErrorRouteName,
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user