fix: recommendedServices undefined in yellow-only CTA (caused 'length' error on DOTs with 0 red issues)

This commit is contained in:
justin 2026-05-30 20:29:37 -05:00
parent ed45265793
commit efbf849b54

View file

@ -321,35 +321,32 @@ Send reset link
// CTA
var redCount = (s.red || 0);
if (redCount > 0) {
// Map red + yellow checks to recommended service slugs
var recommendedServices = [];
(data.checks || []).forEach(function(c) {
if (c.status === "red") {
if (c.id === "mcs150") recommendedServices.push("mcs150-update");
if (c.id === "insurance_bipd" || c.id === "insurance_cargo") recommendedServices.push("dot-full-compliance");
if (c.id === "insurance_bond") recommendedServices.push("boc3-filing");
if (c.id === "authority") recommendedServices.push("mc-authority");
var recommendedServices = [];
// Map checks to recommended service slugs
(data.checks || []).forEach(function(c) {
if (c.status === "yellow" || c.status === "red") {
if (c.id === "irp") recommendedServices.push("irp-registration");
if (c.id === "ifta") recommendedServices.push("ifta-application");
if (c.id === "weight_distance_tax") {
if (data.phy_state === "OR") recommendedServices.push("or-weight-mile-tax");
else if (data.phy_state === "NY") recommendedServices.push("ny-hut-registration");
else if (data.phy_state === "KY") recommendedServices.push("ky-kyu-registration");
else if (data.phy_state === "NM") recommendedServices.push("nm-weight-distance");
else if (data.phy_state === "CT") recommendedServices.push("ct-highway-use-fee");
}
// State-level yellow checks → recommend state services
if (c.status === "yellow") {
if (c.id === "irp") recommendedServices.push("irp-registration");
if (c.id === "ifta") recommendedServices.push("ifta-application");
if (c.id === "weight_distance_tax") {
if (data.phy_state === "OR") recommendedServices.push("or-weight-mile-tax");
else if (data.phy_state === "NY") recommendedServices.push("ny-hut-registration");
else if (data.phy_state === "KY") recommendedServices.push("ky-kyu-registration");
else if (data.phy_state === "NM") recommendedServices.push("nm-weight-distance");
else if (data.phy_state === "CT") recommendedServices.push("ct-highway-use-fee");
}
if (c.id === "state_carrier_permit" && data.phy_state === "CA") recommendedServices.push("ca-mcp-carb");
if (c.id === "intrastate_authority") recommendedServices.push("intrastate-authority");
}
});
// Always suggest MCS-150 if overdue
if ((data.checks || []).some(function(c) { return c.id === "mcs150" && c.status === "red"; }) && recommendedServices.indexOf("mcs150-update") < 0) {
recommendedServices.push("mcs150-update");
if (c.id === "state_carrier_permit" && data.phy_state === "CA") recommendedServices.push("ca-mcp-carb");
if (c.id === "intrastate_authority") recommendedServices.push("intrastate-authority");
if (c.id === "corporate_compliance") recommendedServices.push("annual-report-filing");
}
if (c.status === "red") {
if (c.id === "mcs150") recommendedServices.push("mcs150-update");
if (c.id === "insurance_bipd" || c.id === "insurance_cargo") recommendedServices.push("dot-full-compliance");
if (c.id === "insurance_bond") recommendedServices.push("boc3-filing");
if (c.id === "authority") recommendedServices.push("mc-authority");
}
});
if (redCount > 0) {
var svcParam = recommendedServices.length > 0 ? "&services=" + recommendedServices.join(",") : "";
if (hasInsuranceIssue) svcParam += "&ins=1";
if (data.phy_state) svcParam += "&state=" + data.phy_state;