visibility hook for capital cities marks
This commit is contained in:
20
client/src/hooks/map/useCapitals.ts
Normal file
20
client/src/hooks/map/useCapitals.ts
Normal file
@ -0,0 +1,20 @@
|
||||
import { useEffect } from "react";
|
||||
import type VectorLayer from "ol/layer/Vector";
|
||||
import type VectorSource from "ol/source/Vector";
|
||||
|
||||
/**
|
||||
* Hook that controls the opacity of the capitals layer depending on the selected district.
|
||||
*
|
||||
* @param capitalsLayer - The OpenLayers VectorLayer instance for capitals.
|
||||
* @param value - Value to observe, boolean.
|
||||
*/
|
||||
export function useCapitals(
|
||||
capitalsLayer: VectorLayer<VectorSource<any>> | null,
|
||||
value: boolean
|
||||
) {
|
||||
useEffect(() => {
|
||||
if (!capitalsLayer) return;
|
||||
|
||||
capitalsLayer.setOpacity(value ? 0 : 1);
|
||||
}, [capitalsLayer, value]);
|
||||
}
|
||||
Reference in New Issue
Block a user