From ad6ed049016bc2d528d2f17e77823160e2d754d6 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Fri, 26 Jun 2026 08:48:30 +0200 Subject: [PATCH] style: abbreviate episode date on TV media detail close #1380 --- lib/screens/media_detail_screen.dart | 2 +- lib/utils/formatters.dart | 15 +++++++++++++++ 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/lib/screens/media_detail_screen.dart b/lib/screens/media_detail_screen.dart index cb5226e6..94ee8859 100644 --- a/lib/screens/media_detail_screen.dart +++ b/lib/screens/media_detail_screen.dart @@ -3687,7 +3687,7 @@ class _MediaDetailScreenState extends State if (lineMetadata.contentRating != null) addTextPart(formatContentRating(lineMetadata.contentRating!)); if (lineMetadata.durationMs != null) addTextPart(formatDurationTextual(lineMetadata.durationMs!)); if (lineMetadata.isEpisode && lineMetadata.originallyAvailableAt != null) { - addTextPart(formatFullDate(lineMetadata.originallyAvailableAt!)); + addTextPart(formatAbbreviatedDate(lineMetadata.originallyAvailableAt!)); } else if (lineMetadata.year != null) { addTextPart(lineMetadata.year.toString()); } diff --git a/lib/utils/formatters.dart b/lib/utils/formatters.dart index d3cca20e..6601b2d6 100644 --- a/lib/utils/formatters.dart +++ b/lib/utils/formatters.dart @@ -204,3 +204,18 @@ String formatFullDate(String dateString) { return dateString; } } + +/// Like [formatFullDate] but uses an abbreviated month name (`DateFormat.yMMMd`) +/// to keep the result compact for space-constrained, single-line layouts. +/// If there is any error, `dateString` is returned as is +String formatAbbreviatedDate(String dateString) { + try { + final date = DateTime.parse(dateString); + + final formatter = DateFormat.yMMMd(LocaleSettings.currentLocale.languageCode); + + return formatter.format(date); + } catch (e) { + return dateString; + } +}