StealThis .dev

Upsell — Usage-limit reached prompt

A self-contained usage-limit prompt for the fictional Northwind AI workspace, shown the moment a Starter plan exhausts its 1,000 monthly credits. A full red progress bar, the reset date, and an add-on balance line frame two CTAs — Upgrade plan and Buy add-on credits. The add-on panel carries a quantity stepper that recomputes credits and price live; purchasing adds credits back, shrinks the bar away from 100 percent, and surfaces a success card. An Upgrade modal lists Starter, Pro, and Scale tiers with a monthly versus annual toggle.

Open in Lab
html css vanilla-js
Targets: JS HTML

Code

Usage-limit reached prompt

A complete quota-exhausted prompt for the fictional Northwind AI workspace, art-directed in the neutral product palette with an indigo brand and teal accent. A compact app bar establishes the product shell, then a single card delivers the message: “You’ve used all 1,000 of your monthly credits.” A usage meter sits at 100% in a red-to-amber fill, the reset date reads “Jul 1, 2026 (in 18 days)”, and an aria-live count keeps the used-versus-total figure announced. Two CTAs anchor the card — a primary Upgrade plan and an outline Buy add-on credits.

Choosing add-on credits expands an inline panel with a quantity stepper (typeable input plus +/− buttons and arrow-key support, clamped 1–20 packs). The stepper recomputes the credits granted, the line subtotal, and the total live, mirrored into the purchase button label. Completing a purchase grows the total allowance, so the bar visibly shrinks away from 100%, the consumed count drops below the cap, and a green success card appears reporting the new balance — a toast confirms each action. The flag, top border, and headline all flip from a red “Limit reached” state to a green “credits available” state once the user is unblocked.

An Upgrade plan modal (role="dialog", aria-modal, focus trap, Esc to close) presents Starter, a highlighted “Most popular” Pro, and Scale tiers with per-plan credit allowances, feature lists, and a Monthly/Annual toggle that swaps every price live with a “Save 20%” badge. Everything is vanilla HTML, CSS, and JS with inline SVG icons — no frameworks, no build step, and no network requests beyond the Inter web font. A prefers-reduced-motion block neutralizes the animations, and the layout collapses to a single column below 520px.

Illustrative UI only — the brand, plans, credits, and prices are fictional; not a real product.