overview-container.tsx 1.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  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 { MainDocument } from '../../../../../../types/project-settings'
  10. import { memo } from 'react'
  11. function OverviewContainer() {
  12. const { isOverviewLoading } = useReviewPanelValueContext()
  13. const docs: MainDocument[] = useFileTreeData().docs
  14. return (
  15. <Container>
  16. <Toggler />
  17. <Toolbar />
  18. <div
  19. className="rp-entry-list"
  20. id="review-panel-overview"
  21. role="tabpanel"
  22. tabIndex={0}
  23. aria-labelledby="review-panel-tab-overview"
  24. >
  25. {isOverviewLoading ? (
  26. <div className="rp-loading">
  27. <Icon type="spinner" spin />
  28. </div>
  29. ) : (
  30. docs?.map(doc => (
  31. <OverviewFile
  32. key={doc.doc.id}
  33. docId={doc.doc.id}
  34. docPath={doc.path}
  35. />
  36. ))
  37. )}
  38. </div>
  39. <Nav />
  40. </Container>
  41. )
  42. }
  43. export default memo(OverviewContainer)