// Comments.jsx — viafoura-style comment section (24sata.hr)

Object.assign(window, { Comments });

const COMMENTS_DATA = [
  {
    name: "Maja Delić",
    time: "PRIJE 2 DANA",
    text: "Djeluje li to stvarno? Čuo sam nešto slično, ali nikada nisam vidio kritiku.",
    likes: 52,
    replies_count: 1,
    color: "#e8241a",
    replies: [
      {
        name: "Ivan Horvat",
        time: "PRIJE 2 DANA",
        text: "Upravo sam povukao sredstva. Napokon nešto što radi! Prijavite se dok ima mjesta.",
        likes: 89,
        replies_count: 0,
        color: "#1a2751",
      },
    ],
  },
  {
    name: "Lucija Antl",
    time: "PRIJE 3 DANA",
    text: "Napokon mogu kupiti novi auto za gotovinu. Ni ne pamtim kad sam se tako osjećala sigurno financijski.",
    likes: 37,
    replies_count: 0,
    color: "#8e44ad",
  },
  {
    name: "Marko Kovačić",
    time: "PRIJE 3 DANA",
    text: "Registrirao sam se prošli tjedan i već vidim prve rezultate. Croatia Vanguard je stvarno nešto posebno.",
    likes: 61,
    replies_count: 2,
    color: "#2980b9",
  },
  {
    name: "Ivana Marić",
    time: "PRIJE 4 DANA",
    text: "Ovo je platforma za pravi pasivni prihod. Nazvali su me odmah i sve objasnili. Preporučujem svima!",
    likes: 44,
    replies_count: 0,
    color: "#27ae60",
  },
  {
    name: "Petra Novak",
    time: "PRIJE 4 DANA",
    text: "Registrirala sam se prošli tjedan. Već vidim prve rezultate. Odlično!",
    likes: 44,
    replies_count: 1,
    color: "#16a085",
    replies: [
      {
        name: "Tomislav Jurić",
        time: "PRIJE 4 DANA",
        text: "Koliko ste uložili za početak ako smije pitati?",
        likes: 17,
        replies_count: 0,
        color: "#e67e22",
      },
    ],
  },
  {
    name: "Filip Grgić",
    time: "PRIJE 5 DANA",
    text: "Nisam vjerovao dok nisam vidio rezultate na svom računu. Minimalni ulog od 250 € se višestruko isplati.",
    likes: 29,
    replies_count: 0,
    color: "#c0392b",
  },
  {
    name: "Ana Babić",
    time: "PRIJE 5 DANA",
    text: "Ovo je stvarno nešto posebno. Platforma radi automatski, ne trebate nikakvo iskustvo. Savršeno za početnike.",
    likes: 55,
    replies_count: 3,
    color: "#d35400",
  },
  {
    name: "Luka Vidović",
    time: "PRIJE 6 DANA",
    text: "Bio sam skeptičan, kao i mnogi drugi. Ali kad vidiš prvu isplatu na svom bankovnom računu — sve sumnje nestanu.",
    likes: 73,
    replies_count: 1,
    color: "#7f8c8d",
  },
  {
    name: "Nikolina Krajčinović",
    time: "PRIJE 6 DANA",
    text: "Kao samohrana majka nisam imala puno opcija. Croatia Vanguard mi je promijenio život. Hvala Marku Primorcu!",
    likes: 91,
    replies_count: 4,
    color: "#8e44ad",
  },
  {
    name: "Stjepan Blažević",
    time: "PRIJE 7 DANA",
    text: "Kad HNB podržava platformu, znaš da je ozbiljno. Već sam preporučio svim kolegama s posla.",
    likes: 38,
    replies_count: 0,
    color: "#1a5276",
  },
  {
    name: "Mia Lovrec",
    time: "PRIJE 7 DANA",
    text: "Uložila sam minimalnih 250 € i za tjedan dana sam imala prvu dobit na računu. Ovo je legit!",
    likes: 66,
    replies_count: 2,
    color: "#922b21",
  },
  {
    name: "Andrija Zorić",
    time: "PRIJE 8 DANA",
    text: "Ovo je daleko najbolja platforma koju sam ikad probao! Oni mogu ostvariti prihod od kuće bez ikakvih problema. Preporučujem svima.",
    likes: 43,
    replies_count: 1,
    color: "#1f618d",
  },
  {
    name: "Damjana Perić",
    time: "PRIJE 8 DANA",
    text: "Nisam ni znala da postoji nešto ovako jednostavno. Menadžer mi je pomogao sa svakim korakom. Sada zarađujem pasivno.",
    likes: 57,
    replies_count: 0,
    color: "#117a65",
  },
  {
    name: "Ena Pavić",
    time: "PRIJE 9 DANA",
    text: "U početku nisam bila sigurna, ali nakon što sam vidjela da svi koji su se prijavili imaju rezultate — i ja sam se odlučila. Ne žalim!",
    likes: 48,
    replies_count: 2,
    color: "#6c3483",
  },
  {
    name: "Duca Šimac",
    time: "PRIJE 9 DANA",
    text: "Ova platforma mi je dala financijsku slobodu koji nisam imala godinama. Hvala Gori koja me upoznala s Croatia Vanguard-om.",
    likes: 34,
    replies_count: 0,
    color: "#784212",
  },
  {
    name: "Bianca Lovrić",
    time: "PRIJE 10 DANA",
    text: "Sada na ovu platformu kažu da više nije dostupna jer više ne mogu ostvariti toliki profit kod kuće. Preporučujem dok traje!",
    likes: 62,
    replies_count: 3,
    color: "#1a5276",
  },
];

