const STAMP_COLOR: Record = { 0: 'var(--color-stamp-0)', 1: 'var(--color-stamp-1)', 2: 'var(--color-stamp-2)', 3: 'var(--color-stamp-3)', 4: 'var(--color-stamp-4)', 5: 'var(--color-stamp-5)', } export function stampColor(level: number): string { return STAMP_COLOR[level] ?? STAMP_COLOR[0]! } /** * Stempelmarke oben rechts am Objekt. Der Stempelcharakter kommt aus dem * schmalen Schnitt, der Rahmenlinie und der Farbe, nicht aus Grossbuchstaben. * Die Stufe steht zusaetzlich als Text, nicht nur als Farbe. * * **Feste Breite.** Die Namen der Stufen sind unterschiedlich lang und im * Adminbereich aenderbar; unterschiedlich breite Marken untereinander lesen * sich als Unordnung, nicht als Unterschied. Ein zu langer Name wird gekuerzt, * die Stufenziffer davor bleibt immer stehen — sie ist die eigentliche * Auskunft. * * `name` kommt aus ClearanceLevelConfig und ist im Adminbereich aenderbar, * deshalb wird er hereingereicht statt aus lib/i18n/de.ts gelesen. */ export function StampMark({ level, name }: { level: number; name: string }) { return ( {level} {name} ) } /** Die 3 px breite Klassifizierungskante links am Objekt. */ export function classificationEdgeStyle(level: number): React.CSSProperties { return { borderLeft: `var(--spacing-edge) solid ${stampColor(level)}` } }