feat(mobile): unify asset grid multiselect actions (#5407)

* feat(mobile): unify asset grid multiselect actions

* add favorite & archive page

* show edit date&place on main photos screen

* Reposition exit button

* Sort favorite with the same order as other view

---------

Co-authored-by: Alex Tran <alex.tran1502@gmail.com>
This commit is contained in:
Fynn Petersen-Frey 2023-12-07 16:38:22 +01:00 committed by GitHub
parent b9a9a3956c
commit c25556bb08
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
26 changed files with 768 additions and 968 deletions

View file

@ -1,5 +1,4 @@
import 'package:flutter/cupertino.dart';
import 'package:immich_mobile/modules/home/ui/asset_grid/asset_grid_data_structure.dart';
import 'package:flutter/foundation.dart';
import 'package:immich_mobile/shared/models/asset.dart';
import 'package:immich_mobile/shared/models/store.dart';
import 'package:immich_mobile/shared/models/user.dart';
@ -43,11 +42,6 @@ class Album {
final IsarLinks<User> sharedUsers = IsarLinks<User>();
final IsarLinks<Asset> assets = IsarLinks<Asset>();
RenderList _renderList = RenderList.empty();
@ignore
RenderList get renderList => _renderList;
@ignore
bool get isRemote => remoteId != null;
@ -75,17 +69,6 @@ class Album {
return name.join(' ');
}
Stream<void> watchRenderList(GroupAssetsBy groupAssetsBy) async* {
final query =
assets.filter().isTrashedEqualTo(false).sortByFileCreatedAtDesc();
_renderList = await RenderList.fromQuery(query, groupAssetsBy);
yield _renderList;
await for (final _ in query.watchLazy()) {
_renderList = await RenderList.fromQuery(query, groupAssetsBy);
yield _renderList;
}
}
@override
bool operator ==(other) {
if (other is! Album) return false;