Skip to main content

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.

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