File size: 1,480 Bytes
e4d3d8a
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
import { cn } from "@/lib/utils"
import { VideoComment } from "@/types"
import { useEffect, useState } from "react"
import { DefaultAvatar } from "../default-avatar"

export function CommentCard({
  comment,
  replies = []
}: {
  comment?: VideoComment,
  replies: VideoComment[]
}) {

  const [userThumbnail, setUserThumbnail] = useState(comment?.user?.thumbnail || "")

  useEffect(() => {
    setUserThumbnail(comment?.user?.thumbnail || "")
  
  }, [comment?.user?.thumbnail])

  if (!comment) { return null }

  const handleBadUserThumbnail = () => {
    try {
      if (userThumbnail) {
        setUserThumbnail("")
      }
    } catch (err) {
      
    }
  }


  return (
    <div className={cn(
      `flex flex-col`,

    )}>
      {/* THE COMMENT INFO - HORIZONTAL */}
      <div className={cn(
      `flex flex-col`,

      )}>
          <div
          className={cn(
            `flex flex-col items-center justify-center`,
            `rounded-full overflow-hidden`,
            `w-26 h-26`
          )}
        >
         {comment.user.thumbnail
          ? <img
              src={comment.user.thumbnail}
              onError={handleBadUserThumbnail}
            />
          : <DefaultAvatar
              username={comment.user.userName}
              bgColor="#fde047"
              textColor="#1c1917"
              width={104}
              roundShape
            />}
        </div>
      </div>

      {/* THE REPLIES */}
      {/* TODO */}
    </div>
  )
}