Update UpgradePlanModal message to show relevant message on user actions

This commit is contained in:
carlosmonastyrski
2025-03-04 16:30:22 -03:00
parent bbf60169eb
commit 53f7491441
@@ -32,8 +32,12 @@ import {
} from "@app/hooks/api"; } from "@app/hooks/api";
import { UsePopUpState } from "@app/hooks/usePopUp"; import { UsePopUpState } from "@app/hooks/usePopUp";
const deleteUserUpgradePlanMessage = "Deleting users via Admin UI"
const addServerAdminUpgradePlanMessage = "Granting another user Server Admin permissions"
const UserPanelTable = ({ const UserPanelTable = ({
handlePopUpOpen handlePopUpOpen,
setUpgradePlanMessage
}: { }: {
handlePopUpOpen: ( handlePopUpOpen: (
popUpName: keyof UsePopUpState<["removeUser", "upgradePlan", "upgradeToServerAdmin"]>, popUpName: keyof UsePopUpState<["removeUser", "upgradePlan", "upgradeToServerAdmin"]>,
@@ -42,6 +46,7 @@ const UserPanelTable = ({
id: string; id: string;
} }
) => void; ) => void;
setUpgradePlanMessage: (message: string) => void;
}) => { }) => {
const [searchUserFilter, setSearchUserFilter] = useState(""); const [searchUserFilter, setSearchUserFilter] = useState("");
const { user } = useUser(); const { user } = useUser();
@@ -105,6 +110,7 @@ const UserPanelTable = ({
onClick={(e) => { onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
if (!subscription?.instanceUserManagement) { if (!subscription?.instanceUserManagement) {
setUpgradePlanMessage(deleteUserUpgradePlanMessage)
handlePopUpOpen("upgradePlan"); handlePopUpOpen("upgradePlan");
return; return;
} }
@@ -118,6 +124,7 @@ const UserPanelTable = ({
onClick={(e) => { onClick={(e) => {
e.stopPropagation(); e.stopPropagation();
if (!subscription?.instanceUserManagement) { if (!subscription?.instanceUserManagement) {
setUpgradePlanMessage(addServerAdminUpgradePlanMessage)
handlePopUpOpen("upgradePlan"); handlePopUpOpen("upgradePlan");
return; return;
} }
@@ -164,6 +171,8 @@ export const UserPanel = () => {
"upgradeToServerAdmin" "upgradeToServerAdmin"
] as const); ] as const);
const [upgradePlanMessage, setUpgradePlanMessage] = useState<string>(deleteUserUpgradePlanMessage)
const { mutateAsync: deleteUser } = useAdminDeleteUser(); const { mutateAsync: deleteUser } = useAdminDeleteUser();
const { mutateAsync: grantAdminAccess } = useAdminGrantServerAdminAccess(); const { mutateAsync: grantAdminAccess } = useAdminGrantServerAdminAccess();
@@ -210,7 +219,7 @@ export const UserPanel = () => {
<div className="mb-4"> <div className="mb-4">
<p className="text-xl font-semibold text-mineshaft-100">Users</p> <p className="text-xl font-semibold text-mineshaft-100">Users</p>
</div> </div>
<UserPanelTable handlePopUpOpen={handlePopUpOpen} /> <UserPanelTable handlePopUpOpen={handlePopUpOpen} setUpgradePlanMessage={setUpgradePlanMessage}/>
<DeleteActionModal <DeleteActionModal
isOpen={popUp.removeUser.isOpen} isOpen={popUp.removeUser.isOpen}
deleteKey="remove" deleteKey="remove"
@@ -234,7 +243,7 @@ export const UserPanel = () => {
<UpgradePlanModal <UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen} isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)} onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text="Deleting users via Admin UI is only available on Infisical's Pro plan and above." text={`${upgradePlanMessage} is only available on Infisical's Pro plan and above.`}
/> />
</div> </div>
); );