mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-18 02:46:37 +00:00
Merge branch 'dev' into refactor/paginated-tables
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import { build } from "@server/build";
|
||||
import { useLicenseStatusContext } from "./useLicenseStatusContext";
|
||||
import { useSubscriptionStatusContext } from "./useSubscriptionStatusContext";
|
||||
import { Tier } from "@server/types/Tiers";
|
||||
|
||||
export function usePaidStatus() {
|
||||
const { isUnlocked } = useLicenseStatusContext();
|
||||
@@ -8,14 +9,31 @@ export function usePaidStatus() {
|
||||
|
||||
// Check if features are disabled due to licensing/subscription
|
||||
const hasEnterpriseLicense = build === "enterprise" && isUnlocked();
|
||||
const hasSaasSubscription =
|
||||
build === "saas" &&
|
||||
subscription?.isSubscribed() &&
|
||||
subscription.isActive();
|
||||
const tierData = subscription?.getTier();
|
||||
|
||||
function hasSaasSubscription(tiers: Tier[]): boolean {
|
||||
return (
|
||||
(build === "saas" &&
|
||||
tierData?.active &&
|
||||
tierData?.tier &&
|
||||
tiers.includes(tierData.tier)) ||
|
||||
false
|
||||
);
|
||||
}
|
||||
|
||||
function isPaidUser(tiers: Tier[]): boolean {
|
||||
if (hasEnterpriseLicense) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return hasSaasSubscription(tiers);
|
||||
}
|
||||
|
||||
return {
|
||||
hasEnterpriseLicense,
|
||||
hasSaasSubscription,
|
||||
isPaidUser: hasEnterpriseLicense || hasSaasSubscription
|
||||
isPaidUser,
|
||||
isActive: tierData?.active,
|
||||
subscriptionTier: tierData?.tier
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user