Skip to content

Commit ef95e8d

Browse files
committed
update tiers
1 parent f0578a3 commit ef95e8d

8 files changed

Lines changed: 27 additions & 47 deletions

File tree

client/src/app/components/AddSite.tsx

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
"use client";
22
import { Button } from "@/components/ui/button";
33
import { AlertCircle, AppWindow, Plus } from "lucide-react";
4+
import { DateTime } from "luxon";
45
import { useRouter } from "next/navigation";
56
import { useState } from "react";
67
import { addSite, useGetSitesFromOrg } from "../../api/admin/sites";
@@ -19,11 +20,10 @@ import { Label } from "../../components/ui/label";
1920
import { Switch } from "../../components/ui/switch";
2021
import { Tooltip, TooltipContent, TooltipTrigger } from "../../components/ui/tooltip";
2122
import { authClient } from "../../lib/auth";
23+
import { FREE_SITE_LIMIT, IS_CLOUD, STANDARD_SITE_LIMIT } from "../../lib/const";
2224
import { resetStore, useStore } from "../../lib/store";
2325
import { SubscriptionData, useStripeSubscription } from "../../lib/subscription/useStripeSubscription";
2426
import { isValidDomain, normalizeDomain } from "../../lib/utils";
25-
import { FREE_SITE_LIMIT, IS_CLOUD, PRO_SITE_LIMIT, STANDARD_SITE_LIMIT } from "../../lib/const";
26-
import { DateTime } from "luxon";
2727

