export const CREDIBILITY_META: Record = { HIGH: { label: 'Hohe Quellenqualität', color: '#1a7a4a' }, MEDIUM: { label: 'Mittlere Quellenqualität', color: '#d97706' }, LOW: { label: 'Niedrige Quellenqualität', color: '#c0392b' }, } export const SENSITIVITY_META: Record = { CONFIDENTIAL: { label: 'Vertraulich', color: 'error' }, INTERNAL: { label: 'Intern', color: 'warning' }, PUBLIC: { label: 'Öffentlich', color: 'default' }, } export const RISK_META: Record = { LOW: { label: 'Niedrig', color: '#1a7a4a' }, MEDIUM: { label: 'Mittel', color: '#d97706' }, HIGH: { label: 'Hoch', color: '#c0392b' }, CRITICAL: { label: 'Kritisch', color: '#7f1d1d' }, } export function ageLabel(isoDate: string): string { const diffMs = Date.now() - new Date(isoDate).getTime() const days = Math.floor(diffMs / 86400000) if (days < 1) return 'Heute erkannt' if (days < 7) return `Vor ${days} Tag${days === 1 ? '' : 'en'} erkannt` if (days < 30) return `Vor ${Math.floor(days / 7)} Woche${Math.floor(days / 7) === 1 ? '' : 'n'} erkannt` if (days < 365) return `Vor ${Math.floor(days / 30)} Monat${Math.floor(days / 30) === 1 ? '' : 'en'} erkannt` return `Vor ${Math.floor(days / 365)} Jahr${Math.floor(days / 365) === 1 ? '' : 'en'} erkannt` } export function domainLabel(url: string): string { try { const u = new URL(url) return u.hostname.replace(/^www\./, '') } catch { return url.length > 60 ? url.slice(0, 57) + '…' : url } }