import { useContext, useEffect, useRef } from "react"; import { Button } from "../ui/button"; import CanvasContext from "../Context/canvasContext/CanvasContext"; import { X } from "lucide-react"; import { ScrollArea } from "../ui/scroll-area"; import AllIconsPage from "../EachComponent/Icons/AllIcons"; import { useParams } from "react-router-dom"; import useProject from "@/hooks/useProject"; const IconPanel = () => { const { setSelectedPanel } = useContext(CanvasContext); const params = useParams(); const { id } = params; const { createEmptyProject } = useProject(); const hasCreatedProject = useRef(false); useEffect(() => { if (!id && !hasCreatedProject.current) { createEmptyProject(); hasCreatedProject.current = true; // Prevent further calls } }, [id, createEmptyProject]); return (