2828
const getSiteLimit = (subscription: SubscriptionData | undefined) => {
2929
if (subscription?.planName.includes("standard")) {
@@ -32,12 +32,12 @@ const getSiteLimit = (subscription: SubscriptionData | undefined) => {
3232
subscription?.createdAt &&
3333
DateTime.fromISO(subscription.createdAt) < DateTime.fromFormat("2025-06-27", "yyyy-MM-dd")
3434
) {
35-
return PRO_SITE_LIMIT;
35+
return Infinity;
3636
}
3737
return STANDARD_SITE_LIMIT;
3838
}
3939
if (subscription?.planName.includes("pro")) {
40-
return PRO_SITE_LIMIT;
40+
return Infinity;
4141
}
4242
if (subscription?.planName === "appsumo-1") {
4343
return 3;
@@ -48,6 +48,12 @@ const getSiteLimit = (subscription: SubscriptionData | undefined) => {
4848
if (subscription?.planName === "appsumo-3") {
4949
return 25;
5050
}
51+
if (subscription?.planName === "appsumo-4") {
52+
return 50;
53+
}
54+
if (subscription?.planName === "appsumo-5") {
55+
return 100;
56+
}
5157
return FREE_SITE_LIMIT;
5258
};
5359

client/src/app/settings/organization/members/components/InviteMemberDialog.tsx

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -17,10 +17,10 @@ import { UserPlus } from "lucide-react";
1717
import { useMemo, useState } from "react";
1818
import { toast } from "sonner";
1919
import { Alert } from "../../../../../components/ui/alert";
20+
import { Tooltip, TooltipContent, TooltipTrigger } from "../../../../../components/ui/tooltip";
2021
import { authClient } from "../../../../../lib/auth";
22+
import { IS_CLOUD, STANDARD_TEAM_LIMIT } from "../../../../../lib/const";
2123
import { SubscriptionData, useStripeSubscription } from "../../../../../lib/subscription/useStripeSubscription";
22-
import { IS_CLOUD, PRO_TEAM_LIMIT, STANDARD_TEAM_LIMIT } from "../../../../../lib/const";
23-
import { Tooltip, TooltipContent, TooltipTrigger } from "../../../../../components/ui/tooltip";
2424

2525
interface InviteMemberDialogProps {
2626
organizationId: string;
@@ -30,11 +30,13 @@ interface InviteMemberDialogProps {
3030

3131
const getMemberLimit = (subscription: SubscriptionData | undefined) => {
3232
if (subscription?.status !== "active") return 1;
33-
if (subscription?.planName.includes("pro")) return PRO_TEAM_LIMIT;
33+
if (subscription?.planName.includes("pro")) return Infinity;
3434
if (subscription?.planName.includes("standard")) return STANDARD_TEAM_LIMIT;
3535
if (subscription?.planName === "appsumo-1") return 1;
3636
if (subscription?.planName === "appsumo-2") return 3;
37-
if (subscription?.planName === "appsumo-3") return 10;
37+
if (subscription?.planName === "appsumo-3") return Infinity;
38+
if (subscription?.planName === "appsumo-4") return Infinity;
39+
if (subscription?.planName === "appsumo-5") return Infinity;
3840
return 1;
3941
};
4042

client/src/app/subscribe/components/utils.ts

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,6 @@
11
// Common utility functions and constants for subscription components
22

3-
import {
4-
FREE_SITE_LIMIT,
5-
STANDARD_SITE_LIMIT,
6-
STANDARD_TEAM_LIMIT,
7-
PRO_SITE_LIMIT,
8-
PRO_TEAM_LIMIT,
9-
} from "../../../lib/const";
3+
import { FREE_SITE_LIMIT, STANDARD_SITE_LIMIT, STANDARD_TEAM_LIMIT } from "../../../lib/const";
104
import { getStripePrices, STRIPE_TIERS } from "../../../lib/stripe";
115

126
export const EVENT_TIERS = [...STRIPE_TIERS.map(tier => tier.events), "Custom"];
@@ -30,17 +24,15 @@ export const STANDARD_FEATURES = [
3024

3125
export const PRO_FEATURES = [
3226
"Everything in Standard",
33-
`Up to ${PRO_SITE_LIMIT} websites`,
34-
`Up to ${PRO_TEAM_LIMIT} team members`,
27+
"Unlimited websites",
28+
"Unlimited team members",
3529
"Session replays",
3630
"5 year data retention",
3731
"Priority support",
3832
];
3933

4034
export const ENTERPRISE_FEATURES = [
4135
"Everything in Pro",
42-
"Unlimited websites",
43-
"Unlimited team members",
4436
"Single Sign-On (SSO)",
4537
"Infinite data retention",
4638
"Dedicated isolated instance",

client/src/lib/const.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,4 @@ export const DEMO_HOSTNAME = "demo.rybbit.com";
1111

1212
export const FREE_SITE_LIMIT = 1;
1313
export const STANDARD_SITE_LIMIT = 5;
14-
export const PRO_SITE_LIMIT = 100;
15-
1614
export const STANDARD_TEAM_LIMIT = 3;
17-
export const PRO_TEAM_LIMIT = 10;

docs/src/app/(home)/pricing/components/ComparisonSection.tsx

Lines changed: 3 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2,14 +2,7 @@
22

33
import { Check, Minus, X } from "lucide-react";
44
import { cn } from "@/lib/utils";
5-
import {
6-
DEFAULT_EVENT_LIMIT,
7-
FREE_SITE_LIMIT,
8-
STANDARD_SITE_LIMIT,
9-
STANDARD_TEAM_LIMIT,
10-
PRO_SITE_LIMIT,
11-
PRO_TEAM_LIMIT,
12-
} from "../../../../lib/const";
5+
import { DEFAULT_EVENT_LIMIT, FREE_SITE_LIMIT, STANDARD_SITE_LIMIT, STANDARD_TEAM_LIMIT } from "../../../../lib/const";
136

147
const COMPARISON_FEATURES = [
158
{
@@ -26,14 +19,14 @@ const COMPARISON_FEATURES = [
2619
name: "Number of websites",
2720
free: `${FREE_SITE_LIMIT}`,
2821
standard: `Up to ${STANDARD_SITE_LIMIT}`,
29-
pro: `Up to ${PRO_SITE_LIMIT}`,
22+
pro: "Unlimited",
3023
enterprise: "Unlimited",
3124
},
3225
{
3326
name: "Team members",
3427
free: "1",
3528
standard: `Up to ${STANDARD_TEAM_LIMIT}`,
36-
pro: `Up to ${PRO_TEAM_LIMIT}`,
29+
pro: "Unlimited",
3730
enterprise: "Unlimited",
3831
},
3932
],

docs/src/components/PricingSection.tsx

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,7 @@ import { Slider } from "@/components/ui/slider";
44
import { cn } from "@/lib/utils";
55
import { getCalApi } from "@calcom/embed-react";
66
import { useEffect, useState } from "react";
7-
import {
8-
DEFAULT_EVENT_LIMIT,
9-
FREE_SITE_LIMIT,
10-
PRO_SITE_LIMIT,
11-
PRO_TEAM_LIMIT,
12-
STANDARD_SITE_LIMIT,
13-
STANDARD_TEAM_LIMIT,
14-
} from "../lib/const";
7+
import { DEFAULT_EVENT_LIMIT, FREE_SITE_LIMIT, STANDARD_SITE_LIMIT, STANDARD_TEAM_LIMIT } from "../lib/const";
158
import { PricingCard } from "./PricingCard";
169

1710
// Available event tiers for the slider
@@ -38,8 +31,8 @@ const STANDARD_FEATURES = [
3831
// Define pro plan features
3932
const PRO_FEATURES = [
4033
"Everything in Standard",
41-
`Up to ${PRO_SITE_LIMIT} websites`,
42-
`Up to ${PRO_TEAM_LIMIT} team members`,
34+
"Unlimited websites",
35+
"Unlimited team members",
4336
"Session replays",
4437
"5 year data retention",
4538
"Priority support",
@@ -48,8 +41,6 @@ const PRO_FEATURES = [
4841
// Define enterprise plan features
4942
const ENTERPRISE_FEATURES = [
5043
"Everything in Pro",
51-
"Unlimited websites",
52-
"Unlimited team members",
5344
"Single Sign-On (SSO)",
5445
"Infinite data retention",
5546
"Dedicated isolated instance",

docs/src/lib/const.ts

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,4 @@ export const DEFAULT_EVENT_LIMIT = 3_000;
22

33
export const FREE_SITE_LIMIT = 1;
44
export const STANDARD_SITE_LIMIT = 5;
5-
export const PRO_SITE_LIMIT = 100;
6-
75
export const STANDARD_TEAM_LIMIT = 3;
8-
export const PRO_TEAM_LIMIT = 10;

server/src/lib/const.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,8 @@ export const APPSUMO_TIER_LIMITS = {
1919
"1": 20_000,
2020
"2": 100_000,
2121
"3": 250_000,
22+
"4": 500_000,
23+
"5": 1_000_000,
2224
} as const;
2325

2426
// Define a type for the plan objects

0 commit comments

Comments
 (0)