Forwarding error code to 404 page.
authorDessalines <tyhou13@gmx.com>
Tue, 10 Nov 2020 22:45:59 +0000 (16:45 -0600)
committerDessalines <tyhou13@gmx.com>
Tue, 10 Nov 2020 22:45:59 +0000 (16:45 -0600)
src/server/index.tsx
src/shared/components/no-match.tsx

index e2d0c2ff1bd94bc1816d7b3640d9729fbed2e889..7d32258048ba9483ae0b0d169f0b127aea3a6f10 100644 (file)
@@ -46,8 +46,8 @@ server.get('/*', async (req, res) => {
 
   // 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 errCode = routeData[0].error;
+    return res.redirect(`/404?err=${errCode}`);
   }
 
   let acceptLang = req.headers['accept-language']
index 7020b2bd0146834823293b06cfb9151c82fefb52..99ea61512446de0e181c8139592164f443be3314 100644 (file)
@@ -1,6 +1,9 @@
 import { Component } from 'inferno';
+import { i18n } from '../i18next';
 
 export class NoMatch extends Component<any, any> {
+  private errCode = new URLSearchParams(this.props.location.search).get('err');
+
   constructor(props: any, context: any) {
     super(props, context);
   }
@@ -9,6 +12,11 @@ export class NoMatch extends Component<any, any> {
     return (
       <div class="container">
         <h1>404</h1>
+        {this.errCode && (
+          <h3>
+            {i18n.t('code')}: {i18n.t(this.errCode)}
+          </h3>
+        )}
       </div>
     );
   }