fix: upgrade plan modal text

This commit is contained in:
Piyush Gupta
2025-10-28 20:25:54 +05:30
parent d6f4db3198
commit 84d93205f0
74 changed files with 302 additions and 263 deletions
@@ -26,8 +26,7 @@ export const OrgGroupsSection = () => {
const handleAddGroupModal = () => {
if (!subscription?.groups) {
handlePopUpOpen("upgradePlan", {
description:
"You can manage users more efficiently with groups if you upgrade your Infisical plan to an Enterprise license.",
text: "Your current plan does not allow managing groups. To unlock this feature, please upgrade to Infisical Enterprise plan.",
isEnterpriseFeature: true
});
} else {
@@ -94,7 +93,7 @@ export const OrgGroupsSection = () => {
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
isEnterpriseFeature={popUp.upgradePlan.data?.isEnterpriseFeature}
text={(popUp.upgradePlan?.data as { description: string })?.description}
text={(popUp.upgradePlan?.data as { text: string })?.text}
/>
</div>
);
@@ -55,7 +55,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -277,7 +280,9 @@ export const IdentityAliCloudAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -292,7 +297,9 @@ export const IdentityAliCloudAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -315,7 +322,9 @@ export const IdentityAliCloudAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -291,7 +291,7 @@ export const IdentityAuthMethodModalContent = ({
<UpgradePlanModal
isOpen={popUp?.upgradePlan?.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text={`You can use ${popUp.upgradePlan.data?.featureName ?? "IP allowlisting"} if you switch to Infisical's ${popUp.upgradePlan.data?.isEnterpriseFeature ? "Enterprise" : "Pro"} plan.`}
text={`Your current plan does not allow ${popUp.upgradePlan.data?.featureName}. To unlock this feature, please upgrade to Infisical ${popUp.upgradePlan.data?.isEnterpriseFeature ? "Enterprise" : "Pro"} plan.`}
isEnterpriseFeature={popUp.upgradePlan.data?.isEnterpriseFeature}
/>
</>
@@ -57,7 +57,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -315,7 +318,9 @@ export const IdentityAwsAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -330,7 +335,9 @@ export const IdentityAwsAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -353,7 +360,9 @@ export const IdentityAwsAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -52,7 +52,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -311,7 +314,9 @@ export const IdentityAzureAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -326,7 +331,9 @@ export const IdentityAzureAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -349,7 +356,9 @@ export const IdentityAzureAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -55,7 +55,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -350,7 +353,9 @@ export const IdentityGcpAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -365,7 +370,9 @@ export const IdentityGcpAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -388,7 +395,9 @@ export const IdentityGcpAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -88,7 +88,10 @@ const schema = z.discriminatedUnion("configurationType", [
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -619,7 +622,9 @@ export const IdentityJwtAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -634,7 +639,9 @@ export const IdentityJwtAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -657,7 +664,9 @@ export const IdentityJwtAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -95,7 +95,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -695,7 +698,9 @@ export const IdentityKubernetesAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -710,7 +715,9 @@ export const IdentityKubernetesAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -733,7 +740,9 @@ export const IdentityKubernetesAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -837,7 +837,9 @@ export const IdentityLdapAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -852,7 +854,9 @@ export const IdentityLdapAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -875,7 +879,9 @@ export const IdentityLdapAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -63,7 +63,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -297,7 +300,9 @@ export const IdentityOciAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -312,7 +317,9 @@ export const IdentityOciAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -335,7 +342,9 @@ export const IdentityOciAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -75,7 +75,10 @@ const schema = z.object({
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -606,7 +609,9 @@ export const IdentityOidcAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -621,7 +626,9 @@ export const IdentityOidcAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -644,7 +651,9 @@ export const IdentityOidcAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -162,8 +162,7 @@ export const IdentitySection = withPermission(
onClick={() => {
if (!isMoreIdentitiesAllowed && !isEnterprise) {
handlePopUpOpen("upgradePlan", {
description:
"You can add more identities if you upgrade your Infisical Pro plan."
text: "You have reached the limit of identities allowed on your current plan. To add more identities, please upgrade to Infisical Pro plan."
});
return;
}
@@ -211,8 +210,7 @@ export const IdentitySection = withPermission(
if (subscription && !subscription.machineIdentityAuthTemplates) {
handlePopUpOpen("upgradePlan", {
isEnterpriseFeature: true,
description:
"You can use Identity Auth Templates if you switch to Infisical's Enterprise plan."
text: "Your current plan does not provide access to creating Identity Auth Templates. To unlock this feature, please upgrade to Infisical Enterprise plan."
});
return;
}
@@ -283,7 +281,7 @@ export const IdentitySection = withPermission(
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text={popUp.upgradePlan.data?.description}
text={popUp.upgradePlan.data?.text}
isEnterpriseFeature={popUp.upgradePlan.data?.isEnterpriseFeature}
/>
</div>
@@ -50,7 +50,10 @@ const schema = z.object({
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -286,7 +289,9 @@ export const IdentityTlsCertAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -301,7 +306,9 @@ export const IdentityTlsCertAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -324,7 +331,9 @@ export const IdentityTlsCertAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -49,7 +49,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -248,7 +251,9 @@ export const IdentityTokenAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -263,7 +268,9 @@ export const IdentityTokenAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -286,7 +293,9 @@ export const IdentityTokenAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -87,7 +87,10 @@ const schema = z
export type FormData = z.infer<typeof schema>;
type Props = {
handlePopUpOpen: (popUpName: keyof UsePopUpState<["upgradePlan"]>) => void;
handlePopUpOpen: (
popUpName: keyof UsePopUpState<["upgradePlan"]>,
data?: { featureName?: string }
) => void;
handlePopUpToggle: (
popUpName: keyof UsePopUpState<["identityAuthMethod"]>,
state?: boolean
@@ -409,7 +412,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -424,7 +429,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -447,7 +454,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -477,7 +486,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
placeholder="123.456.789.0"
/>
@@ -492,7 +503,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
size="lg"
colorSchema="danger"
@@ -515,7 +528,9 @@ export const IdentityUniversalAuthForm = ({
return;
}
handlePopUpOpen("upgradePlan");
handlePopUpOpen("upgradePlan", {
featureName: "IP allowlisting"
});
}}
leftIcon={<FontAwesomeIcon icon={faPlus} />}
size="xs"
@@ -75,7 +75,7 @@ export const OrgMembersSection = () => {
if (!isMoreIdentitiesAllowed && !isEnterprise) {
handlePopUpOpen("upgradePlan", {
description: "You can add more members if you switch to Infisical's Pro plan."
text: "You have reached the limit of members allowed on your current plan. To add more members, please upgrade to Infisical Pro plan."
});
return;
}
@@ -324,7 +324,7 @@ export const OrgMembersSection = () => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text={(popUp.upgradePlan?.data as { description: string })?.description}
text={(popUp.upgradePlan?.data as { text: string })?.text}
/>
<EmailServiceSetupModal
isOpen={popUp.setUpEmail?.isOpen}
@@ -82,7 +82,7 @@ type Props = {
data?: {
orgMembershipId?: string;
username?: string;
description?: string;
text?: string;
selectedOrgMemberships?: OrgUser[];
}
) => void;
@@ -133,8 +133,7 @@ export const OrgMembersTable = ({
if (isCustomRole && subscription && !subscription?.rbac) {
handlePopUpOpen("upgradePlan", {
description:
"You can assign custom roles to members if you switch to Infisical's Pro plan."
text: "Your current plan does not allow assigning custom roles to members. To unlock this feature, please upgrade to Infisical Pro plan."
});
return;
}
@@ -103,8 +103,7 @@ export const OrgRoleTable = () => {
if (isCustomRole && subscription && !subscription?.rbac) {
handlePopUpOpen("upgradePlan", {
description:
"You can set the default org role to a custom role if you switch to Infisical's Pro plan."
text: "Your current plan does not allow setting the default org role to a custom role. To unlock this feature, please upgrade to Infisical Pro plan."
});
return;
}
@@ -461,7 +460,7 @@ export const OrgRoleTable = () => {
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text={(popUp.upgradePlan?.data as { description: string })?.description}
text={(popUp.upgradePlan?.data as { text: string })?.text}
/>
<DuplicateOrgRoleModal
isOpen={popUp.duplicateRole.isOpen}