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,
+ })
}
}
}