diff --git a/dashboard/src/components/InviteMembersModal.tsx b/dashboard/src/components/InviteMembersModal.tsx
index 50a4c2c..c154d28 100644
--- a/dashboard/src/components/InviteMembersModal.tsx
+++ b/dashboard/src/components/InviteMembersModal.tsx
@@ -62,8 +62,22 @@ const InviteMembersModal = ({ disabled = true }: { disabled: boolean }) => {
setDisableSendButton(false);
}
}, [redirectURI, emails]);
+ useEffect(() => {
+ return () => {
+ setRedirectURI({
+ value: '',
+ isInvalid: false,
+ });
+ setEmails([
+ {
+ value: '',
+ isInvalid: false,
+ },
+ ]);
+ };
+ }, []);
const sendInviteHandler = async () => {
- onClose();
+ closeModalHandler();
};
const updateEmailListHandler = (operation: string, index: number = 0) => {
switch (operation) {
@@ -112,6 +126,19 @@ const InviteMembersModal = ({ disabled = true }: { disabled: boolean }) => {
onDrop,
accept: 'text/csv',
});
+ const closeModalHandler = () => {
+ setRedirectURI({
+ value: '',
+ isInvalid: false,
+ });
+ setEmails([
+ {
+ value: '',
+ isInvalid: false,
+ },
+ ]);
+ onClose();
+ };
return (
<>
-
+
Invite Members
diff --git a/dashboard/src/graphql/queries/index.ts b/dashboard/src/graphql/queries/index.ts
index 8528f3f..698452e 100644
--- a/dashboard/src/graphql/queries/index.ts
+++ b/dashboard/src/graphql/queries/index.ts
@@ -84,3 +84,11 @@ export const UserDetailsQuery = `
}
}
`;
+
+export const EmailVerificationQuery = `
+ query {
+ _env{
+ DISABLE_EMAIL_VERIFICATION
+ }
+ }
+`;
diff --git a/dashboard/src/pages/Users.tsx b/dashboard/src/pages/Users.tsx
index 552fbe8..7e542d1 100644
--- a/dashboard/src/pages/Users.tsx
+++ b/dashboard/src/pages/Users.tsx
@@ -38,7 +38,7 @@ import {
FaExclamationCircle,
FaAngleDown,
} from 'react-icons/fa';
-import { UserDetailsQuery } from '../graphql/queries';
+import { EmailVerificationQuery, UserDetailsQuery } from '../graphql/queries';
import { UpdateUser } from '../graphql/mutation';
import EditUserModal from '../components/EditUserModal';
import DeleteUserModal from '../components/DeleteUserModal';
@@ -102,6 +102,8 @@ export default function Users() {
});
const [userList, setUserList] = React.useState([]);
const [loading, setLoading] = React.useState(false);
+ const [disableInviteMembers, setDisableInviteMembers] =
+ React.useState(true);
const updateUserList = async () => {
setLoading(true);
const { data } = await client
@@ -133,8 +135,18 @@ export default function Users() {
}
setLoading(false);
};
+ const checkEmailVerification = async () => {
+ setLoading(true);
+ const { data } = await client.query(EmailVerificationQuery).toPromise();
+ if (data?._env) {
+ const { DISABLE_EMAIL_VERIFICATION } = data._env;
+ setDisableInviteMembers(DISABLE_EMAIL_VERIFICATION);
+ }
+ setLoading(false);
+ };
React.useEffect(() => {
updateUserList();
+ checkEmailVerification();
}, []);
React.useEffect(() => {
updateUserList();
@@ -178,7 +190,7 @@ export default function Users() {
Users
-
+
{!loading ? (
userList.length > 0 ? (