diff --git a/src/Components/Map/hooks/useFilter.tsx b/src/Components/Map/hooks/useFilter.tsx index 3b8d5042..33aec09f 100644 --- a/src/Components/Map/hooks/useFilter.tsx +++ b/src/Components/Map/hooks/useFilter.tsx @@ -3,6 +3,7 @@ import * as React from "react"; import { LayerProps, Tag } from "../../../types"; import { useLayers } from "./useLayers"; import { useLocation, useNavigate } from "react-router-dom"; +import useWindowDimensions from "./useWindowDimension"; type ActionType = | { type: "ADD_TAG"; tag: Tag } @@ -64,6 +65,7 @@ function useFilterManager(initialTags: Tag[]): { const initialLayers = useLayers() const navigate = useNavigate() + const windowDimensions = useWindowDimensions(); const [visibleLayers, dispatchLayers] = useReducer((state: LayerProps[], action: ActionType) => { switch (action.type) { @@ -96,7 +98,10 @@ function useFilterManager(initialTags: Tag[]): { let urlTags = params.get("tags"); if(!urlTags?.includes(tag.name)) params.set("tags", `${urlTags ? urlTags : ""}${urlTags? ',' : ''}${tag.name}`) - navigate(location.pathname + `${params ? `?${params}` : ""}`); + if(windowDimensions.width < 786 && location.pathname.split("/").length > 2) navigate("/" + `${params ? `?${params}` : ""}`); + else navigate(location.pathname + `${params ? `?${params}` : ""}`); + + dispatchTags({ diff --git a/src/Components/Templates/ItemCard.tsx b/src/Components/Templates/ItemCard.tsx index 14dd7fc5..4b2e753d 100644 --- a/src/Components/Templates/ItemCard.tsx +++ b/src/Components/Templates/ItemCard.tsx @@ -4,14 +4,18 @@ import { HeaderView } from '../Map/Subcomponents/ItemPopupComponents/HeaderView' import { Item } from '../../types' import { useNavigate } from 'react-router-dom' import { getValue } from '../../Utils/GetValue' +import useWindowDimensions from '../Map/hooks/useWindowDimension' export const ItemCard = ({i,loading, url, parameterField, deleteCallback}:{i:Item, loading: boolean, url:string, parameterField: string, deleteCallback: any}) => { const navigate = useNavigate(); + const windowDimensions = useWindowDimensions(); return (
{ let params = new URLSearchParams(window.location.search); - navigate(url + getValue(i, parameterField) + `${params ? `?${params}` : ""}`) + windowDimensions.width >= 786 && navigate(url + getValue(i, parameterField) + `${params ? `?${params}` : ""}`) + windowDimensions.width < 786 && navigate("/" + getValue(i, parameterField) + `${params ? `?${params}` : ""}`) + }}> navigate("/edit-item/" + i.id)} deleteCallback={() => deleteCallback(i)}>