Add paywall for PIT and redirect paywall to contact sales in self-hosted

This commit is contained in:
Tuan Dang
2023-06-27 17:19:33 +07:00
parent caed17152d
commit 1dfd18e779
5 changed files with 63 additions and 38 deletions
@@ -32,10 +32,11 @@ import {
PopoverTrigger,
TableContainer,
Tag,
Tooltip
Tooltip,
UpgradePlanModal
} from "@app/components/v2";
import { leaveConfirmDefaultMessage } from "@app/const";
import { useWorkspace } from "@app/context";
import { useWorkspace, useSubscription } from "@app/context";
import { useLeaveConfirm, usePopUp, useToggle } from "@app/hooks";
import {
useBatchSecretsOp,
@@ -97,6 +98,8 @@ const USER_ACTION_PUSH = "first_time_secrets_pushed";
* They will get it back
*/
export const DashboardPage = ({ envFromTop }: { envFromTop: string }) => {
const { subscription } = useSubscription();
console.log('dashboard sub: ', subscription);
const { t } = useTranslation();
const router = useRouter();
const { createNotification } = useNotificationContext();
@@ -110,7 +113,8 @@ export const DashboardPage = ({ envFromTop }: { envFromTop: string }) => {
"uploadedSecOpts",
"compareSecrets",
"folderForm",
"deleteFolder"
"deleteFolder",
"upgradePlan"
] as const);
const [isSecretValueHidden, setIsSecretValueHidden] = useToggle(true);
const [searchFilter, setSearchFilter] = useState("");
@@ -624,7 +628,14 @@ export const DashboardPage = ({ envFromTop }: { envFromTop: string }) => {
<div className="hidden xl:block">
<Button
variant="outline_bg"
onClick={() => handlePopUpOpen("secretSnapshots")}
onClick={() => {
if (subscription && subscription.pitRecovery) {
handlePopUpOpen("secretSnapshots");
return;
}
handlePopUpOpen("upgradePlan");
}}
leftIcon={<FontAwesomeIcon icon={faCodeCommit} />}
isLoading={isLoadingSnapshotCount}
isDisabled={!canDoRollback}
@@ -886,6 +897,13 @@ export const DashboardPage = ({ envFromTop }: { envFromTop: string }) => {
</ModalContent>
</Modal>
</FormProvider>
{subscription && (
<UpgradePlanModal
isOpen={popUp.upgradePlan.isOpen}
onOpenChange={(isOpen) => handlePopUpToggle("upgradePlan", isOpen)}
text={subscription.slug === null ? "You can perform point-in-time recovery under an Enterprise license" : "You can perform point-in-time recovery if you switch to Infisical's Team plan"}
/>
)}
</div>
);
};
@@ -31,8 +31,6 @@ import {
} from "./components";
export const OrgSettingsPage = () => {
const host = window.location.origin;
const { t } = useTranslation();
const { currentOrg } = useOrganization();
const { currentWorkspace } = useWorkspace();