preview-pane.js 1.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950
  1. import React from 'react'
  2. import PropTypes from 'prop-types'
  3. import PreviewToolbar from './preview-toolbar'
  4. import PreviewLogsPane from './preview-logs-pane'
  5. function PreviewPane({
  6. compilerState,
  7. logEntries,
  8. onRecompile,
  9. onRunSyntaxCheckNow,
  10. onSetAutoCompile,
  11. onSetDraftMode,
  12. onSetSyntaxCheck,
  13. onToggleLogs,
  14. shouldShowLogs
  15. }) {
  16. return (
  17. <>
  18. <PreviewToolbar
  19. compilerState={compilerState}
  20. onRecompile={onRecompile}
  21. onRunSyntaxCheckNow={onRunSyntaxCheckNow}
  22. onSetAutoCompile={onSetAutoCompile}
  23. onSetDraftMode={onSetDraftMode}
  24. onSetSyntaxCheck={onSetSyntaxCheck}
  25. onToggleLogs={onToggleLogs}
  26. />
  27. {shouldShowLogs ? <PreviewLogsPane logEntries={logEntries} /> : null}
  28. </>
  29. )
  30. }
  31. PreviewPane.propTypes = {
  32. compilerState: PropTypes.shape({
  33. isAutoCompileOn: PropTypes.bool.isRequired,
  34. isCompiling: PropTypes.bool.isRequired,
  35. isDraftModeOn: PropTypes.bool.isRequired,
  36. isSyntaxCheckOn: PropTypes.bool.isRequired
  37. }),
  38. logEntries: PropTypes.array,
  39. onRecompile: PropTypes.func.isRequired,
  40. onRunSyntaxCheckNow: PropTypes.func.isRequired,
  41. onSetAutoCompile: PropTypes.func.isRequired,
  42. onSetDraftMode: PropTypes.func.isRequired,
  43. onSetSyntaxCheck: PropTypes.func.isRequired,
  44. onToggleLogs: PropTypes.func.isRequired,
  45. shouldShowLogs: PropTypes.bool.isRequired
  46. }
  47. export default PreviewPane