rspace-online/backlog/tasks/task-143 - Customizable-Das...

46 lines
2.4 KiB
Markdown

---
id: TASK-143
title: Customizable Dashboard with Persistent Home Icon
status: Done
assignee: []
created_date: '2026-04-11 03:18'
updated_date: '2026-04-11 03:18'
labels:
- dashboard
- ux
- tab-bar
dependencies: []
references:
- shared/components/rstack-tab-bar.ts
- shared/components/rstack-user-dashboard.ts
- server/dashboard-routes.ts
- server/shell.ts
- shared/tab-cache.ts
- server/index.ts
priority: medium
---
## Description
<!-- SECTION:DESCRIPTION:BEGIN -->
Add always-visible home button in tab bar and customizable widget dashboard system. Persistent home icon toggles dashboard overlay even with tabs open. 8 widget cards (tasks, calendar, activity, members, tools, quick actions, wallet, flows) with toggle/reorder customization persisted to localStorage. Dashboard summary API aggregates data from multiple modules in a single endpoint.
<!-- SECTION:DESCRIPTION:END -->
## Acceptance Criteria
<!-- AC:BEGIN -->
- [x] #1 Home icon always visible in tab bar, even with tabs open
- [x] #2 Click home icon toggles dashboard overlay on/off
- [x] #3 Dashboard shows when all tabs closed (existing behavior preserved)
- [x] #4 8 widget cards: tasks, calendar, activity, members, tools, quick actions, wallet, flows
- [x] #5 Customize mode with toggle checkboxes and reorder arrows
- [x] #6 Widget config persisted to localStorage per space
- [x] #7 Dashboard summary API at /api/dashboard-summary/:space
- [x] #8 Auth-gated widgets (activity, wallet) show sign-in prompts when logged out
<!-- AC:END -->
## Final Summary
<!-- SECTION:FINAL_SUMMARY:BEGIN -->
Implemented persistent home icon in tab bar and full widget-based dashboard system.\n\nFiles modified:\n- `rstack-tab-bar.ts`: Permanent home button with home-click event and home-active observed attribute\n- `rstack-user-dashboard.ts`: Full refactor with widget registry, config persistence, customize mode, 8 widget cards with per-widget data loading\n- `server/shell.ts`: home-click listener for dashboard overlay toggle, home-active tracking on layer-switch and dashboard-navigate\n- `shared/tab-cache.ts`: Clear home-active on popstate back-to-tab\n- `server/dashboard-routes.ts` (NEW): GET /api/dashboard-summary/:space aggregation endpoint\n- `server/index.ts`: Mount dashboard routes\n\nCommit: e632858\nDeployed to rspace.online and verified API returns tasks/calendar/flows data.
<!-- SECTION:FINAL_SUMMARY:END -->