overview-container.tsx 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. import Container from './container'
  2. import Toggler from './toggler'
  3. import Toolbar from './toolbar/toolbar'
  4. import Nav from './nav'
  5. import Icon from '../../../../shared/components/icon'
  6. import OverviewFile from './overview-file'
  7. import { useReviewPanelValueContext } from '../../context/review-panel/review-panel-context'
  8. import { useFileTreeData } from '@/shared/context/file-tree-data-context'
  9. import { memo } from 'react'
  10. function OverviewContainer() {
  11. const { isOverviewLoading } = useReviewPanelValueContext()
  12. const { docs } = useFileTreeData()
  13. return (
  14. <Container>
  15. <Toggler />
  16. <Toolbar />
  17. <div
  18. className="rp-entry-list"
  19. id="review-panel-overview"
  20. role="tabpanel"
  21. tabIndex={0}
  22. aria-labelledby="review-panel-tab-overview"
  23. >
  24. {isOverviewLoading ? (
  25. <div className="rp-loading">
  26. <Icon type="spinner" spin />
  27. </div>
  28. ) : (
  29. docs?.map(doc => (
  30. <OverviewFile
  31. key={doc.doc.id}
  32. docId={doc.doc.id}
  33. docPath={doc.path}
  34. />
  35. ))
  36. )}
  37. </div>
  38. <Nav />
  39. </Container>
  40. )
  41. }
  42. export default memo(OverviewContainer)