Description
Implement the dashboard page at /dashboard, replacing the current stub. The dashboard is the post-login landing page and should work for both project managers and team members.
Two sections:
- Pending invitations — surfaces any
Invited or Requested memberships using the existing InvitationCard component
- My projects — split into "Managing" (projects created by the user) and "Member of" (accepted team memberships), with an empty state when neither apply
The dashboard also needs a layout wrapping it in the AppShell (TopBar + LeftRail), which it currently lacks.
Tasks
Description
Implement the dashboard page at
/dashboard, replacing the current stub. The dashboard is the post-login landing page and should work for both project managers and team members.Two sections:
InvitedorRequestedmemberships using the existingInvitationCardcomponentThe dashboard also needs a layout wrapping it in the
AppShell(TopBar + LeftRail), which it currently lacks.Tasks
app/dashboard/layout.tsxmirroring the projects layout (auth guard + AppShell)currentUser,memberships, andprojectsin parallel in the pageInvitationCardProjectCardfor projects created by the current userEmptyStatewhen the user has no projects or memberships