diff --git a/site/src/pages/tools/fcc-compliance-check.astro b/site/src/pages/tools/fcc-compliance-check.astro index 605b7bf..928db84 100644 --- a/site/src/pages/tools/fcc-compliance-check.astro +++ b/site/src/pages/tools/fcc-compliance-check.astro @@ -490,6 +490,17 @@ import Base from "../../layouts/Base.astro"; if (check.due_date) inner += `

Due: ${check.due_date}

`; if (check.detail) inner += `

${check.detail}

`; + // RMD special — ask if they provide voice services when RMD not found + if (check.id === "rmd_filing" && status === "red" && (check.detail || "").includes("Not found")) { + inner += `
+

Do you provide any voice services?

+
+ + +
+
`; + } + // BDC special if (check.id === "bdc_filing" && status === "unknown") { inner += `
@@ -542,6 +553,42 @@ import Base from "../../layouts/Base.astro"; card.querySelector(".bdc-no")?.addEventListener("click", () => setBdcStatus("green")); } + // RMD button handlers + if (check.id === "rmd_filing" && status === "red" && (check.detail || "").includes("Not found")) { + function setRmdStatus(newStatus) { + check.status = newStatus; + const c = colorMap[newStatus]; + card.className = `${c.bg} ${c.border} border rounded-xl p-4 flex items-start gap-3`; + if (newStatus === "red") { + card.innerHTML = `
${icons.red}
+
+

${check.label || check.id}

+

Not registered — RMD filing required for voice service providers.

+ +
`; + } else if (newStatus === "green") { + card.innerHTML = `
${icons.green}
+
+

${check.label || check.id}

+

Not applicable — data-only provider, no voice services.

+ +
`; + } + card.querySelector(".rmd-undo")?.addEventListener("click", () => { + check.status = "red"; + const cr = colorMap.red; + card.className = `${cr.bg} ${cr.border} border rounded-xl p-4 flex items-start gap-3`; + card.innerHTML = inner; + card.querySelector(".rmd-yes")?.addEventListener("click", () => setRmdStatus("red")); + card.querySelector(".rmd-no")?.addEventListener("click", () => setRmdStatus("green")); + renderCta(lastData); + }); + renderCta(lastData); + } + card.querySelector(".rmd-yes")?.addEventListener("click", () => setRmdStatus("red")); + card.querySelector(".rmd-no")?.addEventListener("click", () => setRmdStatus("green")); + } + checksContainer.appendChild(card); }); @@ -641,6 +688,20 @@ import Base from "../../layouts/Base.astro"; let pricedCount = 0; const selectedIds = []; + // If 499-A is unchecked, hide and uncheck DC Agent + const f499Checked = Array.from(boxes).some((cb) => cb.dataset.id === "form_499a" && cb.checked); + boxes.forEach((cb) => { + if (cb.dataset.id === "dc_agent") { + const label = cb.closest("label"); + if (f499Checked) { + if (label) label.style.display = ""; + } else { + cb.checked = false; + if (label) label.style.display = "none"; + } + } + }); + boxes.forEach((cb) => { if (cb.checked) { const p = parseInt(cb.dataset.price, 10);