diff --git a/frontend/src/features/threat-intel/components/MatchOverviewCard.tsx b/frontend/src/features/threat-intel/components/MatchOverviewCard.tsx
index 6425f52a9..d933c0eef 100644
--- a/frontend/src/features/threat-intel/components/MatchOverviewCard.tsx
+++ b/frontend/src/features/threat-intel/components/MatchOverviewCard.tsx
@@ -15,6 +15,9 @@ const TYPE_FAMILIES: Record<'ip' | 'url' | 'domain' | 'signatures', string[]> =
],
}
+const compact = (n: number) =>
+ n.toLocaleString(undefined, { notation: 'compact', maximumFractionDigits: 1 })
+
// Show time-of-day for sub-day intervals, date for day+ intervals.
function formatTs(ts: number, interval: string): string {
const perDay = /min|hour|^[0-9]+[mh]$/i.test(interval)
@@ -100,8 +103,11 @@ export function MatchOverviewCard({ body, interval }: MatchOverviewCardProps) {
{t('threatIntel.overview.title')}
-
- {query.isPending ? '—' : total.toLocaleString()}
+
+ {query.isPending ? '—' : compact(total)}
{t('threatIntel.overview.totalIndicators')}
@@ -116,8 +122,11 @@ export function MatchOverviewCard({ body, interval }: MatchOverviewCardProps) {
{t(`threatIntel.overview.families.${family}`, { defaultValue: family })}
-
- {query.isPending ? '—' : familyCounts[family].toLocaleString()}
+
+ {query.isPending ? '—' : compact(familyCounts[family])}
))}
diff --git a/frontend/src/features/threat-intel/components/ThreatIntelHeader.tsx b/frontend/src/features/threat-intel/components/ThreatIntelHeader.tsx
index 3bfa5520b..8b8f02ba1 100644
--- a/frontend/src/features/threat-intel/components/ThreatIntelHeader.tsx
+++ b/frontend/src/features/threat-intel/components/ThreatIntelHeader.tsx
@@ -1,5 +1,5 @@
import { useTranslation } from 'react-i18next'
-import { Download } from 'lucide-react'
+import { Download, Info } from 'lucide-react'
import { Button } from '@/shared/components/ui/button'
export interface ThreatIntelHeaderProps {
@@ -7,15 +7,33 @@ export interface ThreatIntelHeaderProps {
onRefresh?: () => void
onExport?: () => void
isExporting?: boolean
+ noInstanceIocs?: boolean
}
-export function ThreatIntelHeader({ matchedCount, onExport, isExporting }: ThreatIntelHeaderProps) {
+export function ThreatIntelHeader({ matchedCount, onExport, isExporting, noInstanceIocs }: ThreatIntelHeaderProps) {
const { t } = useTranslation()
const canExport = !!onExport && !!matchedCount && !isExporting
return (