diff --git a/client/src/containers/datasets/item.tsx b/client/src/containers/datasets/item.tsx
index 06d5db8d..787813c4 100644
--- a/client/src/containers/datasets/item.tsx
+++ b/client/src/containers/datasets/item.tsx
@@ -1,9 +1,6 @@
-"use client";
-
+import { useState } from "react";
import Markdown from "react-markdown";
-
import Link from "next/link";
-
import { useAtomValue } from "jotai";
import { useSession } from "next-auth/react";
import { LuInfo } from "react-icons/lu";
@@ -18,13 +15,15 @@ import SearchHighlight from "@/components/ui/search-highlight";
import { Switch } from "@/components/ui/switch";
const DatasetsItem = ({ id, attributes }: DatasetListResponseDataItem) => {
+ const [isDialogOpen, setIsDialogOpen] = useState(false);
const [datasets, setDatasets] = useSyncDatasets();
const [, setLayers] = useSyncLayers();
const datasetSearch = useAtomValue(datasetSearchAtom);
-
const { data: user } = useSession();
const handleToogle = () => {
+ if (isDialogOpen) return; // Prevent toggling when the dialog is open
+
const lys = attributes?.layers;
if (!lys) return;
@@ -34,10 +33,8 @@ const DatasetsItem = ({ id, attributes }: DatasetListResponseDataItem) => {
if (prev.includes(id)) {
return prev.filter((d) => d !== id);
}
-
return [...prev, id];
}
-
return prev;
});
@@ -50,10 +47,8 @@ const DatasetsItem = ({ id, attributes }: DatasetListResponseDataItem) => {
if (prev.some((id) => ids.includes(id))) {
return prev.filter((id) => !ids.includes(id));
}
-
return [...ids, ...prev];
}
-
return prev;
});
};
@@ -71,18 +66,17 @@ const DatasetsItem = ({ id, attributes }: DatasetListResponseDataItem) => {