refactor: asset grid
This commit is contained in:
@@ -2,6 +2,9 @@ import 'package:flutter/material.dart';
|
||||
import 'package:immich_mobile/domain/models/store.model.dart';
|
||||
import 'package:immich_mobile/presentation/modules/theme/models/app_theme.model.dart';
|
||||
|
||||
// AppSetting needs to store UI specific settings as well as domain specific settings
|
||||
// This model is the only exclusion which refers to entities from the presentation layer
|
||||
// as well as the domain layer
|
||||
enum AppSetting<T> {
|
||||
appTheme<AppTheme>(StoreKey.appTheme, AppTheme.blue),
|
||||
themeMode<ThemeMode>(StoreKey.themeMode, ThemeMode.system),
|
||||
|
||||
@@ -0,0 +1,21 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:immich_mobile/domain/models/render_list_element.model.dart';
|
||||
|
||||
class RenderList {
|
||||
final List<RenderListElement> elements;
|
||||
late final int totalCount;
|
||||
|
||||
RenderList({required this.elements}) {
|
||||
final lastAssetElement =
|
||||
elements.whereType<RenderListAssetElement>().lastOrNull;
|
||||
if (lastAssetElement == null) {
|
||||
totalCount = 0;
|
||||
} else {
|
||||
totalCount = lastAssetElement.assetCount + lastAssetElement.assetOffset;
|
||||
}
|
||||
}
|
||||
|
||||
factory RenderList.empty() {
|
||||
return RenderList(elements: []);
|
||||
}
|
||||
}
|
||||
@@ -28,6 +28,10 @@ class RenderListMonthHeaderElement extends RenderListElement {
|
||||
header = formatter.format(date);
|
||||
}
|
||||
|
||||
@override
|
||||
String toString() =>
|
||||
'RenderListMonthHeaderElement(header: $header, date: $date)';
|
||||
|
||||
@override
|
||||
bool operator ==(covariant RenderListMonthHeaderElement other) {
|
||||
if (identical(this, other)) return true;
|
||||
@@ -44,6 +48,10 @@ class RenderListDayHeaderElement extends RenderListElement {
|
||||
|
||||
const RenderListDayHeaderElement({required super.date, required this.header});
|
||||
|
||||
@override
|
||||
String toString() =>
|
||||
'RenderListDayHeaderElement(header: $header, date: $date)';
|
||||
|
||||
@override
|
||||
bool operator ==(covariant RenderListDayHeaderElement other) {
|
||||
if (identical(this, other)) return true;
|
||||
|
||||
Reference in New Issue
Block a user