export const STATUS_CONFIG: Record<string, { emoji: string; label: string; color: string }> = {
	angefragt: { emoji: '\ud83d\udcdd', label: 'Angefragt', color: 'bg-blue-100 text-blue-800' },
	beantwortet: { emoji: '\u2705', label: 'Beantwortet', color: 'bg-green-100 text-green-800' },
	offen: { emoji: '\u23f3', label: 'Offen', color: 'bg-yellow-100 text-yellow-800' },
	abgewiegelt: { emoji: '\u26a0\ufe0f', label: 'Abgewiegelt', color: 'bg-orange-100 text-orange-800' },
	versandet: { emoji: '\ud83d\udc80', label: 'Versandet', color: 'bg-red-100 text-red-800' },
	zur\u00fcckgezogen: { emoji: '\ud83d\udd19', label: 'Zur\u00fcckgezogen', color: 'bg-gray-100 text-gray-800' },
	eingereicht: { emoji: '\ud83d\udcdd', label: 'Eingereicht', color: 'bg-blue-100 text-blue-800' },
	in_beratung: { emoji: '\ud83d\udd04', label: 'In Beratung', color: 'bg-indigo-100 text-indigo-800' },
	vertagt: { emoji: '\u23f8\ufe0f', label: 'Vertagt', color: 'bg-amber-100 text-amber-800' },
	verwiesen: { emoji: '\u21aa\ufe0f', label: 'Verwiesen', color: 'bg-purple-100 text-purple-800' },
	beschlossen: { emoji: '\ud83d\udccb', label: 'Beschlossen', color: 'bg-teal-100 text-teal-800' },
	umgesetzt: { emoji: '\u2705', label: 'Umgesetzt', color: 'bg-green-100 text-green-800' },
	teilweise_umgesetzt: { emoji: '\ud83d\udd36', label: 'Teilw. umgesetzt', color: 'bg-lime-100 text-lime-800' },
	abgelehnt: { emoji: '\u274c', label: 'Abgelehnt', color: 'bg-red-100 text-red-800' },
	still_uebernommen: { emoji: '\ud83d\udd04\u2728', label: 'Still \u00fcbernommen', color: 'bg-pink-100 text-pink-800' },
};

export function statusInfo(status: string | null) {
	if (!status) return { emoji: '\u2753', label: 'Unbekannt', color: 'bg-gray-100 text-gray-600' };
	return STATUS_CONFIG[status] ?? { emoji: '\u2753', label: status, color: 'bg-gray-100 text-gray-600' };
}

export const TYP_LABELS: Record<string, string> = {
	antrag: 'Antrag',
	anfrage: 'Anfrage',
	stellungnahme: 'Stellungnahme',
	bericht: 'Bericht',
};

export function typLabel(typ: string | null): string {
	if (!typ) return 'Unbekannt';
	return TYP_LABELS[typ] ?? typ;
}

export function formatDate(d: string | null): string {
	if (!d) return '\u2013';
	try {
		return new Date(d).toLocaleDateString('de-DE', { day: '2-digit', month: '2-digit', year: 'numeric' });
	} catch {
		return d;
	}
}
