has-active-range.ts 611 B

1234567891011121314151617181920212223242526
  1. import { Ranges } from '@/features/review-panel/context/ranges-context'
  2. import { Threads } from '@/features/review-panel/context/threads-context'
  3. export const hasActiveRange = (
  4. ranges: Ranges | undefined,
  5. threads: Threads | undefined
  6. ): boolean | undefined => {
  7. if (!ranges || !threads) {
  8. // data isn't loaded yet
  9. return undefined
  10. }
  11. if (ranges.changes.length > 0) {
  12. // at least one tracked change
  13. return true
  14. }
  15. for (const comment of ranges.comments) {
  16. const thread = threads[comment.op.t]
  17. if (thread && !thread.resolved) {
  18. return true
  19. }
  20. }
  21. return false
  22. }