a2n-seattle / a2n-seattle/rms-app

Web redesign Phase 3/8: Dashboard page (Currently Borrowed / Owned / Scheduled / History + alerts)

Aperta
#335 1 commento 0 reazioni 0 assegnatari Vedi su GitHub
idea priority-medium
Lingua principale
TypeScript
Stelle
1
Fork
1
Merge medio
27m
PR unite (30g)
4

Descrizione

# Why?

**As a** user of rms-app's web frontend
**I want** a single dashboard showing what I currently have borrowed, what I own, what's scheduled, my history, and alerts for overdue items or unclaimed reservations
**So that** I don't have to hunt across separate pages to know my current status, matching the "User" tab in our internal Retool RMS app.

# What?

Phase 3 of an 8-phase redesign of `web/` modeled after our internal Retool RMS app (`https://a2nseattle.retool.com/p/rms-alpha/main`). Depends on Phase 2's backend routes being merged and deployed.

Scope:
- New `/dashboard` page (or repurpose `/browse` as the landing page — decide during implementation) with tabs: **Currently Borrowed / Owned Items / Scheduled / History**, consuming Phase 2's `ListMyBorrowedItems`/`ListMyOwnedItems`/`ListUpcomingReservations` plus the existing `listReservations` wrapper.
- Alert banners for:
- **Overdue items** (from Phase 2's `ListOverdueItems`).
- **Reservations that haven't been picked up yet** (from `ListUpcomingReservations`), each offering inline **Borrow** (new web wrapper around the existing `BorrowFromSchedule` backend API — `ts-code/src/api/BorrowFromSchedule.ts` already exists, just has no `web/lib/api/*` wrapper yet) or **Cancel** (existing `DeleteReservation` — add a web wrapper if one doesn't already exist).
- User detail fields (email/name) are **read-only** here — no new self-service editing beyond what already exists on `/profile` (GH-306 PR 4/4).
- New `web/lib/api/*` wrappers + types for anything not yet exposed to `web/`, new Server Actions for the Borrow/Cancel alert actions, new Playwright spec covering the alert-action flows.

# Testing

Per this repo's testing policy: Jest/RTL for new components, Playwright e2e for the new dashboard flow and the alert Borrow/Cancel actions.

# Additional context

Part of an 8-phase `web/` redesign series (#333 Phase 1, #334 Phase 2). Phases 4 (basket-style borrow/reserve), 6 (room reservations), 7 (batched return), and 8 (extend reservation) extend this dashboard's Scheduled/History views once built.

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Valutazione

Questa issue non è ancora stata valutata.

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.