diff --git a/ui/v2.5/src/components/Scenes/SceneMarkerWallPanel.tsx b/ui/v2.5/src/components/Scenes/SceneMarkerWallPanel.tsx index 1334e88c1..a081baf6a 100644 --- a/ui/v2.5/src/components/Scenes/SceneMarkerWallPanel.tsx +++ b/ui/v2.5/src/components/Scenes/SceneMarkerWallPanel.tsx @@ -1,4 +1,4 @@ -import React, { useCallback, useEffect, useMemo, useRef, useState } from "react"; +import React, { useCallback, useEffect, useMemo, useState } from "react"; import { Form } from "react-bootstrap"; import * as GQL from "src/core/generated-graphql"; import Gallery, { @@ -245,13 +245,13 @@ const MarkerWall: React.FC = ({ // Guard against duplicate clicks - react-photo-gallery can dispatch // the onClick handler twice for a single click event - const lastClickTime = useRef(0); const onClick = useCallback( (event, { index }) => { - const now = Date.now(); - if (now - lastClickTime.current < 100) return; - lastClickTime.current = now; - history.push(photos[index].link); + const link = photos[index].link; + const current = history.location.pathname + history.location.search; + if (current !== link) { + history.push(link); + } }, [history, photos] ); diff --git a/ui/v2.5/src/components/Scenes/SceneWallPanel.tsx b/ui/v2.5/src/components/Scenes/SceneWallPanel.tsx index 3acf25cb3..fcb095c32 100644 --- a/ui/v2.5/src/components/Scenes/SceneWallPanel.tsx +++ b/ui/v2.5/src/components/Scenes/SceneWallPanel.tsx @@ -260,13 +260,13 @@ const SceneWall: React.FC = ({ // Guard against duplicate clicks - react-photo-gallery can dispatch // the onClick handler twice for a single click event - const lastClickTime = useRef(0); const onClick = useCallback( (event, { index }) => { - const now = Date.now(); - if (now - lastClickTime.current < 100) return; - lastClickTime.current = now; - history.push(photos[index].link); + const link = photos[index].link; + const current = history.location.pathname + history.location.search; + if (current !== link) { + history.push(link); + } }, [history, photos] );