/* 项目详情页逻辑: 项目头部 + release 时间线 + 最近 issues. */ import { fetchJson, escapeHtml, truncate, formatDate } from "../utils.js"; export function initProjectDetailPage(projectId) { projectId = Number.parseInt(projectId, 10); if (Number.isNaN(projectId)) { console.error("project-detail: invalid project id"); return; } async function loadProject() { const header = document.getElementById("projectHeader"); try { const p = await fetchJson(`/api/projects/${projectId}`); header.innerHTML = `
${escapeHtml(p.description || "暂无描述")}
⭐ Stars: ${p.stars ?? 0} 🍴 Forks: ${p.forks ?? 0} ${escapeHtml(p.language || "N/A")} 更新于 ${formatDate(p.updated_at)}