Skip to content

Commit 958275d

Browse files
committed
feat(webapp): move no-limit notice into the billing limit section
1 parent c478e72 commit 958275d

2 files changed

Lines changed: 15 additions & 11 deletions

File tree

apps/webapp/app/components/billing/BillingLimitConfigSection.tsx

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ import { z } from "zod";
77
import { getBillingLimitMode } from "~/components/billing/billingAlertsFormat";
88
import { formatGracePeriodMs } from "~/components/billing/billingLimitFormat";
99
import { AnimatedCallout } from "~/components/primitives/AnimatedCallout";
10+
import { Callout } from "~/components/primitives/Callout";
1011
import { Button } from "~/components/primitives/Buttons";
1112
import { CheckboxWithLabel } from "~/components/primitives/Checkbox";
1213
import { Fieldset } from "~/components/primitives/Fieldset";
@@ -190,6 +191,13 @@ export function BillingLimitConfigSection({
190191
</Paragraph>
191192
</div>
192193

194+
{!billingLimit.isConfigured && (
195+
<Callout variant="warning" className="mb-3">
196+
Configure a monthly billing limit below to cap your spend, or set no limit to let runs
197+
keep going.
198+
</Callout>
199+
)}
200+
193201
<Form method="post" {...getFormProps(form)} ref={formRef}>
194202
<input type="hidden" name="intent" value="billing-limit" />
195203
<Fieldset>

apps/webapp/app/components/billing/OrgBanner.tsx

Lines changed: 7 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -63,7 +63,7 @@ export function OrgBanner() {
6363
case OrgBannerKind.LimitGrace:
6464
return hideBillingLimitBanner ? null : <LimitGraceBanner />;
6565
case OrgBannerKind.NoLimitConfigured:
66-
return <NoLimitConfiguredBanner onBillingLimitsPage={hideBillingLimitBanner} />;
66+
return hideBillingLimitBanner ? null : <NoLimitConfiguredBanner />;
6767
case OrgBannerKind.Upgrade:
6868
return organization ? <UpgradeBanner /> : null;
6969
case OrgBannerKind.EnvironmentWarning:
@@ -141,29 +141,25 @@ function LimitGraceBanner() {
141141
);
142142
}
143143

144-
function NoLimitConfiguredBanner({ onBillingLimitsPage }: { onBillingLimitsPage: boolean }) {
144+
function NoLimitConfiguredBanner() {
145145
const organization = useOrganization();
146146
const canManageBillingLimits = useCanManageBillingLimits();
147147

148-
if (!canManageBillingLimits) {
149-
return null;
150-
}
151-
152148
return (
153149
<AnimatedOrgBannerBar
154150
show
155151
variant="warning"
156152
action={
157-
onBillingLimitsPage ? undefined : (
153+
canManageBillingLimits ? (
158154
<LinkButton variant="tertiary/small" to={v3BillingLimitsPath(organization)}>
159155
Configure billing limit
160156
</LinkButton>
161-
)
157+
) : undefined
162158
}
163159
>
164-
{onBillingLimitsPage
165-
? "Please configure a billing limit to protect your organization from unexpected usage spikes."
166-
: "Protect your organization from unexpected usage spikes."}
160+
{canManageBillingLimits
161+
? "Protect your organization from unexpected usage spikes."
162+
: "Billing limits are not configured for this organization. Contact an organization administrator to configure them."}
167163
</AnimatedOrgBannerBar>
168164
);
169165
}

0 commit comments

Comments
 (0)