23 lines
691 B
TypeScript
23 lines
691 B
TypeScript
import { create } from "zustand"
|
|
|
|
export type SelectedMarker = {
|
|
cityId: string
|
|
location: { lat: number; lng: number }
|
|
} | null
|
|
|
|
interface DestinationPageCitiesMapState {
|
|
hoveredCityMarker: string | null
|
|
activeCityMarker: SelectedMarker
|
|
setHoveredCityMarker: (cityId: string | null) => void
|
|
setActiveCityMarker: (marker: SelectedMarker) => void
|
|
}
|
|
|
|
export const useDestinationPageCitiesMapStore =
|
|
create<DestinationPageCitiesMapState>((set) => ({
|
|
hoveredCityMarker: null,
|
|
activeCityMarker: null,
|
|
setHoveredCityMarker: (cityId) => set({ hoveredCityMarker: cityId }),
|
|
setActiveCityMarker: (selectedMarker) =>
|
|
set({ activeCityMarker: selectedMarker }),
|
|
}))
|