Files
Jakub Zych cf711a996d docs(08): capture phase context
Phase 08: Admin Dashboard
- Implementation decisions documented
- Phase boundary established
2026-02-04 16:38:25 +01:00

67 lines
2.2 KiB
Markdown

# Phase 8: Admin Dashboard - Context
**Gathered:** 2026-02-04
**Status:** Ready for planning
<domain>
## Phase Boundary
Provide customizable dashboard after login and plugin settings interface. Dashboard displays widgets from plugins. Plugins can register settings pages accessible from admin menu. Settings use the same YAML-driven form system from Phase 7.
</domain>
<decisions>
## Implementation Decisions
### Dashboard Layout
- Masonry/fluid layout — widgets flow and stack based on their size
- Drag-and-drop customization — admins can reorder, resize, show/hide widgets
- Per-user layout preferences — each admin has their own dashboard arrangement
- Reset to default option — admins can restore plugin-provided default layout
### Widget System
- Widget types: stats/charts, lists/tables, and quick actions — all supported
- Sizing: plugin-defined defaults with admin customization
- Real-time updates via WebSocket/SSE — widgets receive push updates for live data
- Widget configuration — widgets can have their own settings (e.g., item count, date range)
### Settings Pages
- WinterCMS pattern: plugins define top-level menus for model CRUDs and custom views
- Central Settings area where plugins register their settings
- Grouped by category (System, Content, Users, etc.)
- Plugins can register new categories beyond core defaults
### Empty/Loading States
- Fresh install: default system widgets pre-populated (recent activity, quick links)
- Loading: skeleton screens matching content layout
- Empty widget: friendly message explaining why empty and what to do
- Error state: inline error within widget with retry option
### Claude's Discretion
- Save behavior for settings forms (HTMX vs full page based on patterns)
- Default widget arrangement on fresh install
- Exact skeleton screen designs
- Category ordering in settings
</decisions>
<specifics>
## Specific Ideas
- "Like in WinterCMS" — follow WinterCMS patterns where plugins have their own top-level menus for CRUDs but settings centralized
- Real-time widget updates prioritized over polling
</specifics>
<deferred>
## Deferred Ideas
None — discussion stayed within phase scope
</deferred>
---
*Phase: 08-admin-dashboard*
*Context gathered: 2026-02-04*