blob: 3a4da841b08693badda657d5437d64775518f709 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
import React, { useState, useEffect } from 'react';
import ReactDOM from 'react-dom';
import "../scss/index.scss";
import TopBar from './TopBar.jsx';
import Info from './Info.jsx';
import MainScreen from './MainScreen.jsx';
import Context from '../context';
import { defaultLanguage } from '../data/translations';
import { getUser } from '../api';
const App = () => {
const [lang, setLang] = useState(defaultLanguage);
const [projects, setProjects] = useState([]);
const [info, setInfo] = useState('');
const [hover, setHover] = useState('');
const [view, setView] = useState('main');
const [user, setUser] = useState(null);
useEffect(() => {
getUser(setUser);
setInfo('no-saved-websites');
}, []);
useEffect(() => {
user && setLang(user.language);
}, [user]);
return (
<Context.Provider value={{ lang, setHover, setInfo }}>
<div className="main">
<TopBar lang={lang} setLang={setLang} user={user} setUser={setUser} />
<div className="main__content">
{ view === 'main' && <MainScreen projects={projects} /> }
</div>
<Info info={info} hover={hover} />
</div>
</Context.Provider>
)
};
ReactDOM.render(<App />, document.getElementById('app'));
|