From 07e2f3460833ed2303d2e5b18981410eba6e5c69 Mon Sep 17 00:00:00 2001 From: justin Date: Sun, 31 May 2026 17:40:48 -0500 Subject: [PATCH] dot-compliance: mutually-exclusive service conflicts + hero copy/layout - Auto-uncheck conflicting services: closing-down (carrier-closeout, entity- dissolution) vs any operational filing; new USDOT vs reactivation; new USDOT vs MCS-150 update. - Hero: removed 'this is all we do' (we also do telecom); 4-col grid. Co-Authored-By: Claude Opus 4.8 (1M context) --- site/public/order/dot-compliance/index.html | 33 +++++++++++++++++++-- 1 file changed, 30 insertions(+), 3 deletions(-) diff --git a/site/public/order/dot-compliance/index.html b/site/public/order/dot-compliance/index.html index 9a7e915..81377d8 100644 --- a/site/public/order/dot-compliance/index.html +++ b/site/public/order/dot-compliance/index.html @@ -48,7 +48,7 @@ Sign out
📋
Specialized in trucking compliance
-
MCS-150, BOC-3, UCR, IFTA/IRP, authority filings and more. This is all we do.
+
MCS-150, BOC-3, UCR, IFTA/IRP, operating authority and more — filed correctly the first time.
@@ -559,8 +559,35 @@ document.querySelectorAll("input[data-bundle]").forEach(function(bundleCb) { }); }); }); -// Reverse: checking an individual component unchecks the bundle if all components are now selected individually -// (optional — skip for simplicity, the bundle is always a better deal) +// ── Mutual-exclusion: auto-uncheck conflicting services ────────────────── +// Closing-down services can't coexist with services that keep you operating. +var CLOSEOUT_SLUGS = ["carrier-closeout", "entity-dissolution"]; +// Directly contradictory pairs — pick one, not both. +var EXCLUSIVE_PAIRS = [ + ["dot-registration", "usdot-reactivation"], // brand-new USDOT vs reactivating an existing one + ["dot-registration", "mcs150-update"], // a new registration IS the first MCS-150; updates are for existing carriers +]; + +function applyConflicts(changedCb) { + if (!changedCb.checked) return; + var slug = changedCb.dataset.slug; + var isCloseout = CLOSEOUT_SLUGS.indexOf(slug) >= 0; + document.querySelectorAll("input[data-slug]:checked").forEach(function(other) { + if (other === changedCb) return; + var os = other.dataset.slug; + // 1) closing-down vs staying-in-business are mutually exclusive + if (isCloseout !== (CLOSEOUT_SLUGS.indexOf(os) >= 0)) { other.checked = false; return; } + // 2) explicit contradictory pairs + for (var i = 0; i < EXCLUSIVE_PAIRS.length; i++) { + var p = EXCLUSIVE_PAIRS[i]; + if ((p[0] === slug && p[1] === os) || (p[1] === slug && p[0] === os)) { other.checked = false; return; } + } + }); +} + +document.querySelectorAll("input[data-slug]").forEach(function(cb) { + cb.addEventListener("change", function() { applyConflicts(cb); updateTotal(); }); +}); // Checkbox change → update total var totalSection = document.getElementById("pw-total-section");