// === OVERRIDE: loadHotTopics loads from MULTIPLE hashtags === // This file loaded AFTER app_v2.js, overrides the function async function loadHotTopics(){ const j=await fetch('/api/hot_topics').then(r=>r.json()).catch(()=>({topics:[]})); const el=document.getElementById('hot-topics');if(!el)return; const topics=j.topics||[]; el.innerHTML=topics.slice(0,18).map(t=>{ const topicText=t.topic||t.label.replace(/^#/,''); return``; }).join(''); // Load tin HOT = tổng hợp từ TOP 3 hashtag nóng nhất if(topics.length>=2){ loadMultiHashtag(topics.slice(0,3).map(t=>t.topic||t.label.replace(/^#/,''))); }else if(topics.length){ searchTopic(topics[0].topic||topics[0].label.replace(/^#/,'')); } } async function loadMultiHashtag(topicList){ const box=document.getElementById('hashtag-box');if(!box)return; box.innerHTML=`

🔥 Tin HOT tổng hợp

Tổng hợp từ ${topicList.length} chủ đề nóng nhất...
`; try{ const results=await Promise.all(topicList.map(topic=> fetch(`/api/hashtag/sources?topic=${encodeURIComponent(topic)}&page=0`).then(r=>r.json()).catch(()=>({sources:[]})) )); // Interleave from all topics const all=[];const seen=new Set(); const mx=Math.max(...results.map(r=>(r.sources||[]).length)); for(let i=0;i

🔥 Tin HOT

Đang cập nhật...
`;return;} let h=`

🔥 Tin HOT tổng hợp (${all.length} bài · ${topicList.length} chủ đề)

`; all.slice(0,12).forEach((s,i)=>{ h+=`
${esc(s.title)}
${esc(s.via||'')} · #${esc(s._topic||'')}
`; }); h+=`
`; topicList.forEach(t=>{h+=``;}); h+=`
`; box.innerHTML=h; // Lazy load images all.slice(0,12).forEach((s,i)=>{if(!s.url)return;fetch('/api/article?url='+encodeURIComponent(s.url)).then(r=>r.json()).then(d=>{if(d&&(d.og_image||d.img)){const el=document.getElementById('ht-img-'+i);if(el)el.innerHTML=``;}}).catch(()=>{});}); _htTopic=topicList[0]; }catch(e){box.innerHTML=`

🔥 Tin HOT

Lỗi tải tin
`;} }