import React, { useState, useEffect, useRef } from 'react';
import './index.css'
import { CSSTransition } from 'react-transition-group'
import { BsPlusLg, BsPlayFill, BsChevronRight, BsArrowLeft, BsArrowBarUp, BsArrowBarDown, BsFillHddRackFill, BsFillDiagram2Fill } from "react-icons/bs";
import Subscribe from './NodeInput/Subscribe';
import Application from './NodeInput/Application';
import Publish from './NodeInput/Publish';
const AddButton = ({ nodes, setNodes }) => {
return (
} />
}>
);
}
function Navbar(props: { children: React.ReactNode }) {
return (
);
}
function NavItem(props: { icon: React.ReactChild; children?: React.ReactNode }) {
const [open, setOpen] = useState(false);
return (
setOpen(!open)}>
{props.icon}
{open && props.children}
);
}
function DropdownMenu({ nodes, setNodes }) {
const [activeMenu, setActiveMenu] = useState('main');
const [menuHeight, setMenuHeight] = useState(null);
const dropdownRef = useRef(null);
useEffect(() => {
setMenuHeight(dropdownRef.current?.firstChild.offsetHeight)
}, [])
function calcHeight(el) {
const height = el.offsetHeight;
setMenuHeight(height);
}
function DropdownItem(props) {
return (
props.goToMenu && setActiveMenu(props.goToMenu)} onKeyDown={() => props.goToMenu && setActiveMenu(props.goToMenu)}>
{props.leftIcon}
{props.children}
{props.rightIcon}
);
}
return (
} >Add Nodes
}
rightIcon={}
goToMenu="application">
Application Node
}
rightIcon={}
goToMenu="publish">
Publish Node
}
rightIcon={}
goToMenu="subscribe">
Subscribe Node
}>
Create Application Node
}>
Create Subscribe Node
);
}
export default AddButton