feat(release): improve typing of itemsApi (WIP) (#148)

* Improve typing of itemsApi

* Show error if name of new item cannot be determined

---------

Co-authored-by: Ulf Gebhardt <ulf.gebhardt@webcraft-media.de>
Co-authored-by: Anton Tranelis <31516529+antontranelis@users.noreply.github.com>
This commit is contained in:
Max 2025-02-25 09:39:09 +01:00 committed by GitHub
parent 18030b8bc0
commit 1de44c3e1c
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 9 additions and 4 deletions

View File

@ -53,6 +53,13 @@ export function ItemFormPopup(props: ItemFormPopupProps) {
})
formItem.position = { type: 'Point', coordinates: [props.position.lng, props.position.lat] }
evt.preventDefault()
const name = formItem.name ? formItem.name : user?.first_name
if (!name) {
toast.error('Name is must be defined')
return
}
setSpinner(true)
formItem.text &&
@ -98,8 +105,8 @@ export function ItemFormPopup(props: ItemFormPopupProps) {
;(!props.layer.userProfileLayer || !item) &&
(await props.layer.api?.createItem!({
...formItem,
name,
id: uuid,
name: formItem.name ? formItem.name : user?.first_name,
}))
success = true
// eslint-disable-next-line no-catch-all/no-catch-all

View File

@ -82,7 +82,6 @@ function useItemsManager(initialItems: Item[]): {
},
})
result.map((item) => {
// eslint-disable-next-line @typescript-eslint/no-unsafe-assignment
dispatch({ type: 'ADD', item: { ...item, layer } })
return null
})

View File

@ -18,8 +18,7 @@ export interface LayerProps {
markerShape: string
markerDefaultColor: string
markerDefaultColor2?: string
// eslint-disable-next-line @typescript-eslint/no-explicit-any
api?: ItemsApi<any>
api?: ItemsApi<Item>
itemType: ItemType
userProfileLayer?: boolean
customEditLink?: string