修改後
function appendLabeledText(parent, label, value) {
const paragraph = document.createElement("p");
const strong = document.createElement("strong");
strong.textContent = label;
paragraph.append(strong, document.createTextNode(value));
parent.append(paragraph);
}
const fragment = document.createDocumentFragment();
const title = document.createElement("h2");
title.textContent = "我的 60 秒展示草稿";
fragment.append(title);
appendLabeledText(fragment, "問題:", evidence.problem);
appendLabeledText(fragment, "做法:", "完成前端作品、版本提交與 Netlify production deploy。");
const result = document.createElement("p");
const resultLabel = document.createElement("strong");
const link = document.createElement("a");
resultLabel.textContent = "成果:";
link.href = evidence.url;
link.textContent = evidence.url;
link.target = "_blank";
link.rel = "noopener noreferrer";
result.append(resultLabel, link, document.createTextNode(`,commit ${evidence.commit};手機操作為學生自我勾選。`));
fragment.append(result);
const review = document.createElement("p");
review.textContent = "待人工驗收:教師或同儕需實際開啟網址、比對 commit history,並觀看手機操作。";
fragment.append(review);
return fragment;
status.className = "";
const { evidence, errors } = collectEvidence();
if (errors.length) {
status.textContent = errors.join(";");
status.className = "error";
return;
}
status.textContent = "格式預檢通過;尚待教師或同儕人工驗收";
showcase.append(buildShowcase(evidence));