From c64767034deed6a6ad91de44e3f8159aab201114 Mon Sep 17 00:00:00 2001 From: Yaros Date: Wed, 13 May 2026 18:53:46 +0200 Subject: [PATCH] fix: parse dateOption --- .../repositories/metadata.repository.dart | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/mobile/lib/infrastructure/repositories/metadata.repository.dart b/mobile/lib/infrastructure/repositories/metadata.repository.dart index d8c8f55898..3566c55da2 100644 --- a/mobile/lib/infrastructure/repositories/metadata.repository.dart +++ b/mobile/lib/infrastructure/repositories/metadata.repository.dart @@ -4,6 +4,7 @@ import 'package:immich_mobile/domain/models/config/system_config.dart'; import 'package:immich_mobile/domain/models/metadata_key.dart'; import 'package:immich_mobile/infrastructure/entities/metadata.entity.drift.dart'; import 'package:immich_mobile/infrastructure/repositories/db.repository.dart'; +import 'package:immich_mobile/utils/option.dart'; class MetadataRepository extends DriftDatabaseRepository { final Drift _db; @@ -97,6 +98,17 @@ class MetadataRepository extends DriftDatabaseRepository { } } +Option _parseDateOption(String s) { + if (s.trim().isEmpty) { + return const Option.none(); + } + try { + return Option.some(DateTime.parse(s)); + } catch (_) { + return const Option.none(); + } +} + extension on MetadataDomain { T config(MetadataRepository repo) => switch (this) { .appConfig => repo._appConfig as T, @@ -126,6 +138,8 @@ extension on MetadataDomain { includeArchived: repo._read(.mapIncludeArchived), themeMode: repo._read(.mapThemeMode), withPartners: repo._read(.mapWithPartners), + customFrom: _parseDateOption(repo._read(.mapCustomFrom)), + customTo: _parseDateOption(repo._read(.mapCustomTo)), ), timeline: .new( tilesPerRow: repo._read(.timelineTilesPerRow),