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]) => (
))
}
{treeEntries.allNids.map((entId, idx) => (
{
activeSketchNid && treeEntries.byNid[activeSketchNid].deactivate()
treeEntries.byNid[entId].activate()
}}
>
{entId}
))}
}