diff --git a/src/Components/Map/Subcomponents/Controls/FilterControl.tsx b/src/Components/Map/Subcomponents/Controls/FilterControl.tsx new file mode 100644 index 00000000..2ede15b7 --- /dev/null +++ b/src/Components/Map/Subcomponents/Controls/FilterControl.tsx @@ -0,0 +1,94 @@ +import * as React from 'react'; +import { useState, useEffect } from 'react'; + +const typeMapping = [ + {value: null, label: 'Kein Filter'}, + {value: 'kompass', label: 'Würdekompass'}, + {value: 'themenkompass', label: 'Themenkompass-Gruppe'}, + {value: 'liebevoll.jetzt', label: 'liebevoll.jetzt'} +]; + +const CustomFilterIcon = ({ size = 20 }) => ( + + + +); + +const CheckmarkIcon = () => ( + + + +); + +const FilterControl = ({ activeFilter, setActiveFilter }) => { + const [isOpen, setIsOpen] = useState(false); + + const toggleFilter = () => { + setIsOpen(!isOpen); + }; + + const applyFilter = (filterValue) => { + setActiveFilter(filterValue); + setIsOpen(false); + }; + + return ( +
+
+ {activeFilter !== null && ( + + )} + +
+ + {isOpen && ( +
+ +
+ )} +
+ ); +}; + +export default FilterControl; \ No newline at end of file diff --git a/src/Components/Map/UtopiaMap.tsx b/src/Components/Map/UtopiaMap.tsx index dc8dd10b..fd9a1a7b 100644 --- a/src/Components/Map/UtopiaMap.tsx +++ b/src/Components/Map/UtopiaMap.tsx @@ -9,8 +9,7 @@ import AddButton from "./Subcomponents/AddButton"; import { useEffect, useState } from "react"; import { ItemFormPopupProps } from "./Subcomponents/ItemFormPopup"; import { SearchControl } from "./Subcomponents/Controls/SearchControl"; -import { LayerControl } from "./Subcomponents/Controls/LayerControl"; -import { QuestControl } from "./Subcomponents/Controls/QuestControl"; +// import { QuestControl } from "./Subcomponents/Controls/QuestControl"; import { Control } from "./Subcomponents/Controls/Control"; import { Outlet, useLocation, useNavigate } from "react-router-dom"; import { TagsControl } from "./Subcomponents/Controls/TagsControl"; @@ -18,6 +17,8 @@ import { useSelectPosition, useSetMapClicked,useSetSelectPosition } from "./hook import { useClusterRef, useSetClusterRef } from "./hooks/useClusterRef"; import { Feature, Geometry as GeoJSONGeometry } from 'geojson'; import {useAuth} from "../Auth"; +import FilterControl from "./Subcomponents/Controls/FilterControl"; +import {LayerControl} from "./Subcomponents/Controls/LayerControl"; // for refreshing map on resize (needs to be implemented) const mapDivRef = React.createRef(); @@ -61,6 +62,8 @@ function UtopiaMap({ const clusterRef = useClusterRef(); const setMapClicked = useSetMapClicked(); + const [activeFilter, setActiveFilter] = useState(null); + const [itemFormPopup, setItemFormPopup] = useState(null); const [embedded, setEmbedded] = useState(true) @@ -92,9 +95,11 @@ function UtopiaMap({ - {!embedded && ( - - )} + {/*{!embedded && (*/} + {/* */} + {/*)}*/} + + {/*todo: needed layer handling is located LayerControl*/}