diff --git a/apps/web/app/(app)/premium/Pricing.tsx b/apps/web/app/(app)/premium/Pricing.tsx index efe6594a7..e7499ecf8 100644 --- a/apps/web/app/(app)/premium/Pricing.tsx +++ b/apps/web/app/(app)/premium/Pricing.tsx @@ -14,7 +14,7 @@ import { LoadingContent } from "@/components/LoadingContent"; import { usePremium } from "@/components/PremiumAlert"; import { Button } from "@/components/Button"; import { Button as ShadcnButton } from "@/components/ui/button"; -import { getUserTier } from "@/utils/premium"; +import { getUserTier, isPremiumExpired } from "@/utils/premium"; import { frequencies, pricingAdditonalEmail, @@ -57,6 +57,7 @@ export function Pricing(props: { header?: React.ReactNode }) { const affiliateCode = useAffiliateCode(); const premiumTier = getUserTier(data?.premium); + const isExpired = isPremiumExpired(data?.premium); const header = props.header || (
@@ -174,7 +175,8 @@ export function Pricing(props: { header?: React.ReactNode }) { {tiers.map((tier, tierIdx) => { - const isCurrentPlan = tier.tiers[frequency.value] === premiumTier; + const isCurrentPlan = + !isExpired && tier.tiers[frequency.value] === premiumTier; const user = session.data?.user; diff --git a/apps/web/utils/premium/index.ts b/apps/web/utils/premium/index.ts index 863351137..9dd873a6f 100644 --- a/apps/web/utils/premium/index.ts +++ b/apps/web/utils/premium/index.ts @@ -31,6 +31,14 @@ export const getUserTier = ( return premium?.tier || getUserPlan(premium?.lemonSqueezyRenewsAt); }; +export const isPremiumExpired = ( + premium?: Pick | null, +) => { + return ( + !!premium?.lemonSqueezyRenewsAt && premium.lemonSqueezyRenewsAt < new Date() + ); +}; + export const isAdminForPremium = ( premiumAdmins: { id: string }[], userId?: string,