/* global React, ReactDOM, LangSwitcher, Hero, Thesis, Story, Vignette,
   NagrikJourney, Transparency, PilotMap, KarmikFuture, Interest,
   Integrity, Footer */

function App() {
  const [lang, setLang] = React.useState(() => {
    try {
      return localStorage.getItem('1gige.lang') || 'en';
    } catch (e) {
      return 'en';
    }
  });

  React.useEffect(() => {
    document.documentElement.lang = lang;
    try { localStorage.setItem('1gige.lang', lang); } catch (e) {}
  }, [lang]);

  return (
    <React.Fragment>
      <LangSwitcher lang={lang} setLang={setLang} />
      <main>
        <Hero lang={lang} />
        <Thesis lang={lang} />
        <Story lang={lang} />
        <Vignette lang={lang} />
        <NagrikJourney lang={lang} />
        <Transparency lang={lang} />
        <PilotMap lang={lang} />
        <KarmikFuture lang={lang} />
        <Interest lang={lang} />
      </main>
      <Integrity lang={lang} />
      <Footer lang={lang} />
    </React.Fragment>
  );
}

const root = ReactDOM.createRoot(document.getElementById('root'));
root.render(<App />);
