diff --git a/src/dashboard/app/page.tsx b/src/dashboard/app/page.tsx index de35481..ca116b4 100644 --- a/src/dashboard/app/page.tsx +++ b/src/dashboard/app/page.tsx @@ -596,7 +596,6 @@ export default function Dashboard() { {displayReport.scores && ( setActiveTab('issues')} /> )} diff --git a/src/dashboard/components/CriticalBanner.tsx b/src/dashboard/components/CriticalBanner.tsx index 4aceb8a..bd5523b 100644 --- a/src/dashboard/components/CriticalBanner.tsx +++ b/src/dashboard/components/CriticalBanner.tsx @@ -1,6 +1,6 @@ 'use client' -import { AlertTriangle, CheckCircle } from 'lucide-react' +import { AlertTriangle } from 'lucide-react' import { scoreLevel } from '@/lib/scoreLevel' interface HealthScores { @@ -12,9 +12,8 @@ interface HealthScores { } interface CriticalBannerProps { - scores: HealthScores - findingsCount: number - onViewIssues: () => void + scores: HealthScores + onViewIssues: () => void } const DIM_LABEL: Record = { @@ -25,7 +24,10 @@ const DIM_LABEL: Record = { architecture: 'Architecture', } -export function CriticalBanner({ scores, findingsCount, onViewIssues }: CriticalBannerProps) { +// A dimension scoring in the critical band (≤ 25) is always surfaced as a +// critical alert — a 0/100 security score is critical whether or not there are +// separately-counted findings, so we never soften it into a reassuring banner. +export function CriticalBanner({ scores, onViewIssues }: CriticalBannerProps) { const criticalDims = (Object.keys(scores) as (keyof HealthScores)[]) .filter(k => scoreLevel(scores[k]) === 'critical') @@ -35,24 +37,6 @@ export function CriticalBanner({ scores, findingsCount, onViewIssues }: Critical .map(d => `${DIM_LABEL[d]}: ${scores[d]}/100`) .join(' · ') - const hasFindings = findingsCount > 0 - - if (!hasFindings) { - return ( -
-
- ) - } - return (