diff --git a/src/Components/Map/Subcomponents/FilterControl.tsx b/src/Components/Map/Subcomponents/FilterControl.tsx index 68f9f86a..7c3a4c59 100644 --- a/src/Components/Map/Subcomponents/FilterControl.tsx +++ b/src/Components/Map/Subcomponents/FilterControl.tsx @@ -1,33 +1,60 @@ import * as React from 'react' import { useFilterTags, useRemoveFilterTag, useSetSearchPhrase } from '../hooks/useFilter' +import { useMapEvents } from 'react-leaflet'; +import { useState } from 'react'; +import useWindowDimensions from '../hooks/useWindowDimension'; + + + function capitalizeFirstLetter(string) { return string.charAt(0).toUpperCase() + string.slice(1); - } - +} export const FilterControl = () => { + + const windowDimensions = useWindowDimensions(); + /** + const [popupOpen, setPopupOpen] = useState(false); + + useMapEvents({ + popupopen: (e) => { + console.log(e); + + setPopupOpen(true); + }, + popupclose: () => { + setPopupOpen(false); + } + }) + */ const filterTags = useFilterTags(); const removeFilterTag = useRemoveFilterTag(); const setSearchPhrase = useSetSearchPhrase(); - return ( -
- setSearchPhrase(e.target.value)} /> -
- { - filterTags.map(tag => -
-
- -
#{capitalizeFirstLetter(tag.id)} -
- ) - } + return (<> + {!( + //popupOpen && + windowDimensions.height < 500) && +
+ setSearchPhrase(e.target.value)} /> +
+ { + filterTags.map(tag => +
+
+ +
#{capitalizeFirstLetter(tag.id)} +
+ ) + } +
-
+ } + + ) } diff --git a/src/Components/Map/hooks/useWindowDimension.tsx b/src/Components/Map/hooks/useWindowDimension.tsx new file mode 100644 index 00000000..89f0f7bd --- /dev/null +++ b/src/Components/Map/hooks/useWindowDimension.tsx @@ -0,0 +1,24 @@ +import { useState, useEffect } from 'react'; + +function getWindowDimensions() { + const { innerWidth: width, innerHeight: height } = window; + return { + width, + height + }; +} + +export default function useWindowDimensions() { + const [windowDimensions, setWindowDimensions] = useState(getWindowDimensions()); + + useEffect(() => { + function handleResize() { + setWindowDimensions(getWindowDimensions()); + } + + window.addEventListener('resize', handleResize); + return () => window.removeEventListener('resize', handleResize); + }, []); + + return windowDimensions; +}