summaryrefslogtreecommitdiff
path: root/front/src/ErrorHandler.tsx
blob: 9b0c5c71baffbc4a1f198fba8004f54b0177a145 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
import { useContext } from "react";
import { useRouteError } from "react-router";
import { AllowedLanguages, LanguageContext } from "./Locales/Context";
import { GetLocalizedString } from "./Locales/Locales";

type RouteError = {
    status: number,
    statusText: string,
    internal: boolean,
    data: string
};

function ErrorHandler() {
  const language = useContext(LanguageContext);
  let error = useRouteError() as RouteError; 

  if (error.status == 403)
      return forbid(language);

  return (
      <div>
            <h1> {error.status} {error.statusText} </h1>
      </div>
  );
}


function forbid(language: AllowedLanguages) {
    return (
        <div>
            <h1> { GetLocalizedString("Forbidden", language) } </h1>
            <p> { GetLocalizedString("*forbidden*", language) } </p>
        </div>
    );
}

export default ErrorHandler;