Vote popups done

This commit is contained in:
Maxime Lalo 2023-07-25 14:55:46 +02:00
parent df3f4ff590
commit 6a091581f7

View File

@ -3,6 +3,7 @@ import OfficeRoles from "@Front/Api/LeCoffreApi/Admin/OfficeRoles/OfficeRoles";
import Users from "@Front/Api/LeCoffreApi/SuperAdmin/Users/Users"; import Users from "@Front/Api/LeCoffreApi/SuperAdmin/Users/Users";
import CheckBox from "@Front/Components/DesignSystem/CheckBox"; import CheckBox from "@Front/Components/DesignSystem/CheckBox";
import SelectField, { IOption } from "@Front/Components/DesignSystem/Form/SelectField"; import SelectField, { IOption } from "@Front/Components/DesignSystem/Form/SelectField";
import Confirm from "@Front/Components/DesignSystem/Modal/Confirm";
import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography"; import Typography, { ITypo, ITypoColor } from "@Front/Components/DesignSystem/Typography";
import DefaultUserDashboard from "@Front/Components/LayoutTemplates/DefaultUserDashboard"; import DefaultUserDashboard from "@Front/Components/LayoutTemplates/DefaultUserDashboard";
import User from "le-coffre-resources/dist/Notary"; import User from "le-coffre-resources/dist/Notary";
@ -20,6 +21,42 @@ export default function UserInformations(props: IProps) {
const [userSelected, setUserSelected] = useState<User | null>(null); const [userSelected, setUserSelected] = useState<User | null>(null);
const [availableRoles, setAvailableRoles] = useState<IOption[]>([]); const [availableRoles, setAvailableRoles] = useState<IOption[]>([]);
const [addSuperAdminModalOpened, setAddSuperAdminModalOpened] = useState<boolean>(false);
const [removeSuperAdminModalOpened, setRemoveSuperAdminModalOpened] = useState<boolean>(false);
const openAddSuperAdminModal = () => {
setAddSuperAdminModalOpened(true);
};
const closeAddSuperAdminModal = () => {
setAddSuperAdminModalOpened(false);
};
const openRemoveSuperAdminModal = () => {
setRemoveSuperAdminModalOpened(true);
};
const closeRemoveSuperAdminModal = () => {
setRemoveSuperAdminModalOpened(false);
};
const handleCheckboxAdminChanged = (e: React.ChangeEvent<HTMLInputElement>) => {
const checked = e.target.checked;
if (checked) {
openAddSuperAdminModal();
} else {
openRemoveSuperAdminModal();
}
};
const addSuperAdmin = async () => {
closeAddSuperAdminModal();
};
const removeSuperAdmin = async () => {
closeRemoveSuperAdminModal();
};
useEffect(() => { useEffect(() => {
async function getUser() { async function getUser() {
if (!userUid) return; if (!userUid) return;
@ -109,6 +146,7 @@ export default function UserInformations(props: IProps) {
toolTip="tooltip" toolTip="tooltip"
/> />
<CheckBox <CheckBox
onChange={handleCheckboxAdminChanged}
option={{ option={{
label: "Nommer super admin LEcoffre.io", label: "Nommer super admin LEcoffre.io",
value: "title", value: "title",
@ -135,6 +173,40 @@ export default function UserInformations(props: IProps) {
</div> </div>
</div> </div>
</div> </div>
<Confirm
isOpen={addSuperAdminModalOpened}
onClose={closeAddSuperAdminModal}
onAccept={addSuperAdmin}
closeBtn
header={`Souhaitez-vous attribuer un vote à ${
userSelected?.contact?.first_name + " " + userSelected?.contact?.last_name
} pour devenir Super Administrateur ?`}
confirmText={"Attribuer un vote"}
cancelText={"Annuler"}>
<div className={classes["modal-content"]}>
<Typography typo={ITypo.P_16} className={classes["text"]}>
Nommer une personne Super Administrateur nécessite 3 votes de super administrateurs existants. Souhaitez-vous
attribuer un vote ?
</Typography>
</div>
</Confirm>
<Confirm
isOpen={removeSuperAdminModalOpened}
onClose={closeRemoveSuperAdminModal}
onAccept={removeSuperAdmin}
closeBtn
header={`Souhaitez-vous retirer ${
userSelected?.contact?.first_name + " " + userSelected?.contact?.last_name
} de la liste des Super Administrateurs ?`}
confirmText={"Attribuer un vote"}
cancelText={"Annuler"}>
<div className={classes["modal-content"]}>
<Typography typo={ITypo.P_16} className={classes["text"]}>
Retirer un collaborateur du rôle de Super Administrateur nécessite 3 votes de super administrateurs existants.
Souhaitez-vous attribuer un vote ?
</Typography>
</div>
</Confirm>
</div> </div>
</DefaultUserDashboard> </DefaultUserDashboard>
); );