// Quick City — Shared React components const { useState, useEffect } = React; /* ───────── i18n hook ───────── */ function useT() { const [lang, setLang] = useState(() => (window.QCI18N ? window.QCI18N.getLang() : 'de')); useEffect(() => { const handler = (e) => setLang(e.detail.lang); window.addEventListener('qc-lang-change', handler); return () => window.removeEventListener('qc-lang-change', handler); }, []); // Translator function — falls back to provided default, then to the key const t = (key, fallback) => { if (!window.QCI18N) return fallback !== undefined ? fallback : key; const v = window.QCI18N.t(key); if (v === key && fallback !== undefined) return fallback; return v; }; return { t, lang, setLang: (l) => window.QCI18N && window.QCI18N.setLang(l) }; } function LangSwitcher() { const { lang, setLang } = useT(); const langs = ['de', 'en', 'tr']; return (