bvandeusen
|
f94bf26f02
|
feat(web): add ApiErrorBanner retry-capable error card
|
2026-04-23 18:42:22 -04:00 |
|
bvandeusen
|
9ed8e261d4
|
feat(web): add LibrarySkeleton with list/grid/album variants
Shimmer placeholders that mirror the layout of each library page so
the real content slides in without shifting.
|
2026-04-23 18:41:32 -04:00 |
|
bvandeusen
|
12d1cb739b
|
feat(web): add TrackRow component
Non-interactive album track row with number, title, duration.
Player plan will add click-to-play.
|
2026-04-23 18:40:40 -04:00 |
|
bvandeusen
|
e9b482da0c
|
feat(web): add AlbumCard component
Grid card used on the artist detail page. Cover image, title, year.
Broken covers swap to FALLBACK_COVER via onerror.
|
2026-04-23 18:39:42 -04:00 |
|
bvandeusen
|
a1252c1ef4
|
feat(web): add ArtistRow component
One row in the artists list: avatar initial, name, album count,
chevron. Entire row is an <a> for click + keyboard activation.
|
2026-04-23 18:18:52 -04:00 |
|
bvandeusen
|
e1504f8e6c
|
feat(web): add Shell component with header, sidebar, and user menu
Persistent chrome used by every authenticated route. Sidebar hides
below md:; mobile nav is a separate concern for a later plan.
|
2026-04-22 22:20:18 -04:00 |
|