// news.js — News-Board (v4): kuratierte Neuigkeiten rund um lokale LLMs. import { api } from "../core/api.js"; import { $, esc, ago } from "../core/ui.js"; function mount() { $(".view[data-view='news']").innerHTML = `

News

Neuigkeiten rund um lokale LLMs — automatisch aus kuratierten Quellen (HuggingFace, llama.cpp, Ollama, r/LocalLLaMA …).
Lade News…
`; $("#news-refresh").addEventListener("click", load); load(); } function card(n) { const date = n.ts ? ago(n.ts) : ""; const rel = n.relevant ? ' · für deine Hardware' : ""; return `
${esc(n.title)}
${esc(n.source)}${rel}
${esc(date)}
`; } async function load() { const el = $("#news-list"); if (!el) return; el.innerHTML = `
Lade News… (erstes Laden kann kurz dauern)
`; try { const d = await api("/api/news"); const items = d.items || []; el.innerHTML = items.length ? `
${items.map(card).join("")}
` : `
Keine News geladen
Die Quellen sind gerade nicht erreichbar — später nochmal probieren.
`; } catch (e) { el.innerHTML = `
${esc(e.message)}
`; } } export default { id: "news", mount };