Skip to content

Admin UI

The WollyCMS admin is a single-page application built with SvelteKit. It runs at /admin on your CMS domain (e.g., https://cms.example.com/admin).

The admin supports three theme modes: Light, Dark, and System (follows your OS preference).

Click the theme icon in the bottom-left of the sidebar to cycle between modes:

  • Sun — Light mode
  • Moon — Dark mode
  • Monitor — System (auto-detects OS preference)

Your choice is saved in the browser and persists across sessions. There is no white flash on page load — the theme is applied before the page renders.

The admin uses CSS custom properties for all colors. Both light and dark themes are defined in packages/admin/src/app.css. Key variables:

VariablePurpose
--c-bgPage background
--c-bg-subtleSubtle background (hover states, table headers)
--c-surfaceCard, modal, and input backgrounds
--c-textPrimary text
--c-text-lightSecondary/muted text
--c-borderBorders and dividers
--c-accentPrimary accent (links, active states, focus rings)
--c-dangerDestructive actions
--c-successSuccess states
--c-warningWarning states
--c-sidebarSidebar background

Custom block type editors and admin extensions should use these variables to automatically support both themes.

The admin displays your site name in the sidebar header. Configure it in System → Settings under the “Admin Brand Name” field. The logo is the WollyCMS block composition icon by default.

ShortcutAction
Ctrl+KOpen global search
Ctrl+SSave current page (in page editor)
Ctrl+Shift+PToggle preview panel (in page editor)
?Show keyboard shortcuts overlay
EscClose overlay/modal

Press Ctrl+K from anywhere in the admin to open the global search. It searches across pages, blocks, media, and menus. Results are grouped by type.

The dashboard shows:

  • Quick actions — New Page, Upload Media, View Site (links to your SITE_URL)
  • Stats — Total pages, published, drafts, shared blocks, media, menus, users
  • Recent pages — Last updated pages with direct edit links

Pages show animated skeleton placeholders while data loads. The dashboard, pages list, and media grid all use shimmer skeletons instead of blank screens or spinner text.

The sidebar organizes admin features into sections:

  • Content — Pages, Blocks, Media
  • Structure — Menus, Taxonomies, Redirects
  • Schema — Content Types, Block Types
  • System — Users, Webhooks, API Keys, Tracking Scripts, Audit Log, Account, Settings

On tablets (< 1024px), the sidebar collapses to icon-only mode with hover tooltips. On phones (< 768px), the sidebar is hidden behind a hamburger menu that slides out as an overlay with full labels. Tables scroll horizontally and grid layouts stack vertically.

The page editor is the core editing experience:

  • Title area — Notion-style large title input with inline slug editor
  • Status pill — Colored badge showing Published/Draft/Archived
  • Regions — Color-coded content areas (Hero, Content, Sidebar, etc.)
  • Block cards — Collapsible cards with type badges, position numbers, and quick actions
  • Preview panel — Split-pane live preview with device size toggle (mobile/tablet/desktop)
  • SEO sidebar — Meta title/description, OG image, canonical URL, robots, SERP preview, social preview, SEO score
  • Accessibility panel — WCAG AA compliance checker
  • Revision history — View and restore previous versions
  • Click the + button on a region to add a block (visual type picker with icons)
  • Hover a block card for quick actions (Edit, Duplicate, Move to Region, Remove)
  • Drag blocks to reorder within or across regions
  • Use / in the rich text editor for slash commands (headings, lists, tables, images)