From 49ea8f9136136e76aff41cca0d1d052e04f8a2a8 Mon Sep 17 00:00:00 2001 From: ved015 Date: Fri, 29 May 2026 20:12:56 +0530 Subject: [PATCH] fix minor ux changes --- apps/web/components/settings/billing.tsx | 435 ++++++++++--------- apps/web/components/settings/org-context.tsx | 27 +- 2 files changed, 243 insertions(+), 219 deletions(-) diff --git a/apps/web/components/settings/billing.tsx b/apps/web/components/settings/billing.tsx index d8bf7199..b1bdcfc0 100644 --- a/apps/web/components/settings/billing.tsx +++ b/apps/web/components/settings/billing.tsx @@ -31,6 +31,9 @@ const CREDIT_FEATURE_ID = "usd_credits" const TOP_UP_PLAN_ID = "credits_topup" const TOP_UP_AMOUNTS = [10, 25, 50, 100] as const +const SURFACE_SHADOW = + "0 2.842px 14.211px 0 rgba(0,0,0,0.25), 0.711px 0.711px 0.711px 0 rgba(255,255,255,0.10) inset" + type BillingInvoice = { planIds?: string[] stripeId: string @@ -694,227 +697,247 @@ export default function Billing() { - - -
-
-

- Buy Credits -

-

- Add USD to your balance for metered usage. -

-
- - - -
- -
-
-

- Choose an amount -

- { - setTopUpAmount(value) - setCustomTopUpAmount("") - }} - disabled={topUpPendingAmount !== null} - /> -
- - setCustomTopUpAmount(event.target.value)} - placeholder="e.g. 75" - type="number" - value={customTopUpAmount} - className="h-11 rounded-[10px] border border-white/10 bg-[#080B10] px-3 text-[14px] text-[#FAFAFA] outline-none placeholder:text-[#737373] focus:border-[#0054AD]" - /> -
-
- -
- -
-
-

- Auto reload -

- - {autoTopUpEnabled ? "on" : "off"} - -
- -
+ + +
+

- Auto reload is {autoTopUpEnabled ? "enabled" : "disabled"} + Buy Credits

- -
- - {!hasPaymentMethod && !activeAutoTopUp?.enabled ? ( -

- Save a card in Manage Billing to enable automatic reloads. + Add USD to your balance for metered usage.

- ) : null} - -
-
- - { - const value = Number.parseFloat(event.target.value) - setAutoTopUpThreshold(Number.isFinite(value) ? value : 0) - }} - type="number" - value={ - Number.isFinite(autoTopUpThreshold) - ? autoTopUpThreshold - : "" - } - className="h-10 rounded-[8px] border border-white/10 bg-[#080B10] px-3 text-[13px] text-[#FAFAFA] outline-none focus:border-[#0054AD] disabled:opacity-60" - /> -
-
- - { - const value = Number.parseFloat(event.target.value) - setAutoTopUpAmount(Number.isFinite(value) ? value : 0) - }} - type="number" - value={ - Number.isFinite(autoTopUpAmount) ? autoTopUpAmount : "" - } - className="h-10 rounded-[8px] border border-white/10 bg-[#080B10] px-3 text-[13px] text-[#FAFAFA] outline-none focus:border-[#0054AD] disabled:opacity-60" - /> -
-
- -
+ + +
- +
+ + {!hasPaymentMethod && !activeAutoTopUp?.enabled ? ( +

+ Save a card in Manage Billing to enable automatic + reloads. +

+ ) : null} + +
+
+ + { + const value = Number.parseFloat( + event.target.value, + ) + setAutoTopUpThreshold( + Number.isFinite(value) ? value : 0, + ) + }} + type="number" + value={ + Number.isFinite(autoTopUpThreshold) + ? autoTopUpThreshold + : "" + } + className="h-10 rounded-[8px] border border-white/10 bg-[#080B10] px-3 text-[13px] text-[#FAFAFA] outline-none focus:border-[#0054AD] disabled:opacity-60" + /> +
+
+ + { + const value = Number.parseFloat( + event.target.value, + ) + setAutoTopUpAmount( + Number.isFinite(value) ? value : 0, + ) + }} + type="number" + value={ + Number.isFinite(autoTopUpAmount) + ? autoTopUpAmount + : "" + } + className="h-10 rounded-[8px] border border-white/10 bg-[#080B10] px-3 text-[13px] text-[#FAFAFA] outline-none focus:border-[#0054AD] disabled:opacity-60" + /> +
+
+ +
+
+
+ + + + {!isAdmin ? ( +

+ Only owners/admins can purchase credits. +

) : null} - Buy {formatUsd(selectedTopUpAmount)} in credits - +
+ +
- {!isAdmin ? ( -

- Only owners/admins can purchase credits. -

- ) : null} - - - - - {hasPaidPlan ? ( + {true || hasPaidPlan ? (
Credits @@ -953,7 +976,7 @@ export default function Billing() { )} > - {creditRemaining > 0 ? "Add more" : "Add credits"} + {creditRemaining > 0 ? "Add more" : "Buy credits"} diff --git a/apps/web/components/settings/org-context.tsx b/apps/web/components/settings/org-context.tsx index dac97f7e..8c17ed01 100644 --- a/apps/web/components/settings/org-context.tsx +++ b/apps/web/components/settings/org-context.tsx @@ -94,7 +94,7 @@ function PillButton({ children: React.ReactNode onClick: () => void disabled?: boolean - variant?: "default" | "danger" | "primary" + variant?: "default" | "ghost" | "primary" }) { return (