Application Android et IOS pour l'amicale des élèves
Vous ne pouvez pas sélectionner plus de 25 sujets Les noms de sujets doivent commencer par une lettre ou un nombre, peuvent contenir des tirets ('-') et peuvent comporter jusqu'à 35 caractères.

ErrorDialog.js 1.6KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. import * as React from 'react';
  2. import i18n from "i18n-js";
  3. import {ERROR_TYPE} from "../../utils/WebData";
  4. import AlertDialog from "./AlertDialog";
  5. type Props = {
  6. visible: boolean,
  7. onDismiss: Function,
  8. errorCode: number,
  9. }
  10. class ErrorDialog extends React.PureComponent<Props> {
  11. title: string;
  12. message: string;
  13. generateMessage() {
  14. this.title = i18n.t("errors.title");
  15. switch (this.props.errorCode) {
  16. case ERROR_TYPE.BAD_CREDENTIALS:
  17. this.message = i18n.t("errors.badCredentials");
  18. break;
  19. case ERROR_TYPE.BAD_TOKEN:
  20. this.message = i18n.t("errors.badToken");
  21. break;
  22. case ERROR_TYPE.NO_CONSENT:
  23. this.message = i18n.t("errors.noConsent");
  24. break;
  25. case ERROR_TYPE.BAD_INPUT:
  26. this.message = i18n.t("errors.badInput");
  27. break;
  28. case ERROR_TYPE.FORBIDDEN:
  29. this.message = i18n.t("errors.forbidden");
  30. break;
  31. case ERROR_TYPE.CONNECTION_ERROR:
  32. this.message = i18n.t("errors.connectionError");
  33. break;
  34. case ERROR_TYPE.SERVER_ERROR:
  35. this.message = i18n.t("errors.serverError");
  36. break;
  37. default:
  38. this.message = i18n.t("errors.unknown");
  39. break;
  40. }
  41. }
  42. render() {
  43. this.generateMessage();
  44. return (
  45. <AlertDialog {...this.props} title={this.title} message={this.message}/>
  46. );
  47. }
  48. }
  49. export default ErrorDialog;