use-count-links-in-replies.ts
1 import { useMemo } from 'react'; 2 import { Comment } from '@plebbit/plebbit-react-hooks'; 3 import { flattenCommentsPages } from '@plebbit/plebbit-react-hooks/dist/lib/utils'; 4 5 const useCountLinksInReplies = (comment: Comment, firstXReplies?: number) => { 6 let linkCount = 0; 7 const flattenedReplies = useMemo(() => flattenCommentsPages(comment?.replies), [comment?.replies]); 8 9 const repliesToConsider = firstXReplies !== undefined ? flattenedReplies.slice(0, firstXReplies) : flattenedReplies; 10 11 for (let reply of repliesToConsider) { 12 if (reply.link) { 13 linkCount++; 14 } 15 } 16 17 return linkCount; 18 }; 19 20 export default useCountLinksInReplies;