mirror of
				https://github.com/KevinMidboe/immich.git
				synced 2025-10-29 17:40:28 +00:00 
			
		
		
		
	fix(mobile) add and delete asset in album doesn' (#1474)
t update count in list
This commit is contained in:
		@@ -6,10 +6,10 @@ import 'package:immich_mobile/shared/models/asset.dart';
 | 
			
		||||
import 'package:openapi/api.dart';
 | 
			
		||||
 | 
			
		||||
class SharedAlbumNotifier extends StateNotifier<List<AlbumResponseDto>> {
 | 
			
		||||
  SharedAlbumNotifier(this._sharedAlbumService, this._sharedAlbumCacheService)
 | 
			
		||||
  SharedAlbumNotifier(this._albumService, this._sharedAlbumCacheService)
 | 
			
		||||
      : super([]);
 | 
			
		||||
 | 
			
		||||
  final AlbumService _sharedAlbumService;
 | 
			
		||||
  final AlbumService _albumService;
 | 
			
		||||
  final SharedAlbumCacheService _sharedAlbumCacheService;
 | 
			
		||||
 | 
			
		||||
  _cacheState() {
 | 
			
		||||
@@ -22,7 +22,7 @@ class SharedAlbumNotifier extends StateNotifier<List<AlbumResponseDto>> {
 | 
			
		||||
    List<String> sharedUserIds,
 | 
			
		||||
  ) async {
 | 
			
		||||
    try {
 | 
			
		||||
      var newAlbum = await _sharedAlbumService.createAlbum(
 | 
			
		||||
      var newAlbum = await _albumService.createAlbum(
 | 
			
		||||
        albumName,
 | 
			
		||||
        assets,
 | 
			
		||||
        sharedUserIds,
 | 
			
		||||
@@ -47,7 +47,7 @@ class SharedAlbumNotifier extends StateNotifier<List<AlbumResponseDto>> {
 | 
			
		||||
    }
 | 
			
		||||
 | 
			
		||||
    List<AlbumResponseDto>? sharedAlbums =
 | 
			
		||||
        await _sharedAlbumService.getAlbums(isShared: true);
 | 
			
		||||
        await _albumService.getAlbums(isShared: true);
 | 
			
		||||
 | 
			
		||||
    if (sharedAlbums != null) {
 | 
			
		||||
      state = sharedAlbums;
 | 
			
		||||
@@ -61,7 +61,7 @@ class SharedAlbumNotifier extends StateNotifier<List<AlbumResponseDto>> {
 | 
			
		||||
  }
 | 
			
		||||
 | 
			
		||||
  Future<bool> leaveAlbum(String albumId) async {
 | 
			
		||||
    var res = await _sharedAlbumService.leaveAlbum(albumId);
 | 
			
		||||
    var res = await _albumService.leaveAlbum(albumId);
 | 
			
		||||
 | 
			
		||||
    if (res) {
 | 
			
		||||
      state = state.where((album) => album.id != albumId).toList();
 | 
			
		||||
@@ -76,7 +76,7 @@ class SharedAlbumNotifier extends StateNotifier<List<AlbumResponseDto>> {
 | 
			
		||||
    String albumId,
 | 
			
		||||
    List<String> assetIds,
 | 
			
		||||
  ) async {
 | 
			
		||||
    var res = await _sharedAlbumService.removeAssetFromAlbum(albumId, assetIds);
 | 
			
		||||
    var res = await _albumService.removeAssetFromAlbum(albumId, assetIds);
 | 
			
		||||
 | 
			
		||||
    if (res) {
 | 
			
		||||
      return true;
 | 
			
		||||
 
 | 
			
		||||
@@ -96,6 +96,7 @@ class AlbumViewerAppbar extends HookConsumerWidget with PreferredSizeWidget {
 | 
			
		||||
      if (isSuccess) {
 | 
			
		||||
        Navigator.pop(context);
 | 
			
		||||
        ref.watch(assetSelectionProvider.notifier).disableMultiselection();
 | 
			
		||||
        ref.watch(albumProvider.notifier).getAllAlbums();
 | 
			
		||||
        ref.invalidate(sharedAlbumDetailProvider(albumId));
 | 
			
		||||
      } else {
 | 
			
		||||
        Navigator.pop(context);
 | 
			
		||||
 
 | 
			
		||||
@@ -3,6 +3,7 @@ import 'package:easy_localization/easy_localization.dart';
 | 
			
		||||
import 'package:flutter/material.dart';
 | 
			
		||||
import 'package:flutter_hooks/flutter_hooks.dart';
 | 
			
		||||
import 'package:hooks_riverpod/hooks_riverpod.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/album/providers/album.provider.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/home/ui/draggable_scrollbar.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/login/providers/authentication.provider.dart';
 | 
			
		||||
import 'package:immich_mobile/modules/album/models/asset_selection_page_result.model.dart';
 | 
			
		||||
@@ -62,6 +63,7 @@ class AlbumViewerPage extends HookConsumerWidget {
 | 
			
		||||
 | 
			
		||||
          if (addAssetsResult != null &&
 | 
			
		||||
              addAssetsResult.successfullyAdded > 0) {
 | 
			
		||||
            ref.watch(albumProvider.notifier).getAllAlbums();
 | 
			
		||||
            ref.invalidate(sharedAlbumDetailProvider(albumId));
 | 
			
		||||
          }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user