|
@@ -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) : () {},
|