import React, { useEffect, useState } from 'react'; import './app.css' import { Provider, useDispatch, useSelector } from 'react-redux' // import { sc } from './index' import { BsPencilSquare } from 'react-icons/bs' import { FaCube, FaCheck } from 'react-icons/fa' import { MdAdd, MdEdit, MdDone } from 'react-icons/md' export const Root = ({ store }) => ( ); const App = () => { const dispatch = useDispatch() const treeEntries = useSelector(state => state.treeEntries) const activeSketchNid = useSelector(state => state.activeSketchNid) // const [state, setState] = useState('x') // useEffect(()=>{ // console.log('hereeee') // },[state]) useEffect(() => { if (!activeSketchNid) { sc.canvas.addEventListener('pointermove', sc.onHover) sc.canvas.addEventListener('pointerdown', sc.onPick) return () => { sc.canvas.removeEventListener('pointermove', sc.onHover) sc.canvas.removeEventListener('pointerdown', sc.onPick) } } }, [activeSketchNid]) const btnz = [ activeSketchNid ? [MdDone, () => treeEntries.byNid[activeSketchNid].deactivate(), 'Finish'] : [MdAdd, sc.addSketch, 'Sketch'] , [FaCube, () => sc.extrude(treeEntries.byNid[activeSketchNid]), 'Extrude'] ] return
{ btnz.map(([Icon, fcn, txt]) => (
{txt}
)) }
{treeEntries.allNids.map((entId, idx) => (
{ activeSketchNid && treeEntries.byNid[activeSketchNid].deactivate() treeEntries.byNid[entId].activate() }} >
{entId}
))}
}