overview-container.tsx 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. import Container from './container'
  2. import Toggler from './toggler'
  3. import Toolbar from './toolbar/toolbar'
  4. import Nav from './nav'
  5. import OverviewFile from './overview-file'
  6. import { useReviewPanelValueContext } from '../../context/review-panel/review-panel-context'
  7. import { useFileTreeData } from '@/shared/context/file-tree-data-context'
  8. import { memo } from 'react'
  9. import LoadingSpinner from '@/shared/components/loading-spinner'
  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. <LoadingSpinner className="d-flex justify-content-center my-2" />
  26. ) : (
  27. docs?.map(doc => (
  28. <OverviewFile
  29. key={doc.doc.id}
  30. docId={doc.doc.id}
  31. docPath={doc.path}
  32. />
  33. ))
  34. )}
  35. </div>
  36. <Nav />
  37. </Container>
  38. )
  39. }
  40. export default memo(OverviewContainer)