]> Untitled Git - lemmy-ui.git/blob - src/shared/routes.ts
Fixing comment report showing dot. (#1989)
[lemmy-ui.git] / src / shared / routes.ts
1 import { IRouteProps } from "inferno-router/dist/Route";
2 import { Communities } from "./components/community/communities";
3 import { Community } from "./components/community/community";
4 import { CreateCommunity } from "./components/community/create-community";
5 import { AdminSettings } from "./components/home/admin-settings";
6 import { Home } from "./components/home/home";
7 import { Instances } from "./components/home/instances";
8 import { Legal } from "./components/home/legal";
9 import { Login } from "./components/home/login";
10 import { LoginReset } from "./components/home/login-reset";
11 import { Setup } from "./components/home/setup";
12 import { Signup } from "./components/home/signup";
13 import { Modlog } from "./components/modlog";
14 import { Inbox } from "./components/person/inbox";
15 import { PasswordChange } from "./components/person/password-change";
16 import { Profile } from "./components/person/profile";
17 import { RegistrationApplications } from "./components/person/registration-applications";
18 import { Reports } from "./components/person/reports";
19 import { Settings } from "./components/person/settings";
20 import { VerifyEmail } from "./components/person/verify-email";
21 import { CreatePost } from "./components/post/create-post";
22 import { Post } from "./components/post/post";
23 import { CreatePrivateMessage } from "./components/private_message/create-private-message";
24 import { Search } from "./components/search";
25 import { InitialFetchRequest, RouteData } from "./interfaces";
26
27 interface IRoutePropsWithFetch<T extends RouteData> extends IRouteProps {
28   fetchInitialData?(req: InitialFetchRequest): Promise<T>;
29 }
30
31 export const routes: IRoutePropsWithFetch<Record<string, any>>[] = [
32   {
33     path: `/`,
34     component: Home,
35     fetchInitialData: Home.fetchInitialData,
36     exact: true,
37   },
38   {
39     path: `/login`,
40     component: Login,
41   },
42   {
43     path: `/login_reset`,
44     component: LoginReset,
45   },
46   {
47     path: `/signup`,
48     component: Signup,
49   },
50   {
51     path: `/create_post`,
52     component: CreatePost,
53     fetchInitialData: CreatePost.fetchInitialData,
54   },
55   {
56     path: `/create_community`,
57     component: CreateCommunity,
58   },
59   {
60     path: `/create_private_message/:recipient_id`,
61     component: CreatePrivateMessage,
62     fetchInitialData: CreatePrivateMessage.fetchInitialData,
63   },
64   {
65     path: `/communities`,
66     component: Communities,
67     fetchInitialData: Communities.fetchInitialData,
68   },
69   {
70     path: `/post/:post_id`,
71     component: Post,
72     fetchInitialData: Post.fetchInitialData,
73   },
74   {
75     path: `/comment/:comment_id`,
76     component: Post,
77     fetchInitialData: Post.fetchInitialData,
78   },
79   {
80     path: `/c/:name`,
81     component: Community,
82     fetchInitialData: Community.fetchInitialData,
83   },
84   {
85     path: `/u/:username`,
86     component: Profile,
87     fetchInitialData: Profile.fetchInitialData,
88   },
89   {
90     path: `/inbox`,
91     component: Inbox,
92     fetchInitialData: Inbox.fetchInitialData,
93   },
94   {
95     path: `/settings`,
96     component: Settings,
97   },
98   {
99     path: `/modlog/:communityId`,
100     component: Modlog,
101     fetchInitialData: Modlog.fetchInitialData,
102   },
103   {
104     path: `/modlog`,
105     component: Modlog,
106     fetchInitialData: Modlog.fetchInitialData,
107   },
108   { path: `/setup`, component: Setup },
109   {
110     path: `/admin`,
111     component: AdminSettings,
112     fetchInitialData: AdminSettings.fetchInitialData,
113   },
114   {
115     path: `/reports`,
116     component: Reports,
117     fetchInitialData: Reports.fetchInitialData,
118   },
119   {
120     path: `/registration_applications`,
121     component: RegistrationApplications,
122     fetchInitialData: RegistrationApplications.fetchInitialData,
123   },
124   {
125     path: `/search`,
126     component: Search,
127     fetchInitialData: Search.fetchInitialData,
128   },
129   {
130     path: `/password_change/:token`,
131     component: PasswordChange,
132   },
133   {
134     path: `/verify_email/:token`,
135     component: VerifyEmail,
136   },
137   {
138     path: `/instances`,
139     component: Instances,
140     fetchInitialData: Instances.fetchInitialData,
141   },
142   { path: `/legal`, component: Legal },
143 ];