mirror of
https://github.com/LemmyNet/lemmy-ui.git
synced 2024-12-23 11:21:26 +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 site: GetSiteResponse = resolver[0];
|
||||||
let routeData = resolver.slice(1, resolver.length);
|
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']
|
let acceptLang = req.headers['accept-language']
|
||||||
? req.headers['accept-language'].split(',')[0]
|
? req.headers['accept-language'].split(',')[0]
|
||||||
: 'en';
|
: 'en';
|
||||||
|
|
|
@ -3,11 +3,12 @@ import { Route, Switch } from 'inferno-router';
|
||||||
import { Provider } from 'inferno-i18next';
|
import { Provider } from 'inferno-i18next';
|
||||||
import { Helmet } from 'inferno-helmet';
|
import { Helmet } from 'inferno-helmet';
|
||||||
import { i18n } from '../i18next';
|
import { i18n } from '../i18next';
|
||||||
import { routes } from '../../shared/routes';
|
import { routes } from '../routes';
|
||||||
import { Navbar } from '../../shared/components/navbar';
|
import { Navbar } from './navbar';
|
||||||
import { Footer } from '../../shared/components/footer';
|
import { Footer } from './footer';
|
||||||
|
import { NoMatch } from './no-match';
|
||||||
import { Theme } from './theme';
|
import { Theme } from './theme';
|
||||||
import { Symbols } from '../../shared/components/symbols';
|
import { Symbols } from './symbols';
|
||||||
import { GetSiteResponse } from 'lemmy-js-client';
|
import { GetSiteResponse } from 'lemmy-js-client';
|
||||||
import './styles.scss';
|
import './styles.scss';
|
||||||
|
|
||||||
|
@ -48,7 +49,7 @@ export class App extends Component<AppProps, any> {
|
||||||
render={props => <C {...props} {...rest} />}
|
render={props => <C {...props} {...rest} />}
|
||||||
/>
|
/>
|
||||||
))}
|
))}
|
||||||
{/* <Route render={(props) => <NoMatch {...props} />} /> */}
|
<Route render={props => <NoMatch {...props} />} />
|
||||||
</Switch>
|
</Switch>
|
||||||
<Symbols />
|
<Symbols />
|
||||||
</div>
|
</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