refactor(mobile): render list (#16303)

* refactor(mobile): render list 2

* wip

* wip: asset selection page

* remove render_list provider

* remove dead code

* yaml format

* remove unused file

* woop woop more clean up

* woop woop more clean up 2

* fix: album selection doesn't load instantly
This commit is contained in:
Alex
2025-02-25 11:33:48 -06:00
committed by GitHub
parent 7c851893b4
commit d0381fddec
26 changed files with 134 additions and 140 deletions

View File

@@ -6,11 +6,10 @@ import 'package:hooks_riverpod/hooks_riverpod.dart';
import 'package:immich_mobile/extensions/asyncvalue_extensions.dart';
import 'package:immich_mobile/extensions/build_context_extensions.dart';
import 'package:immich_mobile/models/albums/asset_selection_page_result.model.dart';
import 'package:immich_mobile/providers/asset_viewer/render_list.provider.dart';
import 'package:immich_mobile/providers/timeline.provider.dart';
import 'package:immich_mobile/widgets/asset_grid/asset_grid_data_structure.dart';
import 'package:immich_mobile/widgets/asset_grid/immich_asset_grid.dart';
import 'package:immich_mobile/entities/asset.entity.dart';
import 'package:isar/isar.dart';
@RoutePage()
class AlbumAssetSelectionPage extends HookConsumerWidget {
@@ -18,16 +17,14 @@ class AlbumAssetSelectionPage extends HookConsumerWidget {
super.key,
required this.existingAssets,
this.canDeselect = false,
required this.query,
});
final Set<Asset> existingAssets;
final QueryBuilder<Asset, Asset, QAfterSortBy>? query;
final bool canDeselect;
@override
Widget build(BuildContext context, WidgetRef ref) {
final renderList = ref.watch(renderListQueryProvider(query));
final assetSelectionRenderList = ref.watch(assetSelectionTimelineProvider);
final selected = useState<Set<Asset>>(existingAssets);
final selectionEnabledHook = useState(true);
@@ -83,7 +80,7 @@ class AlbumAssetSelectionPage extends HookConsumerWidget {
),
],
),
body: renderList.widgetWhen(
body: assetSelectionRenderList.widgetWhen(
onData: (data) => buildBody(data),
),
);