Dashboard
The dashboard is the admin's home screen — it's what you see right after signing in. It shows a few summary cards of your site's state plus optional plugin-contributed cards with their own data.
What's there by default
A row of four built-in stat cards:
- Posts — total post count + a breakdown of online vs draft
- Pages — total page count + same breakdown
- Online — how many of your posts/pages are currently published (i.e. have a
lastPublishedPath) - Drafts — how many are unpublished
Counts come from live Firestore subscriptions in paginationMode: "global" (default) or aggregation queries in paginationMode: "paginated". Either way they're current — no cache to bust.
Below the stat cards, a row of plugin-contributed cards (only shown if any plugin has registered one).
Built-in plugin cards
The flexweg-metrics plugin (must-use, always-on) registers two cards on every install:
- Storage usage — your current Flexweg storage consumed vs the plan limit, with a progress bar that turns amber when over 75% and red when over 90%. Includes a manual Refresh button.
- Firestore usage — a count breakdown across
posts/,terms/,media/,users/collections plus the total document count. Useful for spotting unusually large collections or planning a cleanup.
Other plugins may add their own cards via pluginApi.registerDashboardCard(). See Dashboard cards for plugin authors.
What's NOT on the dashboard
By design, the dashboard avoids:
- A "recent activity" feed (would need an activity log we don't keep)
- "Drafts assigned to you" (no per-user assignments in v1)
- "Pending comments" (no comments in v1)
- A live preview of the public site (just open the public URL in another tab)
Click through to Posts, Pages, Themes or any other section for the actual work.
Refreshing data
Most cards are powered by live Firestore subscriptions, so they update without reload as content changes. The two flexweg-metrics cards make HTTP calls (one for Flexweg storage, one for Firestore aggregations) so they have a manual Refresh button — Firebase aggregation queries cost an aggregation read each time, so we don't auto-refresh on a timer.
Reloading the admin in your browser doesn't lose any data — it just re-establishes the Firestore subscriptions and refetches the storage/aggregation cards.
Navigating away
Click any sidebar entry to leave the dashboard. The dashboard re-renders fresh on every navigation back, so the stat cards are always current.
Continue
- Posts — most common next step from the dashboard
- Plugins — manage plugins (and their dashboard cards)
- Theme settings — customize the active theme