mirror of
https://github.com/immich-app/immich.git
synced 2025-08-11 09:16:31 -04:00
* feat: show stacks in asset viewer * fix: global key issue and flash on stack asset change * feat(mobile): stack and unstack action (#19941) * feat(mobile): stack and unstack action * add custom model * use stackId from ActionSource * Update mobile/lib/providers/infrastructure/action.provider.dart Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> --------- Co-authored-by: shenlong <139912620+shenlong-tanwen@users.noreply.github.com> * fix: lint * fix: bad merge * fix: test --------- Co-authored-by: shenlong-tanwen <139912620+shalong-tanwen@users.noreply.github.com> Co-authored-by: Alex <alex.tran1502@gmail.com> Co-authored-by: Daimolean <92239625+wuzihao051119@users.noreply.github.com> Co-authored-by: wuzihao051119 <wuzihao051119@outlook.com>
47 lines
807 B
Dart
47 lines
807 B
Dart
import 'package:immich_mobile/domain/utils/event_stream.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;
|
|
}
|
|
|
|
class TimelineReloadEvent extends Event {
|
|
const TimelineReloadEvent();
|
|
}
|