main-layout.tsx 1.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  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. export default function MainLayout() {
  8. return (
  9. <div className="ide-redesign-main">
  10. <div className="ide-skeleton-block">Toolbar</div>
  11. <div className="ide-redesign-body">
  12. <PanelGroup
  13. autoSaveId="ide-redesign-outer-layout"
  14. direction="horizontal"
  15. className={classNames('ide-redesign-inner', {
  16. 'ide-panel-group-resizing': false,
  17. })}
  18. >
  19. <RailLayout />
  20. <HorizontalResizeHandle
  21. resizable
  22. hitAreaMargins={{ coarse: 0, fine: 0 }}
  23. />
  24. <Panel id="ide-redesign-editor-panel" order={2}>
  25. <div className="ide-redesign-editor-container">
  26. <Editor />
  27. </div>
  28. </Panel>
  29. <HorizontalResizeHandle
  30. resizable
  31. hitAreaMargins={{ coarse: 0, fine: 0 }}
  32. />
  33. <Panel
  34. className="ide-redesign-pdf-container"
  35. id="ide-redesign-pdf-panel"
  36. order={2}
  37. >
  38. <PdfPreview />
  39. </Panel>
  40. </PanelGroup>
  41. </div>
  42. </div>
  43. )
  44. }