From 91114e5aa02abb693a3862b6432f352c2d757eab Mon Sep 17 00:00:00 2001 From: Alex Date: Sat, 28 Jan 2023 21:57:13 -0600 Subject: [PATCH] fix(mobile) add and delete asset in album doesn' (#1474) t update count in list --- .../providers/shared_album.provider.dart | 12 ++++++------ .../modules/album/ui/album_viewer_appbar.dart | 1 + .../album/views/album_viewer_page.dart | 2 ++ .../openapi/lib/model/album_response_dto.dart | Bin 5660 -> 5815 bytes .../openapi/lib/model/asset_response_dto.dart | Bin 9283 -> 9483 bytes 5 files changed, 9 insertions(+), 6 deletions(-) diff --git a/mobile/lib/modules/album/providers/shared_album.provider.dart b/mobile/lib/modules/album/providers/shared_album.provider.dart index e428136c7..eefc09163 100644 --- a/mobile/lib/modules/album/providers/shared_album.provider.dart +++ b/mobile/lib/modules/album/providers/shared_album.provider.dart @@ -6,10 +6,10 @@ import 'package:immich_mobile/shared/models/asset.dart'; import 'package:openapi/api.dart'; class SharedAlbumNotifier extends StateNotifier> { - 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 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? sharedAlbums = - await _sharedAlbumService.getAlbums(isShared: true); + await _albumService.getAlbums(isShared: true); if (sharedAlbums != null) { state = sharedAlbums; @@ -61,7 +61,7 @@ class SharedAlbumNotifier extends StateNotifier> { } Future 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> { String albumId, List assetIds, ) async { - var res = await _sharedAlbumService.removeAssetFromAlbum(albumId, assetIds); + var res = await _albumService.removeAssetFromAlbum(albumId, assetIds); if (res) { return true; diff --git a/mobile/lib/modules/album/ui/album_viewer_appbar.dart b/mobile/lib/modules/album/ui/album_viewer_appbar.dart index 5c41b08b6..00a66a18e 100644 --- a/mobile/lib/modules/album/ui/album_viewer_appbar.dart +++ b/mobile/lib/modules/album/ui/album_viewer_appbar.dart @@ -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); diff --git a/mobile/lib/modules/album/views/album_viewer_page.dart b/mobile/lib/modules/album/views/album_viewer_page.dart index 78b989636..03b6581f5 100644 --- a/mobile/lib/modules/album/views/album_viewer_page.dart +++ b/mobile/lib/modules/album/views/album_viewer_page.dart @@ -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)); } diff --git a/mobile/openapi/lib/model/album_response_dto.dart b/mobile/openapi/lib/model/album_response_dto.dart index 282344a16f8a5392707b31ad3a3a5ae87b126d38..7858e857d672395f4c8ffbdd36ba701d68d91f8c 100644 GIT binary patch delta 462 zcmbQEvt4(?bY?X!1u)1=NzE(COis+vD9Oky)=|hW$w)2IRH&(e$WPwLtUUQVvyKc{ zF<4SBGeyDHRsl$=K@FMA%c3?}k40;8Fc4R;I8ENlqB8jki{9kFEH0DnSv4o8vC2(u zVil8AP|(OP&r2=xOwr3oEY5JwPf68O&<5Hxc`d8_^B`PoG$|7A6sY{(`x z*^^CvavGZj8^kr6=do!pPCmh|J^3rU^kg9p)yb9|nv+vF?oM{*RGyr{sk?bPr#2Il zzW(Hc+`=I0GPfFt`oWzEq7ryAHTCs@KB?8ThI${&ElMpZEy`0UDJo4xh;M$$Q^d#v zRR;F`{Ti!lRPo6qw%GZUe# pT$q84d=ypcl_lnsrs^PsCr=O&;e>N1`wJCs78hk<1OTG0c`X0{ delta 389 zcma)!t53sV0K`-JNV}|r1(xv`*$1So&DzZ&wh-O|O^_sX^n*f5n|$q9mTd+M{saaj zYGzP@!oWX)n?m3~;3n%iY~smuCNh#}z+`dwvejd=VKT2TPd2mY|_4Xi^Zl zl$EioWbq)(;zcMx6%EwHC3M6huEjha#j&g&G=0i8ow93(?pokbgOpNu6${8nQ=I;_ zUzZlpk;W(V(6t$LwnNIozx^Aj8ox<8hn#F-Ri4Iw zSx35VkamiE3ioqxQ`c&uG+OK8aX^{=j%eWgKo*5)XzeoaVHA`}lB= z9EE{zl6E}^JaWK-rd{_aStR?m7g94`9y#OxS$!W>IYRx2waO>9*P!O_UG>)`huJ2_ Gr9J=w;CtQx diff --git a/mobile/openapi/lib/model/asset_response_dto.dart b/mobile/openapi/lib/model/asset_response_dto.dart index 2f516e2bdac32185cdf7b47499cad242d848aaec..08c7e6cc39317db579e202532064e5776e237d61 100644 GIT binary patch delta 590 zcmaJ<&ubGw7$r%O{b`d@O{%8(VsX3MhNMae#agXeP)nhw{sG(W&>cy4VRqM2O!44B zuwLYy)SKQEMA(C<7eVms(UbIA1jUPZ(`g#5w9tV!@0;(v`R3<`>zi}0a*Cxr`Y(SOh8p@ zm{7;CD7ho?OttY*Vq3z{CUHr#v80XRo{ZmWGx()BsOY6ZBAa`4-;MmMp~oB=mz%&f zePl=q;ab4NjRWc(eHc%4!W(@O-}N#yV;Gji6{C4V&hirB#ykx67kyx~@ZOk3)@-6_ zw&0tycy6|i?4CN^GQVZ;slS3B{U>oWe-@YXXW-{Y@i6}ya|H)UVH{5jFVcm9ui5m% zvC(X?(I7X9n22rLq1(ONZ8Q)Ut*oR+MZQCs5_hDNXv3NM=aECf;zR@#i-hgv)BC00 zeM4QFw;s5we3@=WVNmOp$4vEjPO9n4^4;9wwmxawK($haS}kI;`uSpS@ttRtA3&_v fZ@KM+)&5Jbh;YqaYP0k7H`-HCrzrh-dOq_9Nt>kq delta 477 zcma)3O-mb56lJ2|WIngFd z;_7S!7u~oOgn@#a2I{J`zoOu(C4bN4sTH%=$i8Nz%T#jN9n zP8_gqo$xrI!X?8YT(yGNY6&0I0uIzgjMaHuNY6~y&`MXq(l#J@Eb%K{!6U7LrbI_; z;7IbhX5&(7TW_MRS94B0cu$uCuN%DJK6Ob=!zaCnGkq@a@P0(aOaK1%S}!AOl=0M9 z1v5%h&Nlbi76Ui(I5wW(tFipp@q5CH8ISHqGv+GR&F2`I%lKlh;J4JzGAoJ5Tq$^C z&12V^#i7-}H>-*(%SAqWh9B7){$v+Hawp06++`~HoOe_BS;*mU!Ny!Mz^E7yLU!Gz zCh2Abje8;@vFOoTGbv5~o3#Bw