function HeartIcon({ filled, color }) {
  return (
    <svg width="14" height="13" viewBox="0 0 24 22" fill={filled ? color : "none"} stroke={filled ? color : "#bbb"} strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M20.84 3.61a5.5 5.5 0 0 0-7.78 0L12 4.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"/>
    </svg>
  );
}

function BubbleIcon() {
  return (
    <svg width="14" height="13" viewBox="0 0 24 24" fill="none" stroke="#bbb" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round">
      <path d="M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z"/>
    </svg>
  );
}

function CommentItem({ c, isReply }) {
  const [liked,  setLiked]  = React.useState(false);
  const [likes,  setLikes]  = React.useState(c.likes);
  const heartColor = "#e8241a";

  const handleLike = () => {
    if (liked) { setLiked(false); setLikes(l => l - 1); }
    else       { setLiked(true);  setLikes(l => l + 1); }
  };

  return (
    <div style={{
      display: "flex", gap: 10,
      padding: isReply ? "12px 0 4px 0" : "16px 0",
      borderBottom: isReply ? "none" : "1px solid #f0f0f0",
      marginLeft: isReply ? 52 : 0,
      borderLeft: isReply ? "2px solid #efefef" : "none",
      paddingLeft: isReply ? 12 : 0,
    }}>
      {/* Avatar */}
      <div style={{
        width: isReply ? 32 : 40, height: isReply ? 32 : 40,
        borderRadius: "50%", flexShrink: 0,
        background: c.color,
        display: "flex", alignItems: "center", justifyContent: "center",
        fontFamily: "Arial, sans-serif", fontWeight: 700,
        fontSize: isReply ? 12 : 15, color: "#fff",
      }}>
        {c.name.split(" ").map(w => w[0]).join("").slice(0, 2)}
      </div>

      {/* Content */}
      <div style={{ flex: 1, minWidth: 0 }}>
        <div style={{ display: "flex", gap: 8, alignItems: "baseline", marginBottom: 3, flexWrap: "wrap" }}>
          <span style={{ fontFamily: "Arial, sans-serif", fontWeight: 700, fontSize: isReply ? 12 : 13, color: "#111" }}>
            {c.name}
          </span>
          <span style={{ fontFamily: "Arial, sans-serif", fontSize: 10, color: "#aaa", letterSpacing: 0.3 }}>
            {c.time}
          </span>
        </div>
        <p style={{ fontFamily: "Arial, sans-serif", fontSize: isReply ? 13 : 14, color: "#333", lineHeight: 1.55, margin: "0 0 8px" }}>
          {c.text}
        </p>

        {/* Actions */}
        <div style={{ display: "flex", alignItems: "center", gap: 14 }}>
          <button onClick={handleLike} style={{
            display: "flex", alignItems: "center", gap: 5,
            background: "none", border: "none", cursor: "pointer", padding: 0,
            fontFamily: "Arial, sans-serif", fontSize: 13,
            color: liked ? heartColor : "#999",
            fontWeight: liked ? 700 : 400,
          }}>
            <HeartIcon filled={liked} color={heartColor} />
            {likes}
          </button>

          {c.replies_count > 0 && (
            <span style={{ display: "flex", alignItems: "center", gap: 5, fontFamily: "Arial, sans-serif", fontSize: 13, color: "#bbb", cursor: "pointer" }}>
              <BubbleIcon />
              {c.replies_count}
            </span>
          )}
        </div>
      </div>
    </div>
  );
}

function Comments() {
  const total = 135;

  return (
    <div style={{ marginTop: 32, fontFamily: "Arial, sans-serif" }}>

      {/* Header */}
      <div style={{
        display: "flex", alignItems: "center", justifyContent: "space-between",
        borderTop: "2px solid #e8241a", borderBottom: "1px solid #ebebeb",
        paddingTop: 14, paddingBottom: 10, marginBottom: 0,
      }}>
        <div style={{ display: "flex", alignItems: "center", gap: 8 }}>
          <span style={{ fontWeight: 700, fontSize: 14, color: "#111" }}>Komentari</span>
          <span style={{
            background: "#e8241a", color: "#fff", borderRadius: 10,
            padding: "1px 7px", fontSize: 11, fontWeight: 700,
          }}>
            {total}
          </span>
        </div>
        <span style={{ fontSize: 11, color: "#aaa", letterSpacing: 0.3 }}>NAJNOVIJI ▾</span>
      </div>

      {/* Comment list */}
      <div>
        {COMMENTS_DATA.map((c, i) => (
          <div key={i}>
            <CommentItem c={c} isReply={false} />
            {c.replies && c.replies.map((r, j) => (
              <CommentItem key={j} c={r} isReply={true} />
            ))}
          </div>
        ))}
      </div>

      {/* Load more */}
      <div style={{ textAlign: "center", padding: "24px 0 12px" }}>
        <button style={{
          background: "none", border: "1px solid #ccc", borderRadius: 3,
          padding: "10px 32px", fontSize: 12, fontWeight: 700,
          color: "#333", cursor: "pointer", letterSpacing: 0.5,
          textTransform: "uppercase",
        }}>
          DODAJ JOŠ KOMENTARA
        </button>
      </div>
    </div>
  );
}
