Make the dashboard a grid of projects with their inbox
DashboardView drops the placeholder for a full-width grid of project cards.
Each card links to the project and lists its inbox cards (status_id === null)
under a "New" heading, or "Nothing new." when empty. Cards are fetched per
project (one GET /projects/{id}/cards each) after the project list resolves.
projects store: fetchProjects() now shares one in-flight request between
concurrent callers (the sidebar and the dashboard mount together).
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
This commit is contained in:
+4
-3
@@ -52,9 +52,10 @@ it). The current page is highlighted via RouterLink's `active-class`.
|
||||
`<RouterView :key="route.path">` remounts the view on every path change so
|
||||
sidebar → project → project navigation always does a fresh load.
|
||||
|
||||
`/` redirects to `/dashboard` (`DashboardView.vue`, an "under construction"
|
||||
placeholder). Signed-out routes (`/login`, `/register`, `/verify-email`) render
|
||||
without the sidebar.
|
||||
`/` redirects to `/dashboard` (`DashboardView.vue`), a full-width grid of
|
||||
project cards — each shows the project name and, under a **New** heading, its
|
||||
inbox cards (`status_id === null`), fetched per project. Signed-out routes
|
||||
(`/login`, `/register`, `/verify-email`) render without the sidebar.
|
||||
|
||||
## Project detail
|
||||
|
||||
|
||||
Reference in New Issue
Block a user