// i18n — TR/EN language context with SEO-aware document.title and meta
// description sync. Components read their own STRINGS via useLang() + pick().

const LangContext = React.createContext({ lang: 'tr', setLang: () => {} });

// SEO copy for <title> and <meta name="description"> — swapped on lang change.
const SEO = {
  tr: {
    title: "Datakor · Sakarya Siber Güvenlik, Sunucu & Mail Sunucu Kurulumu, Yönetilen IT, CCTV & PDKS | Bitdefender · WatchGuard · Narbulut Yetkili İş Ortağı",
    description: "Datakor — Sakarya merkezli kurumsal siber güvenlik, sunucu ve mail sunucu kurulumu, yönetilen IT desteği, 3-2-1 yedekleme ve fiziksel güvenlik çözümleri. Bitdefender endpoint, WatchGuard firewall/VPN, Narbulut bulut yedekleme yetkili iş ortağı. CCTV kamera, hırsızlık & yangın alarmı, PDKS personel devam kontrol. Bilgim Grup markasıdır. ☎ 0264 777 11 88 · bilgi@datakor.com.tr",
  },
  en: {
    title: "Datakor · Cybersecurity, Server & Mail Server Installation, Managed IT, CCTV & Time-Attendance for Sakarya, Turkey | Bitdefender · WatchGuard · Narbulut Authorized Partner",
    description: "Datakor — corporate cybersecurity, server and mail server deployment, managed IT, 3-2-1 backup and physical security for businesses in Sakarya. Authorized partner for Bitdefender endpoint, WatchGuard firewall/VPN, Narbulut cloud backup. CCTV, burglar & fire alarms, PDKS time-attendance. A Bilgim Group company. ☎ +90 264 777 11 88 · bilgi@datakor.com.tr",
  },
};

function LangProvider({ children }) {
  const [lang, setLangState] = React.useState(() => {
    try {
      const saved = localStorage.getItem('datakor-lang');
      if (saved === 'tr' || saved === 'en') return saved;
      // Auto-detect from browser, fallback TR
      const nav = (navigator.language || 'tr').toLowerCase();
      return nav.startsWith('tr') ? 'tr' : (nav.startsWith('en') ? 'en' : 'tr');
    } catch { return 'tr'; }
  });

  const setLang = React.useCallback((l) => {
    setLangState(l);
    try { localStorage.setItem('datakor-lang', l); } catch {}
  }, []);

  // Sync <html lang>, document.title, meta description, og:locale, og tags
  React.useEffect(() => {
    document.documentElement.lang = lang;
    const seo = SEO[lang] || SEO.tr;
    document.title = seo.title;

    const setMeta = (sel, val) => {
      const el = document.querySelector(sel);
      if (el) el.setAttribute('content', val);
    };
    setMeta('meta[name="description"]', seo.description);
    setMeta('meta[property="og:title"]', seo.title);
    setMeta('meta[property="og:description"]', seo.description);
    setMeta('meta[property="og:locale"]', lang === 'tr' ? 'tr_TR' : 'en_US');
    setMeta('meta[property="og:locale:alternate"]', lang === 'tr' ? 'en_US' : 'tr_TR');
    setMeta('meta[name="twitter:title"]', seo.title);
    setMeta('meta[name="twitter:description"]', seo.description);
    setMeta('meta[http-equiv="Content-Language"]', lang);
  }, [lang]);

  return (
    <LangContext.Provider value={{ lang, setLang }}>
      {children}
    </LangContext.Provider>
  );
}

const useLang = () => React.useContext(LangContext);
const pick = (bundle, lang) => (bundle && bundle[lang]) || (bundle && bundle.tr) || '';

// Shared brand constants
const DK_CONTACT = {
  phone:         '0264 777 11 88',
  phoneIntl:     '+902647771188',
  email:         'bilgi@datakor.com.tr',
  whatsappPhone: '0533 561 16 11',
  whatsappIntl:  '+905335611611',
  whatsapp:      'https://wa.me/905335611611',
  address: {
    line: 'Cumhuriyet Mah. Dr. Nuri Bayar Cad. 47/B',
    city: 'Adapazarı, Sakarya',
    postal: '54100',
  },
  hoursTr: 'Pzt – Cmt · 08:30 – 19:00',
  hoursEn: 'Mon – Sat · 08:30 – 19:00',
  parent:    { name: 'Bilgim Kurumsal Hizmetler', url: 'https://www.bilgim.com.tr/' },
};

Object.assign(window, { LangContext, LangProvider, useLang, pick, DK_CONTACT, SEO });
