]> Untitled Git - lemmy.git/blob - ui/src/index.tsx
Loading indicators.
[lemmy.git] / ui / src / index.tsx
1 import { render, Component } from 'inferno';
2 import { HashRouter, Route, Switch } from 'inferno-router';
3
4 import { Navbar } from './components/navbar';
5 import { Home } from './components/home';
6 import { Login } from './components/login';
7 import { CreatePost } from './components/create-post';
8 import { CreateCommunity } from './components/create-community';
9 import { Post } from './components/post';
10 import { Community } from './components/community';
11 import { Communities } from './components/communities';
12 import { User } from './components/user';
13 import { Symbols } from './components/symbols';
14
15 import './main.css';
16
17 import { WebSocketService, UserService } from './services';
18
19 const container = document.getElementById('app');
20
21 class Index extends Component<any, any> {
22
23   constructor(props: any, context: any) {
24     super(props, context);
25     WebSocketService.Instance;
26     UserService.Instance;
27   }
28
29   render() {
30     return (
31       <HashRouter>
32         <Navbar />
33         <div class="mt-3 p-0">
34           <Switch>
35             <Route exact path="/" component={Home} />
36             <Route path={`/login`} component={Login} />
37             <Route path={`/create_post`} component={CreatePost} />
38             <Route path={`/create_community`} component={CreateCommunity} />
39             <Route path={`/communities`} component={Communities} />
40             <Route path={`/post/:id/comment/:comment_id`} component={Post} />
41             <Route path={`/post/:id`} component={Post} />
42             <Route path={`/community/:id`} component={Community} />
43             <Route path={`/user/:id/:heading`} component={User} />
44             <Route path={`/user/:id`} component={User} />
45           </Switch>
46           <Symbols />
47         </div>
48       </HashRouter>
49     );
50   }
51
52 }
53
54 render(<Index />, container);