import React, { useState, useRef, useEffect } from 'react'; import IO from '../io/IO'; import { useDispatch, useSelector } from 'react-redux'; // probably temporarily here import { parameterRefreshAll } from '../timbre/parameters/parameterSlice'; // probably temporarily here import logo from '../../1f3b9.svg'; import './Menu.css'; // for things such as (do you want to save? or do you want to reset things?) const Modal = ({ children, show, setShow }) => { const node = useRef(); const modalDisplay = show ? 'modal modal-display' : 'modal modal-hide'; useEffect(() => { const current = node.current; const handleOutsideClick = (event) => { console.log('clicking anywhere'); if (current.contains(event.target)) { return; } else setShow(); }; if (show) { document.addEventListener('mousedown', handleOutsideClick); } else { document.removeEventListener('mousedown', handleOutsideClick); } return () => { document.removeEventListener('mousedown', handleOutsideClick); }; }, [show, setShow]); return (
{children}
); }; export default function MainMenu() { const unsaved = useSelector((state) => state.parameters.unsaved); const [open, setOpen] = useState({ className: '', openState: true, }); const [showModal, setShowModal] = useState({ saveCheck: false, ioModal: false, }); const dispatch = useDispatch(); const HandleClick = () => { setOpen({ className: open.openState ? 'menu-true-animation' : 'menu-false-animation', openState: !open.openState, }); }; const AnimationEnd = () => { setOpen({ ...open, className: `menu-${open.openState}`, }); }; const showSaveCheck = () => { setShowModal({ ...showModal, saveCheck: !showModal.saveCheck }); }; const showIOModal = () => { setShowModal({ ...showModal, ioModal: !showModal.ioModal }); }; return (
Save Changes Do you want to save your changes?
logo

Alapatch

A microKORG Patch Editor

); }