@@ -91,7 +91,8 @@ export function FeedDirectory({
9191 }
9292 return categoryOrder
9393 . filter ( ( cat ) => cat !== "informational" && ( counts [ cat ] ?? 0 ) > 0 )
94- . map ( ( cat ) => ( { category : cat , count : counts [ cat ] ! } ) ) ;
94+ . map ( ( cat ) => ( { category : cat , count : counts [ cat ] ! } ) )
95+ . sort ( ( a , b ) => b . count - a . count ) ;
9596 } , [ regionAlerts ] ) ;
9697
9798 const topAuthorities = useMemo ( ( ) => {
@@ -170,12 +171,12 @@ export function FeedDirectory({
170171 { /* Header */ }
171172 < div className = "border-b border-siem-border/80 px-4 py-3" >
172173 < div className = "flex items-center justify-between" >
173- < div className = "flex items-center gap-2 text-3xs uppercase tracking-[0.2em] text-siem-muted" >
174- < Radar size = { 10 } />
174+ < div className = "flex items-center gap-1.5 text-4xs uppercase tracking-[0.2em] text-siem-muted" >
175+ < Radar size = { 9 } />
175176 { regionFilter === "all" ? "Global Overview" : regionFilter . startsWith ( "country:" ) ? regionFilter . slice ( 8 ) : regionFilter }
176177 </ div >
177178 { severityFilter && (
178- < span className = "rounded border border-siem-accent/40 bg-siem-accent/10 px-1.5 py-0.5 text-3xs uppercase tracking-[0.14em] text-siem-accent" >
179+ < span className = "rounded border border-siem-accent/40 bg-siem-accent/10 px-1 py-px text-4xs uppercase tracking-[0.14em] text-siem-accent" >
179180 { severityFilter }
180181 </ span >
181182 ) }
@@ -206,29 +207,29 @@ export function FeedDirectory({
206207 : "bg-siem-panel-strong hover:bg-siem-accent/8"
207208 } `}
208209 >
209- < div className = { `text-xs font-bold tabular-nums ${ card . tone } ` } > { card . value } </ div >
210- < div className = "text-3xs uppercase tracking-[0.1em] text-siem-muted" > { card . label } </ div >
210+ < div className = { `text-2xs font-bold tabular-nums ${ card . tone } ` } > { card . value } </ div >
211+ < div className = "text-4xs uppercase tracking-[0.1em] text-siem-muted" > { card . label } </ div >
211212 </ button >
212213 ) ) }
213214 < div className = "flex flex-col items-center py-1.5 bg-siem-panel-strong" >
214- < div className = "text-xs font-bold tabular-nums text-siem-accent" > { zoneSummary . countries } </ div >
215- < div className = "text-3xs uppercase tracking-[0.1em] text-siem-muted" > Ctry</ div >
215+ < div className = "text-2xs font-bold tabular-nums text-siem-accent" > { zoneSummary . countries } </ div >
216+ < div className = "text-4xs uppercase tracking-[0.1em] text-siem-muted" > Ctry</ div >
216217 </ div >
217218 < div className = "flex flex-col items-center py-1.5 bg-siem-panel-strong" >
218- < div className = "text-xs font-bold tabular-nums text-emerald-300" > { zoneSummary . feeds } </ div >
219- < div className = "text-3xs uppercase tracking-[0.1em] text-siem-muted" > Feeds</ div >
219+ < div className = "text-2xs font-bold tabular-nums text-emerald-300" > { zoneSummary . feeds } </ div >
220+ < div className = "text-4xs uppercase tracking-[0.1em] text-siem-muted" > Feeds</ div >
220221 </ div >
221222 </ div >
222223
223224 { /* ── Category breakdown ──────────────────────────────────── */ }
224225 < div >
225226 < div className = "mb-1 flex items-center justify-between" >
226- < span className = "text-3xs uppercase tracking-[0.16em] text-siem-muted" > Categories</ span >
227+ < span className = "text-4xs uppercase tracking-[0.16em] text-siem-muted" > Categories</ span >
227228 { categoryFilter !== "all" && (
228229 < button
229230 type = "button"
230231 onClick = { ( ) => onSelectCategory ( "all" ) }
231- className = "text-3xs uppercase tracking-[0.12em] text-siem-accent hover:text-siem-text transition-colors"
232+ className = "text-4xs uppercase tracking-[0.12em] text-siem-accent hover:text-siem-text transition-colors"
232233 >
233234 Clear
234235 </ button >
@@ -247,26 +248,26 @@ export function FeedDirectory({
247248 } `}
248249 >
249250 < span
250- className = { `inline-flex items-center px-1 py-px text-3xs font-semibold uppercase tracking-wider rounded border leading-tight ${ categoryBadge [ category ] } ` }
251+ className = { `inline-flex items-center px-0.5 text-4xs font-semibold uppercase tracking-wider rounded border leading-tight ${ categoryBadge [ category ] } ` }
251252 >
252253 { categoryLabels [ category ] }
253254 </ span >
254- < span className = "text-3xs tabular-nums text-siem-muted" > { count } </ span >
255+ < span className = "text-4xs tabular-nums text-siem-muted" > { count } </ span >
255256 </ button >
256257 ) ) }
257258 </ div >
258259 </ div >
259260
260261 { /* ── Top authorities ──────────────────────────────────────── */ }
261262 < div >
262- < div className = "mb-1 flex items-center gap-1 text-3xs uppercase tracking-[0.16em] text-siem-muted" >
263- < TrendingUp size = { 8 } />
263+ < div className = "mb-1 flex items-center gap-1 text-4xs uppercase tracking-[0.16em] text-siem-muted" >
264+ < TrendingUp size = { 7 } />
264265 Authorities
265266 { selectedSourceIds . length > 0 && (
266267 < button
267268 type = "button"
268269 onClick = { ( ) => onSelectSourceIdsChange ( [ ] ) }
269- className = "ml-auto text-3xs uppercase tracking-[0.12em] text-siem-accent hover:text-siem-text transition-colors"
270+ className = "ml-auto text-4xs uppercase tracking-[0.12em] text-siem-accent hover:text-siem-text transition-colors"
270271 >
271272 Clear
272273 </ button >
@@ -281,7 +282,7 @@ export function FeedDirectory({
281282 key = { auth . sourceId }
282283 type = "button"
283284 onClick = { ( ) => toggleSource ( auth . sourceId ) }
284- className = { `w-full flex items-center justify-between gap-1.5 rounded px-1.5 py-[3px] text-left text-3xs transition-colors ${
285+ className = { `w-full flex items-center justify-between gap-1.5 rounded px-1.5 py-[3px] text-left text-4xs transition-colors ${
285286 selectedSourceIds . includes ( auth . sourceId )
286287 ? "bg-siem-accent/14 text-siem-text"
287288 : "text-siem-text hover:bg-siem-accent/8"
@@ -299,14 +300,14 @@ export function FeedDirectory({
299300
300301 { /* ── Top countries ───────────────────────────────────────── */ }
301302 < div >
302- < div className = "mb-1 text-3xs uppercase tracking-[0.16em] text-siem-muted" > Countries</ div >
303+ < div className = "mb-1 text-4xs uppercase tracking-[0.16em] text-siem-muted" > Countries</ div >
303304 < div className = "space-y-px" >
304305 { countryCounts . map ( ( c ) => (
305306 < button
306307 key = { c . code }
307308 type = "button"
308309 onClick = { ( ) => onSelectCountry ( c . code ) }
309- className = { `flex w-full items-center justify-between gap-1.5 rounded px-1.5 py-[3px] text-left text-3xs transition-colors ${
310+ className = { `flex w-full items-center justify-between gap-1.5 rounded px-1.5 py-[3px] text-left text-4xs transition-colors ${
310311 regionFilter === `country:${ c . code } `
311312 ? "bg-siem-accent/14 text-siem-text"
312313 : "text-siem-text hover:bg-siem-accent/8"
@@ -325,10 +326,10 @@ export function FeedDirectory({
325326
326327 { snapshotStatus && (
327328 < div className = "border-t border-siem-border/80 px-3 py-2" >
328- < div className = { `text-3xs uppercase tracking-[0.16em] ${ snapshotStatus . tone } ` } >
329+ < div className = { `text-4xs uppercase tracking-[0.16em] ${ snapshotStatus . tone } ` } >
329330 Data snapshot: { snapshotStatus . relative }
330331 </ div >
331- < div className = "mt-0.5 text-3xs text-siem-muted" >
332+ < div className = "mt-0.5 text-4xs text-siem-muted" >
332333 Last collector update: { snapshotStatus . exact }
333334 </ div >
334335 </ div >
0 commit comments