import React, { useEffect, useState } from "react"; import ToggleHeader from "../../ui/inputs/ToggleHeader"; import Outline from "./Outline"; import Header from "./Header"; import useToggleStore from "../../../store/useUIToggleStore"; import Assets from "./Assets"; import useModuleStore from "../../../store/useModuleStore"; import Widgets from "./visualization/widgets/Widgets"; import Templates from "../../../modules/visualization/template/Templates"; import Search from "../../ui/inputs/Search"; const SideBarLeft: React.FC = () => { const [activeOption, setActiveOption] = useState("Widgets"); const { toggleUI } = useToggleStore(); const { activeModule } = useModuleStore(); // Reset activeOption whenever activeModule changes useEffect(() => { setActiveOption("Outline"); if (activeModule === "visualization") setActiveOption("Widgets"); }, [activeModule]); const handleToggleClick = (option: string) => { setActiveOption(option); // Update the active option }; const handleSearchChange = (value: string) => { // Log the search value for now console.log(value); }; return ( <div className="sidebar-left-wrapper"> <Header /> {toggleUI && ( <div className="sidebar-left-container"> {activeModule === "visualization" ? ( <> <ToggleHeader options={["Widgets", "Templates"]} activeOption={activeOption} handleClick={handleToggleClick} /> <Search onChange={handleSearchChange} /> <div className="sidebar-left-content-container"> {activeOption === "Widgets" ? <Widgets /> : <Templates />} </div> </> ) : activeModule === "market" ? ( <></> ) : activeModule === "builder" ? ( <> <ToggleHeader options={["Outline", "Assets"]} activeOption={activeOption} handleClick={handleToggleClick} /> <div className="sidebar-left-content-container"> {activeOption === "Outline" ? <Outline /> : <Assets />} </div> </> ) : ( <> <ToggleHeader options={["Outline"]} activeOption={activeOption} handleClick={handleToggleClick} /> <div className="sidebar-left-content-container"> {activeOption === "Outline" ? <Outline /> : <Assets />} </div> </> )} </div> )} </div> ); }; export default SideBarLeft;