Browse Source

update invitedForm

jam411 3 years ago
parent
commit
4e039d7b99
1 changed files with 25 additions and 7 deletions
  1. 25 7
      packages/app/src/components/InvitedForm.tsx

+ 25 - 7
packages/app/src/components/InvitedForm.tsx

@@ -1,4 +1,4 @@
-import React, { useCallback } from 'react';
+import React, { useCallback, useState } from 'react';
 
 
 import { useTranslation } from 'next-i18next';
 import { useTranslation } from 'next-i18next';
 
 
@@ -17,6 +17,8 @@ export const InvitedForm = (props: InvitedFormProps): JSX.Element => {
   const { t } = useTranslation();
   const { t } = useTranslation();
   const { data: user } = useCurrentUser();
   const { data: user } = useCurrentUser();
 
 
+  const [loginErrors, setLoginErrors] = useState<Error[]>([]);
+
   const { invitedFormUsername, invitedFormName } = props;
   const { invitedFormUsername, invitedFormName } = props;
 
 
   const submitHandler = useCallback(async(e) => {
   const submitHandler = useCallback(async(e) => {
@@ -37,11 +39,11 @@ export const InvitedForm = (props: InvitedFormProps): JSX.Element => {
     };
     };
 
 
     try {
     try {
-      await apiv3Post('/invited/activateInvited', { invitedForm });
+      const res = await apiv3Post('/invited', { invitedForm });
       window.location.href = '/';
       window.location.href = '/';
     }
     }
     catch (err) {
     catch (err) {
-      // TODO: return error log
+      setLoginErrors(err);
     }
     }
   }, []);
   }, []);
 
 
@@ -51,10 +53,26 @@ export const InvitedForm = (props: InvitedFormProps): JSX.Element => {
 
 
   return (
   return (
     <div className="noLogin-dialog p-3 mx-auto" id="noLogin-dialog">
     <div className="noLogin-dialog p-3 mx-auto" id="noLogin-dialog">
-      <p className="alert alert-success">
-        <strong>{ t('invited.discription_heading') }</strong><br></br>
-        <small>{ t('invited.discription') }</small>
-      </p>
+
+      {
+        loginErrors != null && loginErrors.length > 0 ? (
+          <p className="alert alert-danger">
+            {loginErrors.map((err, index) => {
+              return (
+                <span key={index}>
+                  {t(`message.${err.message}`)}<br/>
+                </span>
+              );
+            })}
+          </p>
+        ) : (
+          <p className="alert alert-success">
+            <strong>{ t('invited.discription_heading') }</strong><br></br>
+            <small>{ t('invited.discription') }</small>
+          </p>
+        )
+      }
+
       <form role="form" onSubmit={submitHandler} id="invited-form">
       <form role="form" onSubmit={submitHandler} id="invited-form">
         {/* Email Form */}
         {/* Email Form */}
         <div className="input-group">
         <div className="input-group">