admin / SAynapse-Horizon
publicSelf Hosted Cyber Threat Intelligence Hub
SAynapse-Horizon / Synapse-Horizon / src / utils / theme.js
2149 B · main
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 | // Restrained SOC alerting palette. Full class strings are declared statically so // Tailwind's JIT scanner keeps them in the build. export const SEVERITY_META = { critical: { label: 'CRITICAL', badge: 'bg-rose-500/15 text-rose-300 ring-1 ring-inset ring-rose-500/40', dot: 'bg-rose-500', bar: 'bg-rose-500', row: 'hover:bg-rose-500/[0.06]', text: 'text-rose-300', rank: 4, }, high: { label: 'HIGH', badge: 'bg-amber-500/15 text-amber-300 ring-1 ring-inset ring-amber-500/40', dot: 'bg-amber-500', bar: 'bg-amber-500', row: 'hover:bg-amber-500/[0.05]', text: 'text-amber-300', rank: 3, }, medium: { label: 'MEDIUM', badge: 'bg-sky-500/15 text-sky-300 ring-1 ring-inset ring-sky-500/40', dot: 'bg-sky-500', bar: 'bg-sky-500', row: 'hover:bg-sky-500/[0.05]', text: 'text-sky-300', rank: 2, }, low: { label: 'LOW', badge: 'bg-slate-500/15 text-slate-300 ring-1 ring-inset ring-slate-500/40', dot: 'bg-slate-500', bar: 'bg-slate-500', row: 'hover:bg-slate-500/[0.04]', text: 'text-slate-300', rank: 1, }, } export const severityMeta = (sev) => SEVERITY_META[sev] || SEVERITY_META.low // Source tag chip colours, keyed to the accent declared in sources.js. export const ACCENT_CHIP = { rose: 'bg-rose-500/10 text-rose-300 ring-1 ring-inset ring-rose-500/30', amber: 'bg-amber-500/10 text-amber-300 ring-1 ring-inset ring-amber-500/30', sky: 'bg-sky-500/10 text-sky-300 ring-1 ring-inset ring-sky-500/30', emerald: 'bg-emerald-500/10 text-emerald-300 ring-1 ring-inset ring-emerald-500/30', slate: 'bg-slate-500/10 text-slate-300 ring-1 ring-inset ring-slate-500/30', } export const accentChip = (accent) => ACCENT_CHIP[accent] || ACCENT_CHIP.slate /** Confidence buckets → colour, for the drill-down meter. */ export function confidenceMeta(score) { if (score >= 85) return { text: 'text-emerald-300', bar: 'bg-emerald-500', label: 'High' } if (score >= 60) return { text: 'text-amber-300', bar: 'bg-amber-500', label: 'Moderate' } return { text: 'text-slate-300', bar: 'bg-slate-400', label: 'Low' } } |