peter
7455fff401
feat(design): a playlist's one action list (C1) — the row's "…", Delete + undo, the header's "…" (E28 S3e2)
...
- Playlist rows: the X column became the row's "…" (play, pin, copy title/link, move, order,
remove). Remove runs at once, with no confirm; its toast's Undo puts the row back at its index.
The Delete key removes a keyboard-walked row, and focus moves on to the next.
- POST /api/playlists/{id}/items takes an optional `position`, so an undo is one request that
renumbers the list around the row.
- A new `listDelete` key scope. Only a list with `onDelete` registers it, so the help sheet does not
offer Delete where nothing handles it.
- A playlist has one list, `usePlaylistActions.items`: rename, pin, YouTube open/push/revert,
delete. The rail row's "…" and the page header's "…" both open it. Push and revert moved into
the hook; the header keeps Play all.
- Phone-width playlist table: "#" and Channel are hidden below sm (`Column.phoneHidden`). Their
fixed widths had left the title no width.
2026-09-26 04:05:39 +02:00
..
2026-09-17 01:44:29 +02:00
2026-09-22 01:59:03 +02:00
2026-09-05 04:02:57 +02:00
2026-09-16 04:29:13 +02:00
2026-09-19 19:19:29 +02:00
2026-09-19 03:42:26 +02:00
2026-09-04 22:42:15 +02:00
2026-09-19 18:21:06 +02:00
2026-09-23 01:20:22 +02:00
2026-09-19 19:19:30 +02:00
2026-09-18 03:16:15 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-20 07:51:08 +02:00
2026-09-17 02:42:12 +02:00
2026-09-19 22:08:10 +02:00
2026-09-19 19:30:27 +02:00
2026-09-16 04:29:13 +02:00
2026-08-28 02:37:56 +02:00
2026-09-16 03:43:29 +02:00
2026-09-18 23:44:42 +02:00
2026-09-14 01:42:57 +02:00
2026-09-05 04:18:33 +02:00
2026-08-30 03:32:14 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 20:29:33 +02:00
2026-09-05 01:35:09 +02:00
2026-09-04 20:29:33 +02:00
2026-09-14 00:50:05 +02:00
2026-09-18 23:44:42 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 05:54:19 +02:00
2026-08-23 07:43:06 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 04:51:31 +02:00
2026-09-15 00:53:15 +02:00
2026-08-28 02:37:56 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 07:34:17 +02:00
2026-09-19 18:21:06 +02:00
2026-09-19 01:33:32 +02:00
2026-08-29 08:02:11 +02:00
2026-09-19 06:55:40 +02:00
2026-09-18 03:16:15 +02:00
2026-09-04 01:56:55 +02:00
2026-09-19 05:03:31 +02:00
2026-09-18 22:50:37 +02:00
2026-09-04 22:42:15 +02:00
2026-09-01 23:31:49 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-12 05:50:31 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 22:48:20 +02:00
2026-09-26 04:05:39 +02:00
2026-08-29 03:52:13 +02:00
2026-09-19 18:14:18 +02:00
2026-08-20 08:50:47 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 18:21:06 +02:00
2026-09-19 17:26:07 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-06 03:31:02 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 07:16:17 +02:00
2026-09-19 19:19:30 +02:00
2026-09-19 07:16:17 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-08-28 01:34:02 +02:00
2026-09-11 18:05:30 +02:00
2026-09-22 01:59:03 +02:00
2026-09-20 23:02:11 +02:00
2026-08-23 07:43:06 +02:00
2026-09-15 02:25:00 +02:00
2026-08-23 07:43:06 +02:00
2026-09-04 02:38:01 +02:00
2026-09-04 23:04:09 +02:00
2026-09-20 00:51:12 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 19:19:30 +02:00
2026-08-23 07:43:06 +02:00
2026-09-05 01:46:58 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-18 01:20:42 +02:00
2026-09-19 05:05:13 +02:00
2026-09-17 00:03:56 +02:00
2026-08-26 05:25:47 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-23 01:20:22 +02:00
2026-09-05 04:02:57 +02:00
2026-08-23 07:43:06 +02:00
2026-08-23 07:43:06 +02:00
2026-09-19 18:21:06 +02:00
2026-09-18 22:50:37 +02:00
2026-09-19 04:51:31 +02:00
2026-09-19 19:19:29 +02:00
2026-09-18 23:44:42 +02:00