Skip to content

Commit 2ca4b7e

Browse files
authored
fix(deep-dive): show unknown supplier state in recommendations, not as safe (koala73#2937)
* fix(deep-dive): show unknown supplier state in recommendations, not as safe * fix(deep-dive): use neutral styling for mixed safe+unknown recommendation
1 parent af4502c commit 2ca4b7e

File tree

1 file changed

+15
-2
lines changed

1 file changed

+15
-2
lines changed

src/components/CountryDeepDivePanel.ts

Lines changed: 15 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1844,8 +1844,11 @@ export class CountryDeepDivePanel implements CountryBriefPanel {
18441844
}
18451845

18461846
if (enriched) {
1847-
const hasCritical = enriched.some(e => e.risk.riskLevel === 'critical' || e.risk.riskLevel === 'at_risk');
1848-
if (hasCritical) {
1847+
const hasCritical = enriched.some(e => e.risk.riskLevel === 'critical');
1848+
const hasAtRisk = enriched.some(e => e.risk.riskLevel === 'at_risk');
1849+
const hasUnknown = enriched.some(e => e.risk.riskLevel === 'unknown');
1850+
const hasSafe = enriched.some(e => e.risk.riskLevel === 'safe');
1851+
if (hasCritical || hasAtRisk) {
18491852
for (const exp of enriched) {
18501853
if (exp.risk.riskLevel === 'safe' || exp.risk.riskLevel === 'unknown') continue;
18511854
const recCls = exp.risk.riskLevel === 'critical' ? 'cdp-recommendation-critical' : 'cdp-recommendation-warn';
@@ -1864,6 +1867,16 @@ export class CountryDeepDivePanel implements CountryBriefPanel {
18641867
item.textContent = text;
18651868
recsMount.append(item);
18661869
}
1870+
} else if (hasUnknown && !hasSafe) {
1871+
const item = this.el('div', 'cdp-recommendation-item');
1872+
item.textContent = '\u2139 No modeled maritime route data available for these suppliers. Risk cannot be assessed.';
1873+
recsMount.append(item);
1874+
} else if (hasUnknown && hasSafe) {
1875+
const safeCount = enriched.filter(e => e.risk.riskLevel === 'safe').length;
1876+
const unknownCount = enriched.filter(e => e.risk.riskLevel === 'unknown').length;
1877+
const item = this.el('div', 'cdp-recommendation-item');
1878+
item.textContent = `\u2139 ${safeCount} supplier(s) verified safe. ${unknownCount} supplier(s) have no modeled route data.`;
1879+
recsMount.append(item);
18671880
} else {
18681881
const safeItem = this.el('div', 'cdp-recommendation-item cdp-recommendation-safe');
18691882
safeItem.textContent = '\u2713 All current suppliers use routes that avoid disrupted chokepoints.';

0 commit comments

Comments
 (0)