import React, { useEffect, useState } from "react"; import RenameInput from "../inputs/RenameInput"; import { useSelectedZoneStore } from "../../../store/useZoneStore"; import { getZoneData } from "../../../services/realTimeVisulization/zoneData/getZones"; import useModuleStore, { useSubModuleStore, } from "../../../store/useModuleStore"; import { ArrowIcon, EyeIcon, LockIcon, RmoveIcon, } from "../../icons/ExportCommonIcons"; interface Asset { id: string; name: string; } interface ZoneItem { id: string; name: string; assets?: Asset[]; } interface ListProps { items?: ZoneItem[]; placeholder?: string; remove?: boolean; } const List: React.FC = ({ items = [], remove }) => { console.log("items: ", items); const { activeModule, setActiveModule } = useModuleStore(); const { selectedZone, setSelectedZone } = useSelectedZoneStore(); const { setSubModule } = useSubModuleStore(); const [expandedZones, setExpandedZones] = useState>( {} ); useEffect(() => { useSelectedZoneStore.getState().setSelectedZone({ zoneName: "", activeSides: [], panelOrder: [], lockedPanels: [], zoneId: "", zoneViewPortTarget: [], zoneViewPortPosition: [], widgets: [], }); }, [activeModule]); const toggleZoneExpansion = (zoneId: string) => { setExpandedZones((prev) => ({ ...prev, [zoneId]: !prev[zoneId], })); }; async function handleSelectZone(id: string) { try { if (selectedZone?.zoneId === id) { console.log("Zone is already selected:", selectedZone.zoneName); return; } setSubModule("zoneProperties"); const email = localStorage.getItem("email"); const organization = email?.split("@")[1]?.split(".")[0] || ""; let response = await getZoneData(id, organization); setSelectedZone({ zoneName: response?.zoneName, activeSides: response?.activeSides || [], panelOrder: response?.panelOrder || [], lockedPanels: response?.lockedPanels || [], widgets: response?.widgets || [], zoneId: response?.zoneId, zoneViewPortTarget: response?.viewPortCenter || [], zoneViewPortPosition: response?.viewPortposition || [], }); console.log("Zone selected:", response?.zoneName); } catch (error) { console.error("Error selecting zone:", error); } } return ( <> {items.length > 0 ? ( ) : (
No items to display
)} ); }; export default List;