Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Plan Downgrade Limits Success Block for React

A confirmation page for moving from Pro to Free: what was scheduled, two cards with the workspace's three limits as bars (solid up to a cut mark, hatched beyond it) and an optional row of reason chips.

Framework
UI library

Preview

Preview width

Installation

Part of Pro
Pro unlocks the code and one-line install of every Pro button and text effect, plus the MCP for your AI editor.
Have Pro already? Sign in to open it.Opens here as soon as you're Pro.

Overview

Show the cost of a smaller plan before it bites with this confirmation page for React with Base UI. It's the page Noteroost, a notes app, shows after a workspace is moved from Pro to Free: the page's side rails and one band, with a start-aligned column. A check in a tile, the heading, one sentence and a short list of what happened (the new plan, the last day on Pro, the days to go). Then two cards side by side, each framed by Guides, Pro until its last day and Free from the day it starts, each with three limits (members, storage, projects) drawn as bars on one scale: solid up to a cut mark and hatched beyond it where use is over the cap, with the words saying by how much or how much is to spare. A row of chips, a Toggle Group, asks why, optionally, and one Shine Button goes back to settings. For downgrades, lower tiers and any change where limits shrink.

FAQ

What stays in the page, and how do I wire it for real?

Nothing was downgraded. The limits and use are typed in LIMITS, the two days in AS_OF and EFFECTIVE, and every figure on the page is worked out from them: the days to go, the amount over, the amount to spare and the number of limits that are over. Choosing a reason only changes this page and says so in a polite status line. To wire it, build LIMITS from your plan definitions and the workspace's real usage, and post the reason from pick.

How are the bars worked out, and are they readable without sight?

Each bar is on its own scale, the larger of use and the cap, so an overshoot still fits. The solid stretch is whatever fits under the cap, the hatched stretch is the part over it, and a mark at the cap separates them; a limit that fits shows a solid stretch only. The bars are a drawing, hidden from assistive technology: the line above each says "7 of 3" and the line below says "4 members over the limit" or "1 project to spare", so the words never depend on the shading.

How do the reason chips behave?

They are a single-choice Toggle Group that may be empty: pressing the chosen chip again clears it, and the status line says what was noted or that it was cleared. Arrow keys move between the chips and Space or Enter presses one. Nothing is sent: the choice is kept on this page only.

How does it look on a phone?

The Pro card folds into a sentence ("Everything fits: 7 of 25 members, 6.4 of 100 GB, 9 of 50 projects") so the Free card, where the difference is, comes first; the two actions share a row pinned to the bottom of the screen, and the status line is read out but not shown. From the small breakpoint up the Pro card shows its bars, and from the medium breakpoint the two cards sit side by side.

  • Pro

    Downgrade Confirmation Billing

    Upgrade and downgrade

    A downgrade that shows what it costs first: the limits that shrink, the folders now over the smaller plan's storage with a checkbox to archive each and a live meter, the day it takes effect, and an alert dialog that asks for a typed word.

  • Pro

    Plan Upgrade Success

    Plans and limits

    An upgrade confirmation page: Free and Pro side by side in one card with the limits that changed and how much each grew, the start and renewal dates, and a quiet fall of confetti that stops with reduced motion.

  • Pro

    A confirmation page for a cancelled subscription: a ring counting the days of paid access still ahead, the day access ends, the reason given quoted back, and a Reactivate button that turns the page in place.

  • Pro

    Usage Meters Billing

    Plan and usage

    Usage meters for an app's settings: one row per quota with its count, a bar that turns to a warning tone at 80% and an over-limit tone past 100%, and a plain line on what happens next.

  • Pro

    Seat Allocator Success

    Plans and limits

    A full-height confirmation for seats bought in bulk: four teams with steppers that can never take more than were bought, a bar and an unassigned count that follow them, a Save allocation button with a local result, and the order beside it.

  • Pro

    A license confirmation inside an account panel: the plan with its key masked and a button that copies it, the date it runs to, seats in use against seats bought, and a table of what the license includes.