summaryrefslogtreecommitdiff
path: root/player-android/lib/app_routes.dart
diff options
context:
space:
mode:
Diffstat (limited to 'player-android/lib/app_routes.dart')
-rw-r--r--player-android/lib/app_routes.dart17
1 files changed, 17 insertions, 0 deletions
diff --git a/player-android/lib/app_routes.dart b/player-android/lib/app_routes.dart
index 533c9b8..c9207f8 100644
--- a/player-android/lib/app_routes.dart
+++ b/player-android/lib/app_routes.dart
@@ -77,4 +77,21 @@ abstract final class AppRoutes {
/// Returns the concrete path for the notes editor of a given [mediaId].
static String notesPath(String mediaId) => '/notes/$mediaId';
+
+ /// Route that lists episodes for a single podcast set.
+ ///
+ /// The ':setId' path segment is the numeric podcast set identifier.
+ /// Opens [PodcastEpisodesScreen] where the user can see episode titles,
+ /// played state, and playback progress.
+ static const podcastEpisodes = '/podcasts/:setId/episodes';
+
+ /// Returns the concrete path for the podcast-episodes screen of [setId].
+ ///
+ /// [setName] is optionally passed as a URL query parameter so the app bar
+ /// can show it without an extra API call.
+ static String podcastEpisodesPath(int setId, {String? setName}) {
+ final base = '/podcasts/$setId/episodes';
+ if (setName == null || setName.isEmpty) return base;
+ return '$base?name=${Uri.encodeComponent(setName)}';
+ }
}