Press n or j to go to the next uncovered block, b, p or k for the previous block.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 | 105x 1x 1x 105x 27x 27x 5x 2x 1x 27x | import { getApprovingRole, newUserRoleMap } from "shared-utils"; import { ConfirmationDialog } from "@/components/ConfirmationDialog"; import { SelfRevokeAcess } from "@/features"; import { convertStateAbbrToFullName } from "@/utils"; interface ModalProps { open: boolean; selfRevokeRole: SelfRevokeAcess | null; onAccept: () => void; onCancel: () => void; } const LegacyWithdrawRoleModal = ({ open, selfRevokeRole, onAccept, onCancel }: ModalProps) => ( <ConfirmationDialog open={open} title="Withdraw State Access?" body={`This action cannot be undone. ${convertStateAbbrToFullName( selfRevokeRole.territory, )} State System Admin will be notified.`} aria-labelledby="Self Revoke Access Modal" acceptButtonText="Confirm" onAccept={onAccept} onCancel={onCancel} /> ); const WithdrawPendingRoleModal = ({ open, onAccept, onCancel }: ModalProps) => ( <ConfirmationDialog open={open} title="Withdraw role request?" body="This role is still pending approval. Withdrawing it will cancel your request." aria-labelledby="Self Withdraw Pending Access Modal" acceptButtonText="Withdraw request" onAccept={onAccept} onCancel={onCancel} /> ); const RemoveActiveRoleModal = ({ open, selfRevokeRole, onAccept, onCancel }: ModalProps) => { const approvingRole = getApprovingRole(selfRevokeRole.role); const stateDisplay = selfRevokeRole.role === "statesubmitter" ? `${convertStateAbbrToFullName(selfRevokeRole.territory)} ` : ""; return ( <ConfirmationDialog open={open} title={ <div className="mr-4"> Withdraw {stateDisplay} {newUserRoleMap[selfRevokeRole.role].toLowerCase()} access? </div> } body={`This action cannot be undone. The ${stateDisplay}${newUserRoleMap[approvingRole]} will be notified of this change.`} aria-labelledby="Self Remove Role Modal" acceptButtonText="Confirm" onAccept={onAccept} onCancel={onCancel} /> ); }; export const WithdrawRoleModal = (props: ModalProps) => { const modalType = (function () { if (!props.selfRevokeRole) return null; if (!props.selfRevokeRole.isNewUserRoleDisplay) return "legacy-withdraw"; if (props.selfRevokeRole.status === "pending") return "pending-withdraw"; Eif (props.selfRevokeRole.status === "active") return "remove-role"; })(); if (!props.selfRevokeRole) return; return ( <> {modalType === "legacy-withdraw" && <LegacyWithdrawRoleModal {...props} />} {modalType === "pending-withdraw" && <WithdrawPendingRoleModal {...props} />} {modalType === "remove-role" && <RemoveActiveRoleModal {...props} />} </> ); }; |