Files
streaming-landing1/src/App.tsx
T
2022-09-21 18:07:31 +05:00

103 lines
2.5 KiB
TypeScript

import "./index.css";
import "./App.css"
import { Route, Switch } from "react-router-dom";
import React, { useEffect, useState } from "react";
import AOS from "aos";
import "aos/dist/aos.css";
import { Main } from "./components/main/main";
import { Header } from "./components/header/header";
import { Footer } from "./components/footer/footer";
import { Demostration } from "./components/demonstration/demonstartion";
import textRU from "./utils/textRU"
import textEN from "./utils/textEN";
export type TObjct = {
calendar: boolean;
timePicker: boolean;
form: boolean;
confirm: boolean;
};
export const App: React.FC = () => {
const [language, setLanguage] = useState<any>("");
const [text, setText] = useState(textRU);
const savedLanguage = localStorage.getItem('savedLang')
useEffect(() => {
if (savedLanguage !== null) {
setSavedLanguage()
} else {
setInitialLanguage()
}
}, []);
function setSavedLanguage() {
if (savedLanguage === 'RU') {
setLanguage('RU')
localStorage.setItem("lang", 'RU')
setText(textRU)
} else if (savedLanguage === 'EN') {
setLanguage('EN')
localStorage.setItem("lang", 'EN')
setText(textEN)
}
}
function setInitialLanguage() {
if (window.navigator.language === 'ru') {
setLanguage('RU')
localStorage.setItem("lang", 'RU')
setText(textRU)
} else {
setLanguage('EN')
setText(textEN)
}
}
function changeLanguage(language: string) {
if (language === 'RU') {
setLanguage(language);
setText(textRU)
localStorage.setItem('savedLang', 'RU');
localStorage.setItem("lang", 'RU')
} else {
setLanguage('EN')
localStorage.setItem("lang", 'EN')
localStorage.setItem("savedLang", 'EN')
setText(textEN)
}
}
AOS.init({
once: true,
});
return (
<Switch>
<Route path="/" exact>
<div className='App'>
<Header text={text.footer} language={language} changeLanguage={changeLanguage}></Header>
<Main locale={language} text={text}></Main>
<Footer language={language} text={text.footer}></Footer>
</div>
</Route>
<Route exact path="/demos">
<div className='App'>
<main className="main">
<Header text={text.footer} language={language} changeLanguage={changeLanguage}></Header>
<Demostration text={text.demos}></Demostration>
</main>
</div>
</Route>
</Switch>
);
};
export default App;