diff --git a/CONTEXT.md b/CONTEXT.md new file mode 100644 index 00000000..42a08ef1 --- /dev/null +++ b/CONTEXT.md @@ -0,0 +1,25 @@ +# BaseBlocks context + +This context defines the product terms that cross the workspace and billing domains. + +## Workspace and billing language + +**Workspace member**: +An accepted member of a workspace. Workspace members are counted from the authentication membership records. +_Avoid_: Active member when describing membership; active means recent product activity. + +**Subscription**: +A recurring relationship between a workspace and a billing provider. +_Avoid_: Plan when referring to the provider relationship. + +**Plan**: +The product access level available to a workspace, such as Free or Plus. +_Avoid_: Seat when referring to product access. + +**Paid seat quantity**: +The quantity sent to the billing provider for a Plus subscription. It is an internal billing value and is not a workspace-membership count. +_Avoid_: Active members, billable members, or seats in normal user-facing copy. + +**AI credits**: +A workspace-level balance that funds AI usage. Included credits and prepaid credits have separate expiration rules. +_Avoid_: AI seats. diff --git a/apps/web/features/dashboard/billing/billing-overview.tsx b/apps/web/features/dashboard/billing/billing-overview.tsx index df1ae8be..9b44d0f5 100644 --- a/apps/web/features/dashboard/billing/billing-overview.tsx +++ b/apps/web/features/dashboard/billing/billing-overview.tsx @@ -26,7 +26,6 @@ import { } from "@/features/dashboard/layout/dashboard-page"; import { canUsePaidFeatures, - getAdditionalSeatCount, getBillingCallout, type BillingCallout, type WorkspaceBillingEntitlement, @@ -126,9 +125,9 @@ function BillingSupportDialog() { {t("description")}{" "} - support@easylink.com + support@easylink.one . @@ -151,7 +150,6 @@ export function BillingOverview({ const t = useTranslations("billing"); const locale = useLocale(); const isPlus = canUsePaidFeatures(entitlement); - const additionalSeats = getAdditionalSeatCount(entitlement); const callout = getBillingCallout(entitlement); const [selectedPlusSku, setSelectedPlusSku] = useState( plusOptions.find((option) => option.recurringInterval === "year")?.sku ?? @@ -189,13 +187,8 @@ export function BillingOverview({

{t("current.memberCount", { - count: entitlement.billableSeatCount, + count: entitlement.workspaceMemberCount, })} - {isPlus - ? ` · ${t("current.paidSeatCount", { - count: entitlement.paidSeatCapacity, - })}` - : null}

{effectiveThrough ? (

@@ -252,21 +245,11 @@ export function BillingOverview({

{t("current.memberCount", { - count: entitlement.billableSeatCount, + count: entitlement.workspaceMemberCount, })} - {isPlus - ? ` · ${t("current.paidSeatCount", { - count: entitlement.paidSeatCapacity, - })}` - : null}

- {additionalSeats > 0 || effectiveThrough ? ( + {effectiveThrough ? (
- {additionalSeats > 0 ? ( -

- {t("current.additionalSeats", { count: additionalSeats })} -

- ) : null} {effectiveThrough ? (

{t("current.effectiveThrough", { date: effectiveThrough })} diff --git a/apps/web/features/dashboard/billing/billing-plan-cards.tsx b/apps/web/features/dashboard/billing/billing-plan-cards.tsx index 9f8d7bd2..0d3cc11b 100644 --- a/apps/web/features/dashboard/billing/billing-plan-cards.tsx +++ b/apps/web/features/dashboard/billing/billing-plan-cards.tsx @@ -157,10 +157,9 @@ export function BillingPlanCards({ )}

-