This commit is contained in:
Anik Ghosh 2022-03-16 14:08:22 +05:30
parent 8ec52a90f1
commit 32f8c99a71
3 changed files with 52 additions and 7 deletions

View File

@ -62,8 +62,22 @@ const InviteMembersModal = ({ disabled = true }: { disabled: boolean }) => {
setDisableSendButton(false); setDisableSendButton(false);
} }
}, [redirectURI, emails]); }, [redirectURI, emails]);
useEffect(() => {
return () => {
setRedirectURI({
value: '',
isInvalid: false,
});
setEmails([
{
value: '',
isInvalid: false,
},
]);
};
}, []);
const sendInviteHandler = async () => { const sendInviteHandler = async () => {
onClose(); closeModalHandler();
}; };
const updateEmailListHandler = (operation: string, index: number = 0) => { const updateEmailListHandler = (operation: string, index: number = 0) => {
switch (operation) { switch (operation) {
@ -112,6 +126,19 @@ const InviteMembersModal = ({ disabled = true }: { disabled: boolean }) => {
onDrop, onDrop,
accept: 'text/csv', accept: 'text/csv',
}); });
const closeModalHandler = () => {
setRedirectURI({
value: '',
isInvalid: false,
});
setEmails([
{
value: '',
isInvalid: false,
},
]);
onClose();
};
return ( return (
<> <>
<Button <Button
@ -122,11 +149,9 @@ const InviteMembersModal = ({ disabled = true }: { disabled: boolean }) => {
isDisabled={disabled} isDisabled={disabled}
size="sm" size="sm"
> >
<Center h="100%" pt="5%"> <Center h="100%">Invite Members</Center>
Invite Members
</Center>
</Button> </Button>
<Modal isOpen={isOpen} onClose={onClose} size="xl"> <Modal isOpen={isOpen} onClose={closeModalHandler} size="xl">
<ModalOverlay /> <ModalOverlay />
<ModalContent> <ModalContent>
<ModalHeader>Invite Members</ModalHeader> <ModalHeader>Invite Members</ModalHeader>

View File

@ -84,3 +84,11 @@ export const UserDetailsQuery = `
} }
} }
`; `;
export const EmailVerificationQuery = `
query {
_env{
DISABLE_EMAIL_VERIFICATION
}
}
`;

View File

@ -38,7 +38,7 @@ import {
FaExclamationCircle, FaExclamationCircle,
FaAngleDown, FaAngleDown,
} from 'react-icons/fa'; } from 'react-icons/fa';
import { UserDetailsQuery } from '../graphql/queries'; import { EmailVerificationQuery, UserDetailsQuery } from '../graphql/queries';
import { UpdateUser } from '../graphql/mutation'; import { UpdateUser } from '../graphql/mutation';
import EditUserModal from '../components/EditUserModal'; import EditUserModal from '../components/EditUserModal';
import DeleteUserModal from '../components/DeleteUserModal'; import DeleteUserModal from '../components/DeleteUserModal';
@ -102,6 +102,8 @@ export default function Users() {
}); });
const [userList, setUserList] = React.useState<userDataTypes[]>([]); const [userList, setUserList] = React.useState<userDataTypes[]>([]);
const [loading, setLoading] = React.useState<boolean>(false); const [loading, setLoading] = React.useState<boolean>(false);
const [disableInviteMembers, setDisableInviteMembers] =
React.useState<boolean>(true);
const updateUserList = async () => { const updateUserList = async () => {
setLoading(true); setLoading(true);
const { data } = await client const { data } = await client
@ -133,8 +135,18 @@ export default function Users() {
} }
setLoading(false); 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(() => { React.useEffect(() => {
updateUserList(); updateUserList();
checkEmailVerification();
}, []); }, []);
React.useEffect(() => { React.useEffect(() => {
updateUserList(); updateUserList();
@ -178,7 +190,7 @@ export default function Users() {
<Text fontSize="md" fontWeight="bold"> <Text fontSize="md" fontWeight="bold">
Users Users
</Text> </Text>
<InviteMembersModal disabled={true} /> <InviteMembersModal disabled={disableInviteMembers} />
</Flex> </Flex>
{!loading ? ( {!loading ? (
userList.length > 0 ? ( userList.length > 0 ? (