edde746
4c2f533eef
refactor(music): share the playlist play/download/delete flows between the context menu and the detail screens
...
The audio-playlist play flow, the playlist download flow (including its inline MediaItem synthesis), the delete-with-confirm flow, and the fetch-artist-then-navigate flow each existed twice — once in MediaContextMenu and once in the playlist/album/now-playing screens, with 'Match PlaylistDetailScreen' comments standing in for shared code. They now live in music_navigation.dart and download_utils.dart with per-caller strings preserved; the menu's collection/playlist download handlers fold into one parameterized handler, its duplicated sync/download menu tree is built once, and the generic picker dialogs move to collection_picker_dialog.dart (pure move).
2026-08-17 19:02:21 +02:00
..
2026-07-26 06:09:47 +02:00
2026-07-24 03:46:46 +02:00
2026-07-26 06:09:48 +02:00
2026-07-26 06:09:47 +02:00
2026-07-26 06:09:48 +02:00
2026-04-21 12:04:48 +02:00
2026-07-10 07:10:15 +02:00
2026-08-04 04:35:06 +02:00
2026-08-13 21:23:08 +02:00
2026-08-10 20:28:41 +02:00
2026-07-26 06:09:47 +02:00
2026-07-29 06:47:54 +02:00
2026-06-12 06:30:38 +02:00
2026-08-06 03:45:08 +02:00
2026-07-26 06:09:50 +02:00
2026-07-26 06:09:49 +02:00
2026-07-26 06:09:48 +02:00
2026-07-28 05:07:00 +02:00
2026-08-17 13:47:00 +02:00
2026-08-17 19:02:21 +02:00
2026-06-14 18:34:12 +02:00
2026-07-05 08:34:55 +02:00
2026-05-31 20:33:38 +02:00
2026-07-24 03:46:46 +02:00
2026-07-13 23:13:53 +02:00
2026-08-04 16:56:54 +02:00
2026-07-24 03:46:46 +02:00
2026-05-04 22:40:18 +02:00
2026-07-24 07:30:43 +02:00
2026-04-18 12:40:35 +02:00
2026-07-12 17:31:16 +02:00
2026-08-06 03:45:09 +02:00
2026-07-26 06:09:47 +02:00
2026-07-26 06:09:48 +02:00
2026-07-24 03:46:50 +02:00
2026-05-02 19:18:42 +02:00
2026-06-01 11:06:03 +02:00
2026-05-11 12:54:26 +02:00
2026-07-29 06:47:54 +02:00
2026-07-12 08:42:24 +02:00
2026-05-11 02:40:50 +02:00
2026-07-24 03:46:46 +02:00
2026-08-06 03:45:09 +02:00
2026-05-01 07:55:15 +02:00
2026-05-04 22:40:18 +02:00
2026-08-10 15:32:43 +02:00
2026-07-26 06:09:49 +02:00
2026-07-24 03:46:46 +02:00
2026-07-24 03:46:46 +02:00
2026-07-05 15:55:52 +02:00
2026-08-17 08:08:45 +02:00
2026-07-26 06:09:50 +02:00
2026-06-01 11:06:03 +02:00
2026-07-30 01:40:24 +02:00
2026-07-26 06:09:49 +02:00
2026-07-18 13:32:40 +02:00
2026-08-16 09:14:28 +02:00
2026-08-04 04:35:06 +02:00
2026-08-17 19:02:18 +02:00
2026-05-19 10:54:04 +02:00
2026-08-17 19:02:21 +02:00
2026-06-12 06:30:38 +02:00
2026-07-26 04:24:55 +02:00
2026-05-01 01:20:36 +02:00
2026-07-28 23:28:25 +02:00
2026-08-16 22:40:53 +02:00
2026-08-17 08:08:45 +02:00
2026-05-06 00:51:00 +02:00
2026-07-14 18:11:04 +02:00
2026-07-26 06:09:49 +02:00
2026-06-08 22:03:28 +02:00
2026-05-11 12:55:59 +02:00
2025-12-14 21:03:11 +01:00
2026-05-01 01:20:36 +02:00
2026-07-24 03:46:46 +02:00
2026-05-01 01:20:36 +02:00
2026-08-13 02:29:01 +02:00
2026-05-19 20:12:19 +02:00
2026-07-24 03:56:40 +02:00
2026-07-24 03:46:50 +02:00
2026-07-13 00:03:52 +02:00
2026-05-01 01:20:36 +02:00
2026-07-13 00:03:52 +02:00
2026-06-18 00:53:48 +02:00
2026-07-24 07:48:42 +02:00
2026-06-13 20:51:14 +02:00
2026-07-30 02:46:10 +02:00
2026-05-21 00:42:19 +02:00
2026-07-29 01:35:35 +02:00
2026-08-10 15:32:43 +02:00
2026-07-29 06:47:54 +02:00
2026-06-13 13:23:22 +02:00
2026-06-18 00:53:48 +02:00
2026-07-26 06:09:48 +02:00
2026-08-17 13:46:51 +02:00
2026-08-08 09:09:48 +02:00