Skip to content
shadcn.io

shadcn.io is not affiliated with official shadcn/ui

Other Workspace Empty Projects Error Block for React

A project tracker window whose current workspace has no projects: a sidebar of workspaces with counts, radio rows for the other workspaces, a Switch button that follows the choice, and the projects once you switch.

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

Help someone who landed in the wrong workspace, with this other workspace projects window for React with Base UI. It's Mapleboard, a project tracker, in a fixed-height window framed by Guides: the Sidebar holds a workspace chip at its head and the three workspaces you belong to (Studio Lane, Personal and Client work) with their project counts, collapsible to an icon rail with tooltips, and a sheet on a phone. Studio Lane is open and empty, so the page says "No projects in Studio Lane" and lists the other workspaces as radio rows with their counts and last update (Client work 2, Personal 4). The top bar's one Shine Button follows the row you choose, "Switch to Personal"; pressing it, or any workspace in the rail, opens that workspace, and the chip, the title and the page's list of projects follow. In a workspace with projects the button reads New project and adds an untitled one. Create a project here is an outline Button link. It's built from Sidebar, Button, Shine Button, Badge and Guides, with a CSS entrance only. For any app with more than one workspace, team or organization.

FAQ

Where do the counts and the rows come from?

From the typed PROJECTS list, each with its workspace: the rail's counts, the radio rows (the workspaces that have projects, most recently updated first) and the table are all worked out from it. Edit the list and the rows, counts and the date under each name change. In your product, load the projects of every workspace the person belongs to, not just the current one, so the empty page can name where they are.

What does Switch do?

It makes the chosen workspace the current one: the chip in the sidebar, the title of the list and the primary button change, and the status line ("Client work: 2 projects.") says so. Nothing navigates; open the workspace through your router where the code says so. The rail's workspaces do the same without the radio rows, and Studio Lane there brings the empty page back.

How do the rail's links work?

Each workspace is a link to # whose handler changes the page instead of navigating, named with its count ("Personal, 4 projects"), with the current one marked. They're SidebarMenuButtons with render set to an a element. Point them at your routes and mark the current one with isActive.

What stays in the page?

All of it: the projects are typed, New project adds an untitled project to this page's list only, and nothing is saved or fetched. Reloading starts over.

Does the window change height?

No. It is a fixed height, 576 pixels on a phone and 736 from the medium breakpoint, and only the page area scrolls, so a longer list never grows the window.

How does it look on a phone?

The sidebar becomes a sheet opened by the trigger in the top bar; choosing a workspace closes it and focus returns to the trigger. The top bar keeps the trigger, the title and the main button, which shortens to Switch or New with its full name kept for screen readers.

  • Pro

    No Projects Empty State

    Projects and tasks

    A projects table with nothing in it yet: a dashed, editable first row where you type a name and press Enter, three drawn ghost rows fading into the card, and a message band with one Create project button.

  • Pro

    A mail client in a fixed-height window: mailboxes and labels whose counts follow the mail you file, a searchable message list beside the open message, and Compose for a local draft.

  • Pro

    A full-height invite page for a team chat app: a drawn round table with five chairs that fill as email chips are added, a role select with a sentence per role, and one button that counts the invites and lists them.

  • Pro

    A project step split in two: a name with the key its tasks will carry and a three-way choice of how to start, beside a drawn board that follows the choice.

  • Pro

    A split 404 page for an order desk: an inset frame that says what was asked for (the kind, the id and the result), and a lookup by kind and number over six typed records that finds the record or names the nearest number.

  • Pro

    A cart page that is empty because its 30-minute hold ran out: the two released items, one still in stock and one sold out, with Add back, Tell me when it is back, a subtotal and a bar to free delivery.