0
Fork 0
mirror of https://github.com/immich-app/immich.git synced 2025-02-11 01:18:24 -05:00

fix(mobile): Fix error parsing datetime prevent the timeline to be displayed (#784)

This commit is contained in:
Alex 2022-10-04 15:19:29 -05:00 committed by GitHub
parent 4342285507
commit 479f706f8a
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -1,5 +1,6 @@
import 'dart:math'; import 'dart:math';
import 'package:flutter/material.dart';
import 'package:hooks_riverpod/hooks_riverpod.dart'; import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart'; import 'package:immich_mobile/modules/settings/providers/app_settings.provider.dart';
import 'package:immich_mobile/modules/settings/services/app_settings.service.dart'; import 'package:immich_mobile/modules/settings/services/app_settings.service.dart';
@ -44,43 +45,50 @@ final renderListProvider = StateProvider((ref) {
DateTime? lastDate; DateTime? lastDate;
assetGroups.forEach((groupName, assets) { assetGroups.forEach((groupName, assets) {
final date = DateTime.parse(groupName); try {
final date = DateTime.parse(groupName);
if (lastDate == null || lastDate!.month != date.month) { if (lastDate == null || lastDate!.month != date.month) {
elements.add(
RenderAssetGridElement(
RenderAssetGridElementType.monthTitle,
title: groupName,
date: date,
),
);
}
// Add group title
elements.add( elements.add(
RenderAssetGridElement(RenderAssetGridElementType.monthTitle, RenderAssetGridElement(
title: groupName, date: date), RenderAssetGridElementType.dayTitle,
); title: groupName,
} date: date,
relatedAssetList: assets,
// Add group title
elements.add(
RenderAssetGridElement(
RenderAssetGridElementType.dayTitle,
title: groupName,
date: date,
relatedAssetList: assets,
),
);
// Add rows
int cursor = 0;
while (cursor < assets.length) {
int rowElements = min(assets.length - cursor, assetsPerRow);
final rowElement = RenderAssetGridElement(
RenderAssetGridElementType.assetRow,
date: date,
assetRow: RenderAssetGridRow(
assets.sublist(cursor, cursor + rowElements),
), ),
); );
elements.add(rowElement); // Add rows
cursor += rowElements; int cursor = 0;
} while (cursor < assets.length) {
int rowElements = min(assets.length - cursor, assetsPerRow);
lastDate = date; final rowElement = RenderAssetGridElement(
RenderAssetGridElementType.assetRow,
date: date,
assetRow: RenderAssetGridRow(
assets.sublist(cursor, cursor + rowElements),
),
);
elements.add(rowElement);
cursor += rowElements;
}
lastDate = date;
} catch (e) {
debugPrint(e.toString());
}
}); });
return elements; return elements;