Blocks
5 blocks for an admin dashboard page
An admin dashboard has to answer “is anything wrong?” within five seconds. Five categories, the order between shell and data, the chart and table faults, the real catalogue counts.
Key points
- Pick the shell (sidebar and topbar) before the widgets: it decides the room for data.
- A chart without an empty state is not ready for production.
- Thirteen table blocks: server pagination stays to be written.
An admin dashboard has to answer “is anything wrong?” within five seconds, before the user reads a label. The catalogue indexes 43 dashboard blocks, 13 table, 75 chart, 27 sidebar and 8 settings, read on 2026-11-01 from the category pages.
The numbers are record counts per category, measured the same day on the public pages. The imbalance is the interesting part: 75 chart against 13 table means the catalogue covers the visual side well and the boring side far less, even though the boring side fills the screen.
What the page has to do
The dashboard user arrives with an operational question, not to explore. They need the status on top, the detail below and one action per row. The page has to stay readable with 200 rows and with zero rows, and it must not need a manual refresh to notice a job failed.
- Three status numbers on top, each with its unit and its period.
- A table that holds 200 rows with a sticky header and actions on the right.
- An empty state that explains how to fill the data.
- A freshness marker: time of the last data point, not just an icon.
The order of the blocks
| Section | Role on the page | Blocks available |
|---|---|---|
| dashboard | give the frame and the navigation | 43 |
| table | list rows with actions | 13 |
| chart | show the trend over time | 75 |
| sidebar | keep navigation always visible | 27 |
| settings | let people change preferences | 8 |
Sidebar and dashboard together are the shell: the first decides how much width is left, the second fills that width. Pick the widget before the shell and you find out late that the 27-block sidebar takes 280 px and the chart does not fit. Chart and table come next, settings last, because that section is visited once a month.
The blocks to start from
The tables list block, registry, files and category. An 11-file dashboard usually includes the KPI grid and the topbar; a 3-file one is a single panel. The category column is the one declared by the registry: a 24-file “data table” block is the densest choice in the catalogue and deserves a read before install.
Dashboard blocks
| Block | Registry | File | Category |
|---|---|---|---|
| dashboard-01 | shadcn/ui | 11 | dashboard |
| sidebar-15 | shadcn/ui | 11 | sidebar |
Table blocks
| Block | Registry | File | Category |
|---|---|---|---|
| Data Table Core | niko-table | 24 | data |
| Data Table | niko-table | 16 | data |
Chart blocks
| Block | Registry | File | Category |
|---|---|---|---|
| Chart 01 - Sales Performance Bar Chart | Shadcn Space | 2 | chart |
| Chart 02 - Earnings Pie Chart | Shadcn Space | 2 | chart |
Sidebar blocks
| Block | Registry | File | Category |
|---|---|---|---|
| sidebar-15 | shadcn/ui | 11 | sidebar |
| sidebar-10 | shadcn/ui | 8 | sidebar |
What breaks in production
Dashboards break on real data: empty series, seven-figure numbers, long client names, different time zones. The chart that shipped with twelve ordered points receives a series with a gap and draws a straight line where data is missing, which is worse than drawing nothing. The table without a sticky header loses its head after three scrolls.
- Empty series: the chart prints a broken label on the axis instead of an empty state.
- Numbers past a million that break the KPI card at 320 px.
- A sidebar that scrolls with the page and takes the lower items away.
- Settings without confirmation: the theme change is lost on reload.
curl "https://ui.eneawork.it/api/blocks/category/chart?limit=10"
The response lists ten charts with source and files: read it to see which chart library each block brings. Two blocks with the same shape may depend on different packages, and that is the real install cost in a project that already has one chart library.
A limit to declare
The 13 table blocks are presentation tables, not data grids: none ships server sorting, multi-select or cursor pagination. For a real admin the table is the most expensive piece of the project, and the catalogue covers it less than any other category on the page.
In the catalogue: dashboard with shell, sidebar with state and all blocks. The guides: measured Tailwind dashboards, dark mode without a second system and UI library weight.
Frequently asked questions
Should I start from the sidebar or the dashboard widget?
From the sidebar: it sets the usable width and therefore how many KPIs fit in one row. A widget chosen before the shell forces a grid review once the sidebar turns out wider than expected, and the review touches every card.
Why are there 75 chart blocks and only 13 tables?
Because charts are easy to vary and hard to get wrong on a showcase, while a useful table needs sorting, selection and states. The catalogue mirrors what registries publish, and they publish more charts than data grids.
Is a settings block essential in a dashboard?
No, with 8 blocks available it is the thinnest category and the least visited. When the product only has theme and language, those two items belong in a menu, not a page: you save a block and a route to maintain.
How do I handle the theme switch in the dashboard?
With tokens, not conditional classes per component. The chart block deserves two passes, light and dark, because chart colour scales are often fixed and turn unreadable on a dark background.
How many rows must the table hold before changing approach?
Past 100 rows a data grid with server pagination beats a presentation block. Under 100, a table block with a sticky header and local search is simpler and adds no extra dependency.