diff --git a/frontend/src/features/admin/shows/ShowDetail.tsx b/frontend/src/features/admin/shows/ShowDetail.tsx
index 7d03dce..3523eda 100644
--- a/frontend/src/features/admin/shows/ShowDetail.tsx
+++ b/frontend/src/features/admin/shows/ShowDetail.tsx
@@ -188,10 +188,21 @@ export function ShowDetail({ showId }: { showId: string }) {
- {show.episodes.map((episode, index) => (
+ {show.episodes.map((episode, index) => {
+ const se = parseEpisode(episode.assetName ?? '')
+ return (
| {index + 1} |
- {episode.assetName ?? '—'} |
+
+
+ {se && (
+
+ S{pad2(se.season)}E{pad2(se.episode)}
+
+ )}
+ {episode.assetName ?? '—'}
+
+ |
{formatDuration(episode.durationSeconds)}
|
@@ -212,7 +223,8 @@ export function ShowDetail({ showId }: { showId: string }) {
- ))}
+ )
+ })}
{show.episodes.length === 0 && (
|
diff --git a/frontend/src/features/streaming/AirPage.tsx b/frontend/src/features/streaming/AirPage.tsx
index c5101f2..73149ea 100644
--- a/frontend/src/features/streaming/AirPage.tsx
+++ b/frontend/src/features/streaming/AirPage.tsx
@@ -167,7 +167,7 @@ function splitEpg(entries: ScheduleEntryDto[]) {
}
function programLabel(entry: ScheduleEntryDto, t: (key: string) => string) {
+ // На странице эфира — только название шоу (сезон/серия видны в админке).
if (entry.kind === 'Ad') return t('air.ad')
- const name = entry.showName ?? '—'
- return entry.episodeIndex != null ? `${name} · ${t('air.episode')} ${entry.episodeIndex + 1}` : name
+ return entry.showName ?? '—'
}
|