Selaa lähdekoodia

refactor: use sort order in add to album sheet list

shalong-tanwen 1 vuosi sitten
vanhempi
commit
1867020746
1 muutettua tiedostoa jossa 10 lisäystä ja 3 poistoa
  1. 10 3
      mobile/lib/modules/album/ui/add_to_album_sliverlist.dart

+ 10 - 3
mobile/lib/modules/album/ui/add_to_album_sliverlist.dart

@@ -1,6 +1,7 @@
 import 'package:easy_localization/easy_localization.dart';
 import 'package:flutter/material.dart';
 import 'package:hooks_riverpod/hooks_riverpod.dart';
+import 'package:immich_mobile/modules/album/providers/album_sort_options.provider.dart';
 import 'package:immich_mobile/modules/album/ui/album_thumbnail_listtile.dart';
 import 'package:immich_mobile/shared/models/album.dart';
 
@@ -21,19 +22,25 @@ class AddToAlbumSliverList extends HookConsumerWidget {
 
   @override
   Widget build(BuildContext context, WidgetRef ref) {
+    final albumSortMode = ref.watch(albumSortFunctionProvider);
+    final albumSortIsReverse = ref.watch(albumSortOrderProvider);
+    final sortedAlbums = albumSortMode.sortFn(albums, albumSortIsReverse);
+    final sortedSharedAlbums =
+        albumSortMode.sortFn(sharedAlbums, albumSortIsReverse);
+
     return SliverList(
       delegate: SliverChildBuilderDelegate(
           childCount: albums.length + (sharedAlbums.isEmpty ? 0 : 1),
           (context, index) {
         // Build shared expander
-        if (index == 0 && sharedAlbums.isNotEmpty) {
+        if (index == 0 && sortedSharedAlbums.isNotEmpty) {
           return Padding(
             padding: const EdgeInsets.only(bottom: 8),
             child: ExpansionTile(
               title: Text('common_shared'.tr()),
               tilePadding: const EdgeInsets.symmetric(horizontal: 10.0),
               leading: const Icon(Icons.group),
-              children: sharedAlbums
+              children: sortedSharedAlbums
                   .map(
                     (album) => AlbumThumbnailListTile(
                       album: album,
@@ -47,7 +54,7 @@ class AddToAlbumSliverList extends HookConsumerWidget {
 
         // Build albums list
         final offset = index - (sharedAlbums.isNotEmpty ? 1 : 0);
-        final album = albums[offset];
+        final album = sortedAlbums[offset];
         return AlbumThumbnailListTile(
           album: album,
           onTap: enabled ? () => onAddToAlbum(album) : () {},