mirror of
https://github.com/immich-app/immich.git
synced 2025-06-23 15:30:51 -04:00
* wip: timeline * more segment extensions * added scrubber * refactor: timeline state * more refactors * fix scrubber segments * added remote thumb & thumbhash provider * feat: merged view * scrub / merged asset fixes * rename stuff & add tile indicators * fix local album timeline query * ignore hidden assets during sync * ignore recovered assets during sync * old scrubber * add video indicator * handle groupBy * handle partner inTimeline * show duration * reduce widget nesting in thumb tile * merge main * chore: extend cacheExtent * ignore touch events on scrub label when not visible * scrub label ignore events and hide immediately * auto reload on sync * refactor image providers * throttle db updates --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
41 lines
667 B
Dart
41 lines
667 B
Dart
enum GroupAssetsBy {
|
|
day,
|
|
month,
|
|
none;
|
|
}
|
|
|
|
enum HeaderType {
|
|
none,
|
|
month,
|
|
day,
|
|
monthAndDay;
|
|
}
|
|
|
|
class Bucket {
|
|
final int assetCount;
|
|
|
|
const Bucket({required this.assetCount});
|
|
|
|
@override
|
|
bool operator ==(covariant Bucket other) {
|
|
return assetCount == other.assetCount;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => assetCount.hashCode;
|
|
}
|
|
|
|
class TimeBucket extends Bucket {
|
|
final DateTime date;
|
|
|
|
const TimeBucket({required this.date, required super.assetCount});
|
|
|
|
@override
|
|
bool operator ==(covariant TimeBucket other) {
|
|
return super == other && date == other.date;
|
|
}
|
|
|
|
@override
|
|
int get hashCode => super.hashCode ^ date.hashCode;
|
|
}
|