diff --git a/admin/src/pages/Home/components/LinkChooser/LinkChooser.jsx b/admin/src/pages/Home/components/LinkChooser/LinkChooser.jsx new file mode 100644 index 0000000..5389083 --- /dev/null +++ b/admin/src/pages/Home/components/LinkChooser/LinkChooser.jsx @@ -0,0 +1,40 @@ +import {DialogProvider} from "@/common/contexts/Dialog"; +import ModuleContext from "@/common/contexts/Module"; +import {useContext, useEffect, useState} from "react"; +import {FontAwesomeIcon} from "@fortawesome/react-fontawesome"; +import LinkDialog from "@/pages/Home/components/LinkDialog"; +import "./styles.sass"; + +export const LinkChooser = (props) => { + const [module, setModule] = useState(null); + const [isOpen, setIsOpen] = useState(null); + + const switchModule = (id) => { + setModule(id); + props.close(); + } + + useEffect(() => { + if (module !== null) setIsOpen(true); + }, [module]); + + const modules = useContext(ModuleContext); + if (!modules) return; + + return ( + <> + setIsOpen(null)}/> + {props.isOpen && + +
+ {Object.entries(modules).map(([id, obj]) =>
switchModule(id)}> +
+ +
+

{obj.name}

+
)} +
+
} + + ); +} \ No newline at end of file