From 10181defb1b082d249f8d5a698bc7c9093cec2b5 Mon Sep 17 00:00:00 2001 From: Arno <46051866+arnolicious@users.noreply.github.com> Date: Thu, 29 May 2025 12:30:25 +0200 Subject: [PATCH] chore: Refactor Edit Album Modal (#18653) --- .../components/album-page/albums-list.svelte | 24 ++++++------------- .../components/forms/edit-album-form.svelte | 10 ++++---- 2 files changed, 11 insertions(+), 23 deletions(-) diff --git a/web/src/lib/components/album-page/albums-list.svelte b/web/src/lib/components/album-page/albums-list.svelte index da036dd039..32cccbc850 100644 --- a/web/src/lib/components/album-page/albums-list.svelte +++ b/web/src/lib/components/album-page/albums-list.svelte @@ -143,7 +143,6 @@ let albumGroupOption: string = $state(AlbumGroupBy.None); - let albumToEdit: AlbumResponseDto | null = $state(null); let albumToShare: AlbumResponseDto | null = $state(null); let albumToDelete: AlbumResponseDto | null = null; @@ -257,9 +256,14 @@ await deleteSelectedAlbum(); }; - const handleEdit = (album: AlbumResponseDto) => { - albumToEdit = album; + const handleEdit = async (album: AlbumResponseDto) => { closeAlbumContextMenu(); + const editedAlbum = await modalManager.show(EditAlbumForm, { + album, + }); + if (editedAlbum) { + successEditAlbumInfo(editedAlbum); + } }; const deleteSelectedAlbum = async () => { @@ -305,8 +309,6 @@ }; const successEditAlbumInfo = (album: AlbumResponseDto) => { - albumToEdit = null; - notificationController.show({ message: $t('album_info_updated'), type: NotificationType.Info, @@ -422,15 +424,3 @@ setAlbumToDelete()} /> {/if} - -{#if allowEdit} - - {#if albumToEdit} - (albumToEdit = null)} - onClose={() => (albumToEdit = null)} - /> - {/if} -{/if} diff --git a/web/src/lib/components/forms/edit-album-form.svelte b/web/src/lib/components/forms/edit-album-form.svelte index 32e1e422e7..c6ad3d600a 100644 --- a/web/src/lib/components/forms/edit-album-form.svelte +++ b/web/src/lib/components/forms/edit-album-form.svelte @@ -8,12 +8,10 @@ interface Props { album: AlbumResponseDto; - onEditSuccess?: ((album: AlbumResponseDto) => unknown) | undefined; - onCancel?: (() => unknown) | undefined; - onClose: () => void; + onClose: (album?: AlbumResponseDto) => void; } - let { album = $bindable(), onEditSuccess = undefined, onCancel = undefined, onClose }: Props = $props(); + let { album = $bindable(), onClose }: Props = $props(); let albumName = $state(album.albumName); let description = $state(album.description); @@ -32,7 +30,7 @@ }); album.albumName = albumName; album.description = description; - onEditSuccess?.(album); + onClose(album); } catch (error) { handleError(error, $t('errors.unable_to_update_album_info')); } finally { @@ -71,7 +69,7 @@
- +