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) <noreply@anthropic.com>
This commit is contained in:
justin 2026-05-31 17:40:48 -05:00
parent d3bf5b3520
commit 07e2f34608

View file

@ -48,7 +48,7 @@ Sign out
<div style="background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:16px">
<div style="font-size:22px;margin-bottom:6px">&#128203;</div>
<div style="font-size:13px;font-weight:700;color:#fff;margin-bottom:4px">Specialized in trucking compliance</div>
<div style="font-size:12px;color:#94a3b8;line-height:1.5">MCS-150, BOC-3, UCR, IFTA/IRP, authority filings and more. This is all we do.</div>
<div style="font-size:12px;color:#94a3b8;line-height:1.5">MCS-150, BOC-3, UCR, IFTA/IRP, operating authority and more &mdash; filed correctly the first time.</div>
</div>
<div style="background:rgba(255,255,255,0.06);border:1px solid rgba(255,255,255,0.1);border-radius:10px;padding:16px">
<div style="font-size:22px;margin-bottom:6px">&#9889;</div>
@ -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");