@@ -3,24 +3,55 @@ import logo from './logo.svg';
33import './App.css' ;
44
55import { ThemeProvider } from '../shared/providers/ThemeProvider' ;
6+ import { LangProvider , Content , useLang } from '../shared/providers/LangProvider' ;
67import { ThemeSwitcher } from '../shared/theme-switcher/ThemeSwitcher' ;
8+ import { LangSwitcher } from '../shared/lang-switcher/LangSwitcher' ;
9+
10+ const MainContent = ( ) => {
11+ const content : Content = {
12+ fullname : { ru : 'Игорь Аралов' , en : 'Igor Aralov' } ,
13+ target : {
14+ ru : 'Научиться разрабатывать веб-приложения при помощи React' ,
15+ en : 'Learn to develop web applications using React' ,
16+ } ,
17+ skills : {
18+ ru : 'Профессионально работаю SQL разработчиком уже 10 лет и принимаю участие в разработке десктопного приложения на Delphi' ,
19+ en : 'I have been working professionally as an SQL developer for 10 years and am involved in the development of a desktop application using Delphi.' ,
20+ } ,
21+ hobby : {
22+ ru : 'Интересуюсь фронтенд и фуллстек разработкой на js/ts' ,
23+ en : "I'm interested in frontend and full-stack development using js/ts" ,
24+ } ,
25+ } ;
26+
27+ const { useContent } = useLang ( ) ;
28+ const l = useContent ( content ) ;
29+
30+ return (
31+ < >
32+ < h1 > { l ( 'fullname' ) } (
[email protected] )
</ h1 > 33+ < p > { l ( 'target' ) } </ p >
34+ < p > { l ( 'skills' ) } </ p >
35+ < p > { l ( 'hobby' ) } </ p >
36+ </ >
37+ ) ;
38+ } ;
739
840function App ( ) {
941 return (
1042 < ThemeProvider >
11- < div className = "App" >
12- < header className = "App-header" >
13- < ThemeSwitcher />
14- < img src = { logo } className = "App-logo" alt = "logo" />
15- < h1 > Игорь Аралов (
[email protected] )
</ h1 > 16- < p > Научиться разрабатывать веб-приложения при помощи React</ p >
17- < p >
18- Профессионально работаю SQL разработчиком уже 10 лет и принимаю участие в разработке десктопного приложения
19- на Delphi
20- </ p >
21- < p > Интересуюсь фронтенд и фуллстек разработкой на js/ts</ p >
22- </ header >
23- </ div >
43+ < LangProvider >
44+ < div className = "App" >
45+ < header className = "App-header" >
46+ < div className = "App-nav" >
47+ < ThemeSwitcher />
48+ < LangSwitcher />
49+ </ div >
50+ < img src = { logo } className = "App-logo" alt = "logo" />
51+ < MainContent />
52+ </ header >
53+ </ div >
54+ </ LangProvider >
2455 </ ThemeProvider >
2556 ) ;
2657}
0 commit comments