Plans page: show yearly prices and Plus extras

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
metatroncubeswdev 2026-10-14 11:58:22 -04:00
parent d7362ec755
commit b59c2d0668
2 changed files with 8 additions and 4 deletions

View File

@ -17,6 +17,9 @@ export interface PlanLimits {
analytics: boolean;
markets: boolean;
translations: boolean;
/** shown on the Plans page only */
yearly?: string;
extras?: string[];
}
const ALL_TYPES = ["fixed", "mix", "bxgy"];
@ -27,15 +30,15 @@ export const PLANS: Record<PlanCode, PlanLimits> = {
cartHints: false, branding: true, monthlyOrders: 50, templates: false, analytics: false, markets: false, translations: false,
},
starter: {
name: "Starter", price: "$9.99/mo", runningOffers: 5, types: ALL_TYPES, scheduling: true, homepage: true,
name: "Starter", price: "$9.99/mo", yearly: "$99/yr", runningOffers: 5, types: ALL_TYPES, scheduling: true, homepage: true,
cartHints: true, branding: false, monthlyOrders: Infinity, templates: false, analytics: false, markets: false, translations: false,
},
growth: {
name: "Growth", price: "$24.99/mo", runningOffers: Infinity, types: ALL_TYPES, scheduling: true, homepage: true,
name: "Growth", price: "$24.99/mo", yearly: "$249/yr", runningOffers: Infinity, types: ALL_TYPES, scheduling: true, homepage: true,
cartHints: true, branding: false, monthlyOrders: Infinity, templates: true, analytics: true, markets: true, translations: true,
},
plus: {
name: "Plus", price: "$59.99/mo", runningOffers: Infinity, types: ALL_TYPES, scheduling: true, homepage: true,
name: "Plus", price: "$59.99/mo", yearly: "$599/yr", extras: ["priority support", "onboarding call", "custom styling help"], runningOffers: Infinity, types: ALL_TYPES, scheduling: true, homepage: true,
cartHints: true, branding: false, monthlyOrders: Infinity, templates: true, analytics: true, markets: true, translations: true,
},
};

View File

@ -39,7 +39,7 @@ export default function Plans() {
{d.plans.map((p) => (
<s-table-row key={p.code}>
<s-table-cell>{p.name}{p.code === d.current ? " (current)" : ""}</s-table-cell>
<s-table-cell>{p.price}</s-table-cell>
<s-table-cell>{p.price}{p.yearly ? ` or ${p.yearly}` : ""}</s-table-cell>
<s-table-cell>{p.runningOffers}</s-table-cell>
<s-table-cell>
{[
@ -53,6 +53,7 @@ export default function Plans() {
p.translations && "translations",
p.monthlyOrders !== Infinity && `${p.monthlyOrders} bundle orders/month`,
p.branding && "“Powered by” link",
...(p.extras || []),
].filter(Boolean).join(", ")}
</s-table-cell>
</s-table-row>