diff --git a/mobile/lib/presentation/widgets/memory/memory_title.widget.dart b/mobile/lib/presentation/widgets/memory/memory_title.widget.dart index 8d6d1948b..4976545fd 100644 --- a/mobile/lib/presentation/widgets/memory/memory_title.widget.dart +++ b/mobile/lib/presentation/widgets/memory/memory_title.widget.dart @@ -1,6 +1,7 @@ import 'package:flutter/material.dart'; import 'package:immich_mobile/domain/models/asset/base_asset.model.dart'; import 'package:immich_mobile/domain/models/memory.model.dart'; +import 'package:immich_mobile/extensions/datetime_extensions.dart'; import 'package:immich_mobile/extensions/object_extensions.dart'; import 'package:immich_mobile/generated/translations.g.dart'; import 'package:intl/intl.dart'; @@ -10,7 +11,7 @@ String getMemoryTitle(Translations t, Memory memory, {RemoteAsset? asset, bool p switch (memory.type) { MemoryTypeEnum.onThisDay => preferDate - ? DateFormat.yMMMMd().format(memory.memoryAt) + ? DateFormat.yMMMMd(resolvedDateTimeLocale()).format(memory.memoryAt) : t.years_ago(years: DateTime.now().year - memory.data.year), MemoryTypeEnum.birthday => _getBirthdayTitle(t, memory.data, asset), }; diff --git a/mobile/test/unit/presentation/memory_list_page_test.dart b/mobile/test/unit/presentation/memory_list_page_test.dart index 235a38650..ddc154b12 100644 --- a/mobile/test/unit/presentation/memory_list_page_test.dart +++ b/mobile/test/unit/presentation/memory_list_page_test.dart @@ -2,6 +2,7 @@ import 'package:flutter_test/flutter_test.dart'; import 'package:immich_mobile/domain/models/memory.model.dart'; import 'package:immich_mobile/presentation/pages/memory_list.page.dart'; import 'package:immich_mobile/providers/infrastructure/memory.provider.dart'; +import 'package:intl/intl.dart'; import '../factories/remote_asset_factory.dart'; import 'presentation_context.dart'; @@ -44,6 +45,15 @@ void main() { expect(find.textContaining('ago'), findsNothing); }); + testWidgets('shows the date when intl has no date formats for the app language', (tester) async { + Intl.defaultLocale = 'kab'; + addTearDown(() => Intl.defaultLocale = null); + await pumpPage(tester, [newMemory(type: MemoryTypeEnum.onThisDay, memoryAt: DateTime(2025, 10, 7))]); + await tester.pump(); + + expect(find.text('October 7, 2025'), findsOneWidget); + }); + testWidgets('shows the person name for a birthday memory', (tester) async { await pumpPage(tester, [ newMemory(type: MemoryTypeEnum.birthday, memoryAt: DateTime(2025, 10, 7), personName: 'Alice'),