Fix selection of tracked objects in Explore on desktop Safari (#16153)

* ensure meta click works on desktop safari to select objects in explore

* don't break mobile
This commit is contained in:
Josh Hawkins 2025-01-26 11:57:38 -06:00 committed by GitHub
parent 6d8234fa27
commit 9efc20e58a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -1,4 +1,4 @@
import { useMemo } from "react"; import { useCallback, useMemo } from "react";
import { useApiHost } from "@/api"; import { useApiHost } from "@/api";
import { getIconForLabel } from "@/utils/iconUtil"; import { getIconForLabel } from "@/utils/iconUtil";
import useSWR from "swr"; import useSWR from "swr";
@ -33,6 +33,16 @@ export default function SearchThumbnail({
onClick(searchResult, true, false); onClick(searchResult, true, false);
}); });
const handleOnClick = useCallback(
(e: React.MouseEvent<HTMLDivElement>) => {
if (e.metaKey) {
e.stopPropagation();
onClick(searchResult, true, false);
}
},
[searchResult, onClick],
);
const objectLabel = useMemo(() => { const objectLabel = useMemo(() => {
if ( if (
!config || !config ||
@ -57,6 +67,7 @@ export default function SearchThumbnail({
<div className={`size-full ${imgLoaded ? "visible" : "invisible"}`}> <div className={`size-full ${imgLoaded ? "visible" : "invisible"}`}>
<img <img
ref={imgRef} ref={imgRef}
onClick={handleOnClick}
className={cn( className={cn(
"size-full select-none object-cover object-center opacity-100 transition-opacity", "size-full select-none object-cover object-center opacity-100 transition-opacity",
)} )}