feat(dashboards): management page for saved dashboards (PMS-453 phase 1 client) #322

Merged
YousifShkara merged 1 commit from feat/PMS-453-saved-dashboards-client into main 2026-06-23 11:22:06 +02:00
Owner

Adds /dashboards to the SPA: a tenant-scoped list of the caller's own saved dashboards (default-first), a "New dashboard" modal that creates a row and optionally pins it as the post-login default, a "Pin default" row action that swaps the pinned row, and a "Delete" row action. Round-trips through the API surface added on the server in feat/PMS-453-saved-dashboards and treats the layout JSONB as opaque; the widget surface that consumes the blob is a follow-up.

This is purely the management surface. The existing /dashboard (singular, hardcoded) page is untouched; once the widget surface lands the auth shell will redirect a logged-in user to their pinned default dashboard's /dashboards/<id> route instead.

Wires patch_authed / patch_with_auth into the fetch hook so the new module's partial-update endpoint has a typed client without inviting other call sites to overwrite whole rows.

#PMS-453

Adds `/dashboards` to the SPA: a tenant-scoped list of the caller's own saved dashboards (default-first), a "New dashboard" modal that creates a row and optionally pins it as the post-login default, a "Pin default" row action that swaps the pinned row, and a "Delete" row action. Round-trips through the API surface added on the server in `feat/PMS-453-saved-dashboards` and treats the `layout` JSONB as opaque; the widget surface that consumes the blob is a follow-up. This is purely the management surface. The existing `/dashboard` (singular, hardcoded) page is untouched; once the widget surface lands the auth shell will redirect a logged-in user to their pinned default dashboard's `/dashboards/<id>` route instead. Wires `patch_authed` / `patch_with_auth` into the fetch hook so the new module's partial-update endpoint has a typed client without inviting other call sites to overwrite whole rows. #PMS-453
feat(dashboards): management page for saved dashboards (PMS-453 phase 1 client)
All checks were successful
Check / fmt + clippy + tests (pull_request) Successful in 9m19s
Create release / Create release from merged PR (pull_request) Has been skipped
e8b8fbf5a1
Adds `/dashboards` to the SPA: a tenant-scoped list of the caller's own saved dashboards (default-first), a "New dashboard" modal that creates a row and optionally pins it as the post-login default, a "Pin default" row action that swaps the pinned row, and a "Delete" row action. Round-trips through the API surface added on the server in `feat/PMS-453-saved-dashboards` and treats the `layout` JSONB as opaque; the widget surface that consumes the blob is a follow-up.

This is purely the management surface. The existing `/dashboard` (singular, hardcoded) page is untouched; once the widget surface lands the auth shell will redirect a logged-in user to their pinned default dashboard's `/dashboards/<id>` route instead.

Wires `patch_authed` / `patch_with_auth` into the fetch hook so the new module's partial-update endpoint has a typed client without inviting other call sites to overwrite whole rows.

#PMS-453
YousifShkara deleted branch feat/PMS-453-saved-dashboards-client 2026-06-23 11:22:06 +02:00
Sign in to join this conversation.
No reviewers
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
psa-systems/mokosh-apps!322
No description provided.