mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-12-23 03:11:25 +00:00
Create a 404 page. Fixes #71
This commit is contained in:
parent
c4cf0c8a2b
commit
46f2a7cda7
3 changed files with 27 additions and 5 deletions
|
@ -44,6 +44,12 @@ server.get('/*', async (req, res) => {
|
|||
let site: GetSiteResponse = resolver[0];
|
||||
let routeData = resolver.slice(1, resolver.length);
|
||||
|
||||
// Redirect to the 404 if there's an API error
|
||||
if (routeData[0] && routeData[0].error) {
|
||||
console.log(`Route error: ${routeData[0].error}`);
|
||||
return res.redirect('/404');
|
||||
}
|
||||
|
||||
let acceptLang = req.headers['accept-language']
|
||||
? req.headers['accept-language'].split(',')[0]
|
||||
: 'en';
|
||||
|
|
|
@ -3,11 +3,12 @@ import { Route, Switch } from 'inferno-router';
|
|||
import { Provider } from 'inferno-i18next';
|
||||
import { Helmet } from 'inferno-helmet';
|
||||
import { i18n } from '../i18next';
|
||||
import { routes } from '../../shared/routes';
|
||||
import { Navbar } from '../../shared/components/navbar';
|
||||
import { Footer } from '../../shared/components/footer';
|
||||
import { routes } from '../routes';
|
||||
import { Navbar } from './navbar';
|
||||
import { Footer } from './footer';
|
||||
import { NoMatch } from './no-match';
|
||||
import { Theme } from './theme';
|
||||
import { Symbols } from '../../shared/components/symbols';
|
||||
import { Symbols } from './symbols';
|
||||
import { GetSiteResponse } from 'lemmy-js-client';
|
||||
import './styles.scss';
|
||||
|
||||
|
@ -48,7 +49,7 @@ export class App extends Component<AppProps, any> {
|
|||
render={props => <C {...props} {...rest} />}
|
||||
/>
|
||||
))}
|
||||
{/* <Route render={(props) => <NoMatch {...props} />} /> */}
|
||||
<Route render={props => <NoMatch {...props} />} />
|
||||
</Switch>
|
||||
<Symbols />
|
||||
</div>
|
||||
|
|
15
src/shared/components/no-match.tsx
Normal file
15
src/shared/components/no-match.tsx
Normal file
|
@ -0,0 +1,15 @@
|
|||
import { Component } from 'inferno';
|
||||
|
||||
export class NoMatch extends Component<any, any> {
|
||||
constructor(props: any, context: any) {
|
||||
super(props, context);
|
||||
}
|
||||
|
||||
render() {
|
||||
return (
|
||||
<div class="container">
|
||||
<h1>404</h1>
|
||||
</div>
|
||||
);
|
||||
}
|
||||
}
|
Loading…
Reference in a new issue