46 lines
2.4 KiB
Markdown
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 -->
|