您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符

editor.tsx 1.1KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152
  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 CodePanel from './code-panel/code-panel'
  10. import ControlsPanel from './controls-panel/controls-panel'
  11. export default function Editor(): JSX.Element {
  12. useKeyboardEvents()
  13. useLoadOnMount()
  14. return (
  15. <Layout>
  16. <CodePanel />
  17. <PagePanel />
  18. <ControlsPanel />
  19. <Spacer />
  20. <StylePanel />
  21. <Canvas />
  22. <ToolsPanel />
  23. <StatusBar />
  24. </Layout>
  25. )
  26. }
  27. const Spacer = styled('div', {
  28. flexGrow: 2,
  29. })
  30. const Layout = styled('main', {
  31. position: 'fixed',
  32. overflow: 'hidden',
  33. top: 0,
  34. left: 0,
  35. bottom: 0,
  36. right: 0,
  37. height: '100%',
  38. width: '100%',
  39. padding: '8px 8px 0 8px',
  40. zIndex: 200,
  41. display: 'flex',
  42. alignItems: 'flex-start',
  43. justifyContent: 'flex-start',
  44. pointerEvents: 'none',
  45. '& > *': {
  46. PointerEvent: 'all',
  47. },
  48. })