feat: Phases 4-7 — Full Feature Expansion (26 features)
Phase 4 — New Widget Types: - Clock/Weather, System Stats, RSS/Feed, Calendar, Markdown, Metric/Counter, Link Group, Camera/Stream widgets - Backend services with caching for each data source - Full creation form with dynamic config fields per type Phase 5 — Visual & Styling Enhancements: - Glassmorphism card style (solid/glass/outline) - Board-level themes with per-board hue/saturation - Animated SVG status rings replacing static dots - Card size options (compact/medium/large) - Custom CSS injection (admin + per-board, sanitized) - Wallpaper backgrounds with blur/overlay/parallax Phase 6 — Functional Features: - Favorites bar with drag-and-drop reordering - Recent apps tracking with privacy toggle - Uptime dashboard page (/status, guest-accessible) - Notifications system (Discord/Slack/Telegram/HTTP webhooks) - App tags with filtering in board view - Multi-URL app cards with expandable sub-links - Personal API tokens with scoped permissions - Audit log with retention and admin viewer Phase 7 — Quality of Life: - Onboarding wizard (5-step first-launch setup) - App URL health preview with favicon/title detection - Board templates (4 built-in + custom import/export) - Keyboard shortcut overlay (j/k nav, 1-9 boards, ? help) 212 files changed, 15641 insertions, 980 deletions. Build, lint, type check, and 222 tests all pass.
This commit is contained in:
@@ -5,6 +5,7 @@
|
||||
**Domain:** fullstack
|
||||
|
||||
## Objective
|
||||
|
||||
Build the admin panel with user management, group management, app management, board management, and system settings configuration.
|
||||
|
||||
## Tasks
|
||||
@@ -29,6 +30,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
- [x] Task 18: Create `src/routes/api/search/+server.ts` — global search endpoint (searches apps + boards)
|
||||
|
||||
## Files to Modify/Create
|
||||
|
||||
- `src/routes/admin/+layout.server.ts`
|
||||
- `src/routes/admin/+layout.svelte`
|
||||
- `src/routes/admin/users/+page.server.ts`
|
||||
@@ -46,6 +48,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
- `src/lib/components/admin/*.svelte`
|
||||
|
||||
## Acceptance Criteria
|
||||
|
||||
- Admin-only routes are protected (non-admin users get 403/redirect)
|
||||
- Users can be created, edited, deleted, assigned to groups
|
||||
- Groups can be created, edited, deleted
|
||||
@@ -54,6 +57,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
- All forms use Superforms + Zod validation
|
||||
|
||||
## Notes
|
||||
|
||||
- Admin role is checked in `+layout.server.ts` — redirect non-admins
|
||||
- User creation by admin sets password directly (no email verification in MVP)
|
||||
- OAuth config fields in settings are stored but non-functional until post-MVP Phase 2
|
||||
@@ -61,6 +65,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
- ⚠️ Big Bang: functional but minimally styled until Phase 7
|
||||
|
||||
## Review Checklist
|
||||
|
||||
- [x] All tasks completed
|
||||
- [x] Code follows project conventions
|
||||
- [x] No unintended side effects
|
||||
@@ -70,6 +75,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
## Handoff to Next Phase
|
||||
|
||||
**What was built:**
|
||||
|
||||
- Admin layout with auth guard (`requireAdmin`) and navigation (Users/Groups/Settings + Back to Dashboard)
|
||||
- User management: full CRUD via Superforms, inline role editing, group membership management (add/remove), delete with confirmation
|
||||
- Group management: full CRUD via Superforms, inline editing, member count display, default group toggle
|
||||
@@ -81,6 +87,7 @@ Build the admin panel with user management, group management, app management, bo
|
||||
- Self-deletion protection: admin cannot delete their own account
|
||||
|
||||
**Available for Phase 7:**
|
||||
|
||||
- All admin components in `src/lib/components/admin/` (UserTable, GroupTable, SettingsForm, PermissionEditor) — ready for UI polish
|
||||
- Admin layout nav bar — can be styled with active states, icons
|
||||
- PermissionEditor is a reusable client-side component with callback props (`onGrant`/`onRevoke`) — can be integrated into any admin page
|
||||
|
||||
Reference in New Issue
Block a user