main-layout.tsx 1.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. import { Panel, PanelGroup } from 'react-resizable-panels'
  2. import classNames from 'classnames'
  3. import { HorizontalResizeHandle } from '@/features/ide-react/components/resize/horizontal-resize-handle'
  4. import PdfPreview from '@/features/pdf-preview/components/pdf-preview'
  5. import { Editor } from './editor'
  6. import { RailLayout } from './rail'
  7. import { Toolbar } from './toolbar/toolbar'
  8. export default function MainLayout() {
  9. return (
  10. <div className="ide-redesign-main">
  11. <Toolbar />
  12. <div className="ide-redesign-body">
  13. <PanelGroup
  14. autoSaveId="ide-redesign-outer-layout"
  15. direction="horizontal"
  16. className={classNames('ide-redesign-inner', {
  17. 'ide-panel-group-resizing': false,
  18. })}
  19. >
  20. <RailLayout />
  21. <HorizontalResizeHandle
  22. resizable
  23. hitAreaMargins={{ coarse: 0, fine: 0 }}
  24. />
  25. <Panel id="ide-redesign-editor-panel" order={2}>
  26. <div className="ide-redesign-editor-container">
  27. <Editor />
  28. </div>
  29. </Panel>
  30. <HorizontalResizeHandle
  31. resizable
  32. hitAreaMargins={{ coarse: 0, fine: 0 }}
  33. />
  34. <Panel
  35. className="ide-redesign-pdf-container"
  36. id="ide-redesign-pdf-panel"
  37. order={2}
  38. >
  39. <PdfPreview />
  40. </Panel>
  41. </PanelGroup>
  42. </div>
  43. </div>
  44. )
  45. }