Skip to content

Commit eb07340

Browse files
authored
Dedicated channel for Pro plan (#8751)
1 parent dc07145 commit eb07340

4 files changed

Lines changed: 38 additions & 61 deletions

File tree

apps/dashboard/src/@/utils/pricing.tsx

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -19,25 +19,30 @@ export const TEAM_PLANS: Record<
1919
}
2020
> = {
2121
growth: {
22-
description: "Ideal for teams building production-grade apps.",
22+
description: "Ideal for small scale teams and startups.",
2323
features: [
24-
"Email Support",
25-
"48hr Guaranteed Response",
26-
"Custom User Wallet Auth",
24+
"Custom In-App Wallet Auth",
25+
"Web, Mobile & Gaming SDKs",
26+
"Server Wallets",
27+
"Contract & Wallet APIs",
28+
"Account Abstraction",
29+
"Managed Infrastructure (RPC, IPFS, etc.)",
30+
"Audited smart contracts",
2731
],
2832
price: 99,
29-
subTitle: "Everything in Starter, plus:",
33+
subTitle: null,
3034
title: "Growth",
3135
trialPeriodDays: 0,
3236
},
3337
pro: {
34-
description: "For large organizations with custom needs.",
38+
description: "For large orgs with custom needs.",
3539
features: [
3640
"Dedicated Account Executive",
41+
"Slack & Telegram Support",
3742
"12hr Guaranteed Response",
3843
"No Rate Limits",
39-
["Custom Infrastructure Add-Ons", "Infrastructure for custom chains."],
40-
["Volume Discounts", "Negotiated volume discounts that fit your scale."],
44+
"Custom Infrastructure Add-Ons",
45+
"Negotiated Volume Discounts",
4146
],
4247
isStartingPriceOnly: true,
4348
price: 1499,
@@ -46,20 +51,14 @@ export const TEAM_PLANS: Record<
4651
trialPeriodDays: 0,
4752
},
4853
scale: {
49-
description: "For funded startups and mid-size businesses.",
54+
description: "Ideal for mid-size businesses.",
5055
features: [
51-
"Slack & Telegram Support",
56+
"Email Support",
5257
"24hr Guaranteed Response",
5358
"Remove thirdweb branding",
5459
"Audit Logs",
55-
[
56-
"Ecosystem Wallet Add-On",
57-
"Unlocks the ability to deploy your own ecosystem wallets.",
58-
],
59-
[
60-
"Dedicated Infrastructure Add-Ons",
61-
"Dedicated RPC nodes, indexers, etc.",
62-
],
60+
"Ecosystem Wallet Add-On",
61+
"Dedicated Infrastructure Add-Ons (RPC, Insight)",
6362
],
6463
price: 499,
6564
subTitle: "Everything in Growth, plus:",

apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/PlanInfoCard.tsx

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -177,10 +177,7 @@ export function PlanInfoCardUI(props: {
177177
<div className="flex flex-col items-center py-8 text-center max-sm:gap-4">
178178
<CircleAlertIcon className="mb-3 text-muted-foreground lg:size-6" />
179179
<p>Your plan includes a fixed amount of free usage.</p>
180-
<p>
181-
To unlock additional usage, upgrade your plan to Starter or
182-
Growth.
183-
</p>
180+
<p>To unlock additional usage, upgrade your plan to Growth.</p>
184181

185182
<div className="mt-4">
186183
<ToolTipLabel

apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/billing/components/Pricing.tsx

Lines changed: 1 addition & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,6 @@ export const BillingPricing: React.FC<BillingPricingProps> = ({
6969
validTeamPlan === "starter" ||
7070
validTeamPlan === "growth_legacy"));
7171

72-
const highlightStarterPlan = highlightPlan === "starter";
7372
const highlightScalePlan =
7473
highlightPlan === "scale" ||
7574
(!highlightPlan &&
@@ -94,23 +93,7 @@ export const BillingPricing: React.FC<BillingPricingProps> = ({
9493

9594
<div className="h-5" />
9695

97-
<div className="grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-4">
98-
{/* Starter */}
99-
<PricingCard
100-
billingPlan="starter"
101-
billingStatus={team.billingStatus}
102-
cta={getPlanCta(
103-
validTeamPlan,
104-
"starter",
105-
isCurrentPlanScheduledToCancel,
106-
)}
107-
current={validTeamPlan === "starter"}
108-
getTeam={getTeam}
109-
highlighted={highlightStarterPlan}
110-
teamId={team.id}
111-
teamSlug={team.slug}
112-
/>
113-
96+
<div className="grid grid-cols-1 gap-4 md:grid-cols-2 xl:grid-cols-3">
11497
{/* Growth */}
11598
<PricingCard
11699
activeTrialEndsAt={

apps/dashboard/src/app/(app)/team/[team_slug]/(team)/~/settings/_components/settings-cards/dedicated-support.tsx

Lines changed: 19 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -31,8 +31,7 @@ export function TeamDedicatedSupportCard(props: {
3131
const [selectedChannelType, setSelectedChannelType] =
3232
useState<ChannelType>("slack");
3333

34-
const isFeatureEnabled =
35-
props.team.billingPlan === "scale" || props.team.billingPlan === "pro";
34+
const isFeatureEnabled = props.team.billingPlan === "pro";
3635

3736
const createMutation = useMutation({
3837
mutationFn: async (params: {
@@ -107,8 +106,7 @@ export function TeamDedicatedSupportCard(props: {
107106
bottomText={
108107
!isFeatureEnabled ? (
109108
<>
110-
Upgrade to the <b>Scale</b> or <b>Pro</b> plan to unlock this
111-
feature.
109+
Upgrade to the <b>Pro</b> plan to unlock this feature.
112110
</>
113111
) : hasDefaultTeamName ? (
114112
"Please update your team name before requesting a dedicated support channel."
@@ -126,17 +124,7 @@ export function TeamDedicatedSupportCard(props: {
126124
}
127125
saveButton={
128126
isFeatureEnabled
129-
? {
130-
disabled: createMutation.isPending,
131-
isPending: createMutation.isPending,
132-
label: "Create Support Channel",
133-
onClick: () =>
134-
createMutation.mutate({
135-
channelType: selectedChannelType,
136-
teamId: props.team.id,
137-
}),
138-
}
139-
: hasDefaultTeamName
127+
? hasDefaultTeamName
140128
? {
141129
disabled: false,
142130
isPending: false,
@@ -145,14 +133,24 @@ export function TeamDedicatedSupportCard(props: {
145133
router.push(`/team/${props.team.slug}/~/settings`),
146134
}
147135
: {
148-
disabled: false,
149-
isPending: false,
150-
label: "Upgrade Plan",
136+
disabled: createMutation.isPending,
137+
isPending: createMutation.isPending,
138+
label: "Create Support Channel",
151139
onClick: () =>
152-
router.push(
153-
`/team/${props.team.slug}/~/billing?showPlans=true&highlight=scale`,
154-
),
140+
createMutation.mutate({
141+
channelType: selectedChannelType,
142+
teamId: props.team.id,
143+
}),
155144
}
145+
: {
146+
disabled: false,
147+
isPending: false,
148+
label: "Upgrade Plan",
149+
onClick: () =>
150+
router.push(
151+
`/team/${props.team.slug}/~/billing?showPlans=true&highlight=pro`,
152+
),
153+
}
156154
}
157155
>
158156
<div className="md:w-[450px]">

0 commit comments

Comments
 (0)