style: abbreviate episode date on TV media detail

close #1380
This commit is contained in:
edde746
2026-06-26 08:48:30 +02:00
parent 25e5ea042f
commit ad6ed04901
2 changed files with 16 additions and 1 deletions
+1 -1
View File
@@ -3687,7 +3687,7 @@ class _MediaDetailScreenState extends State<MediaDetailScreen>
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());
}
+15
View File
@@ -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;
}
}