From 045ec726eb71abcf3e8312fd57c95386e792786b Mon Sep 17 00:00:00 2001 From: Anton Tranelis <31516529+antontranelis@users.noreply.github.com> Date: Thu, 3 Jul 2025 13:18:10 +0200 Subject: [PATCH] fix(lib): auto close update position toast (#277) * add close button to custom info modal * auto close update position toat * Revert "add close button to custom info modal" This reverts commit cf5b9a407effe0772ed622ce2369cf16e0b82175. * fix: reset position for new items without text --- .../Map/Subcomponents/SelectPosition.tsx | 2 +- .../Map/hooks/useSelectPosition.tsx | 57 ++++++++++++++++--- 2 files changed, 49 insertions(+), 10 deletions(-) diff --git a/lib/src/Components/Map/Subcomponents/SelectPosition.tsx b/lib/src/Components/Map/Subcomponents/SelectPosition.tsx index 6f4eccbe..ceae1c72 100644 --- a/lib/src/Components/Map/Subcomponents/SelectPosition.tsx +++ b/lib/src/Components/Map/Subcomponents/SelectPosition.tsx @@ -20,7 +20,7 @@ export const SelectPosition = ({
- {selectNewItemPosition && 'text' in selectNewItemPosition && ( + {selectNewItemPosition && 'layer' in selectNewItemPosition && ( Select new position of {selectNewItemPosition.name} on the map! diff --git a/lib/src/Components/Map/hooks/useSelectPosition.tsx b/lib/src/Components/Map/hooks/useSelectPosition.tsx index 0b7a56ab..6868fb09 100644 --- a/lib/src/Components/Map/hooks/useSelectPosition.tsx +++ b/lib/src/Components/Map/hooks/useSelectPosition.tsx @@ -69,7 +69,7 @@ function useSelectPositionManager(): { }) setSelectPosition(null) } - if ('text' in selectPosition) { + if ('layer' in selectPosition) { // if selectPosition is an Item const position = mapClicked?.position.lng && @@ -101,9 +101,9 @@ function useSelectPositionManager(): { success = true } catch (error: unknown) { if (error instanceof Error) { - toast.update(toastId, { render: error.message, type: 'error' }) + toast.update(toastId, { render: error.message, type: 'error', autoClose: 5000 }) } else if (typeof error === 'string') { - toast.update(toastId, { render: error, type: 'error' }) + toast.update(toastId, { render: error, type: 'error', autoClose: 5000 }) } else { throw error } @@ -115,6 +115,7 @@ function useSelectPositionManager(): { render: 'Item position updated', type: 'success', isLoading: false, + autoClose: 5000, }) setSelectPosition(null) setMarkerClicked(null) @@ -125,6 +126,8 @@ function useSelectPositionManager(): { render: "you don't have permission to add items to " + markerClicked?.name, type: 'error', isLoading: false, + autoClose: 5000, + closeButton: true, }) } } @@ -140,16 +143,34 @@ function useSelectPositionManager(): { success = true } catch (error: unknown) { if (error instanceof Error) { - toast.update(toastId, { render: error.message, type: 'error', isLoading: false }) + toast.update(toastId, { + render: error.message, + type: 'error', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } else if (typeof error === 'string') { - toast.update(toastId, { render: error, type: 'error', isLoading: false }) + toast.update(toastId, { + render: error, + type: 'error', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } else { throw error } } if (success) { updateItem(updatedItem) - toast.update(toastId, { render: 'Item position updated', type: 'success', isLoading: false }) + toast.update(toastId, { + render: 'Item position updated', + type: 'success', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } } @@ -168,16 +189,34 @@ function useSelectPositionManager(): { success = true } catch (error: unknown) { if (error instanceof Error) { - toast.update(toastId, { render: error.message, type: 'error', isLoading: false }) + toast.update(toastId, { + render: error.message, + type: 'error', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } else if (typeof error === 'string') { - toast.update(toastId, { render: error, type: 'error', isLoading: false }) + toast.update(toastId, { + render: error, + type: 'error', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } else { throw error } } if (success) { updateItem({ ...markerClicked, relations: newRelations }) - toast.update(toastId, { render: 'Item linked', type: 'success', isLoading: false }) + toast.update(toastId, { + render: 'Item linked', + type: 'success', + isLoading: false, + autoClose: 5000, + closeButton: true, + }) } } }