// Der zuletzt benutzte Anzeigename (Spec § 4): Der Veröffentlichen-Dialog und der Dialog „Logo hochladen“ lesen und schreiben // denselben Schlüssel in localStorage. Jeder Zugriff steht in try/catch: ist der Speicher gesperrt (z. B. privates Fenster), // bleibt das Feld leer und der Name wird nicht gemerkt, ohne dass etwas scheitert. export const DISPLAY_NAME_KEY = 'aircard.displayName'; /** Der gemerkte Anzeigename; leer, wenn keiner gemerkt ist oder der Speicher nicht lesbar ist. */ export function rememberedDisplayName(): string { try { return localStorage.getItem(DISPLAY_NAME_KEY) ?? ''; } catch { return ''; } } /** Merkt den Anzeigenamen (getrimmt); ein leerer Name („Anonym“) entfernt den gemerkten. */ export function rememberDisplayName(name: string): void { const trimmed = name.trim(); try { if (trimmed === '') localStorage.removeItem(DISPLAY_NAME_KEY); else localStorage.setItem(DISPLAY_NAME_KEY, trimmed); } catch { // Gesperrt oder voll: der Name wird dann nur nicht gemerkt. } }