Вы не можете выбрать более 25 тем Темы должны начинаться с буквы или цифры, могут содержать дефисы(-) и должны содержать не более 35 символов.

editor.tsx 1.3KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. import useKeyboardEvents from 'hooks/useKeyboardEvents'
  2. import useLoadOnMount from 'hooks/useLoadOnMount'
  3. import Canvas from './canvas/canvas'
  4. import StatusBar from './status-bar'
  5. import ToolsPanel from './tools-panel/tools-panel'
  6. import StylePanel from './style-panel/style-panel'
  7. import styled from 'styles'
  8. import PagePanel from './page-panel/page-panel'
  9. // import dynamic from 'next/dynamic'
  10. // import ControlsPanel from './controls-panel/controls-panel'
  11. // import { useSelector } from 'state'
  12. // const CodePanel = dynamic(() => import('./code-panel/code-panel'))
  13. export default function Editor() {
  14. useKeyboardEvents()
  15. useLoadOnMount()
  16. // const hasControls = useSelector(
  17. // (s) => Object.keys(s.data.codeControls).length > 0
  18. // )
  19. return (
  20. <Layout>
  21. {/* <CodePanel /> */}
  22. <PagePanel />
  23. <Spacer />
  24. <StylePanel />
  25. <Canvas />
  26. <ToolsPanel />
  27. <StatusBar />
  28. </Layout>
  29. )
  30. }
  31. const Spacer = styled('div', {
  32. flexGrow: 2,
  33. })
  34. const Layout = styled('main', {
  35. position: 'fixed',
  36. overflow: 'hidden',
  37. top: 0,
  38. left: 0,
  39. bottom: 0,
  40. right: 0,
  41. height: '100%',
  42. width: '100%',
  43. padding: '8px 8px 0 8px',
  44. zIndex: 200,
  45. display: 'flex',
  46. alignItems: 'flex-start',
  47. justifyContent: 'flex-start',
  48. pointerEvents: 'none',
  49. '& > *': {
  50. PointerEvent: 'all',
  51. },
  52. })