mirror of
https://github.com/fosrl/pangolin.git
synced 2026-02-13 13:16:21 +00:00
39 lines
1.1 KiB
TypeScript
39 lines
1.1 KiB
TypeScript
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();
|
|
const subscription = useSubscriptionStatusContext();
|
|
|
|
// Check if features are disabled due to licensing/subscription
|
|
const hasEnterpriseLicense = build === "enterprise" && isUnlocked();
|
|
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,
|
|
subscriptionTier: tierData?.tier
|
|
};
|
|
}
|