From 1a27fd7913d80536fef0c2e065f88603be7e59e7 Mon Sep 17 00:00:00 2001 From: justin Date: Mon, 27 Apr 2026 20:52:03 -0500 Subject: [PATCH] Rework 499-A questions into two-step flow MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Step 1: "Did ENTITY provide and bill for telecom services?" - Yes → red, filing required for each missed year - No → Step 2 follow-up Step 2: "Does ENTITY plan to provide telecom services going forward?" - Yes, keep active → yellow, zero-revenue 499-A filings needed - No, cancel → yellow, catch-up filings + USAC cancellation Fixes: white-on-red button visibility, removes confusing 3-way choice, uses inline styles for button colors. Co-Authored-By: Claude Opus 4.6 (1M context) --- .../pages/tools/fcc-compliance-check.astro | 118 ++++++++++-------- 1 file changed, 63 insertions(+), 55 deletions(-) diff --git a/site/src/pages/tools/fcc-compliance-check.astro b/site/src/pages/tools/fcc-compliance-check.astro index 05f9284..4ba200d 100644 --- a/site/src/pages/tools/fcc-compliance-check.astro +++ b/site/src/pages/tools/fcc-compliance-check.astro @@ -506,12 +506,11 @@ import Base from "../../layouts/Base.astro"; // 499-A special — ask qualifying questions when past due if (check.id === "form_499a" && (status === "red" || status === "yellow")) { - inner += `
+ inner += `

Did ${eName} provide and bill customers for voice or data telecom services during the overdue filing period(s)?

-
- - - +
+ +
`; } @@ -606,58 +605,67 @@ import Base from "../../layouts/Base.astro"; // 499-A button handlers if (check.id === "form_499a" && (status === "red" || status === "yellow")) { - function setF499Status(action) { - const c = action === "file" ? colorMap.red : (action === "zero" ? colorMap.yellow : colorMap.yellow); - card.className = `${c.bg} ${c.border} border rounded-xl p-4 flex items-start gap-3`; - - if (action === "file") { - // Keep red — they need to file - card.innerHTML = `
${icons.red}
-
-

${check.label}

-

${check.detail}

-

${eName} had telecom revenue — filing is required for each missed year.

- -
`; - } else if (action === "zero") { - // Had no revenue — still need to file a zero-revenue 499-A - check.status = "yellow"; - const cy = colorMap.yellow; - card.className = `${cy.bg} ${cy.border} border rounded-xl p-4 flex items-start gap-3`; - card.innerHTML = `
${icons.yellow}
-
-

${check.label}

-

Even with zero telecom revenue, a 499-A must be filed for each year you held an active filer ID. We can file zero-revenue returns for you.

- -
`; - } else if (action === "cancel") { - // Wants to cancel registration - check.status = "yellow"; - const cy = colorMap.yellow; - card.className = `${cy.bg} ${cy.border} border rounded-xl p-4 flex items-start gap-3`; - card.innerHTML = `
${icons.yellow}
-
-

${check.label}

-

To cancel your USAC filer registration, all outstanding 499-A filings must be current first (including zero-revenue returns). We can handle the catch-up filings and submit the cancellation request to USAC on your behalf.

- -
`; - } - - card.querySelector(".f499-undo")?.addEventListener("click", () => { - check.status = status; // restore original - const cr = colorMap[status]; - card.className = `${cr.bg} ${cr.border} border rounded-xl p-4 flex items-start gap-3`; - card.innerHTML = inner; - card.querySelector(".f499-yes")?.addEventListener("click", () => setF499Status("file")); - card.querySelector(".f499-no")?.addEventListener("click", () => setF499Status("zero")); - card.querySelector(".f499-cancel")?.addEventListener("click", () => setF499Status("cancel")); - renderCta(lastData); - }); + function resetF499() { + check.status = status; + const cr = colorMap[status]; + card.className = `${cr.bg} ${cr.border} border rounded-xl p-4 flex items-start gap-3`; + card.innerHTML = inner; + attachF499Handlers(); renderCta(lastData); } - card.querySelector(".f499-yes")?.addEventListener("click", () => setF499Status("file")); - card.querySelector(".f499-no")?.addEventListener("click", () => setF499Status("zero")); - card.querySelector(".f499-cancel")?.addEventListener("click", () => setF499Status("cancel")); + + function showF499Result(msg, newStatus) { + check.status = newStatus; + const cm = colorMap[newStatus]; + card.className = `${cm.bg} ${cm.border} border rounded-xl p-4 flex items-start gap-3`; + card.innerHTML = `
${icons[newStatus]}
+
+

${check.label}

+

${msg}

+ +
`; + card.querySelector(".f499-undo")?.addEventListener("click", resetF499); + renderCta(lastData); + } + + function showFollowUp() { + // Follow-up: do they plan to provide telecom services going forward? + const q1 = card.querySelector(".f499-q1"); + if (q1) q1.style.display = "none"; + const followUp = document.createElement("div"); + followUp.className = "mt-3 border-t border-amber-200 pt-3"; + followUp.innerHTML = ` +

Does ${eName} plan to provide telecom services going forward?

+
+ + +
`; + card.querySelector(".flex-1")?.appendChild(followUp); + + followUp.querySelector(".f499-keep")?.addEventListener("click", () => { + showF499Result( + `${eName} had no telecom revenue but wants to keep the filer registration active. A zero-revenue 499-A must be filed for each year with an active filer ID. We can file these for you.`, + "yellow" + ); + }); + followUp.querySelector(".f499-deregister")?.addEventListener("click", () => { + showF499Result( + `${eName} wants to cancel the USAC filer registration. All outstanding 499-A filings must be current first (including zero-revenue returns). We can handle the catch-up filings and submit the cancellation request to USAC on your behalf.`, + "yellow" + ); + }); + } + + function attachF499Handlers() { + card.querySelector(".f499-yes")?.addEventListener("click", () => { + showF499Result( + `${check.detail}\n${eName} had telecom revenue — filing is required for each missed year.`, + "red" + ); + }); + card.querySelector(".f499-no")?.addEventListener("click", showFollowUp); + } + attachF499Handlers(); } checksContainer.appendChild(card);