1
import { format } from 'date-fns';
2
import { Component } from 'solid-js';
14
import { Button, useTheme } from '@uikit';
15
import { additionalData, chipListData, educationData, headerData, skillData, workExperienceData } from '@shared/data';
16
import { formatTotalWorkExperience } from '@shared/formatTotalWorkExperience';
17
import { createThemeInvoker } from '@shared/themeInvoker';
18
import styles from './App.module.sass';
19
import 'normalize.css';
21
const appThemeInvoker = createThemeInvoker(styles, 'App');
22
const createDateThemeInvoker = createThemeInvoker(styles, 'CreateDate');
24
const App: Component = () => {
25
const { globalTheme } = useTheme();
29
classList={{ [styles.App]: true, [appThemeInvoker[globalTheme()]]: true }}
31
<div class={styles.AppWrapper}>
32
<Header description={headerData.description} title={headerData.title} faceSrc={headerData.faceSrc} />
34
<div class={styles.MainWrapper}>
37
<ChipList data={chipListData} />
39
<Section title="🛠️ Навыки">
40
<SkillList data={skillData} />
43
title={`💼 Опыт работы:
44
${formatTotalWorkExperience(workExperienceData)}`}
46
<JobList data={workExperienceData} />
48
<Section title="🎓 Образование" avoidBreak>
49
<EducationList data={educationData} />
51
{/* <Section title="📜 Сертификаты"></Section> */}
52
<Section title="📝 Дополнительно">
53
<AdditionalList data={additionalData} />
55
text="А программирование в принципе — если вы ленивы настолько,
56
что готовы работать сутки,
57
чтобы потом компьютер сделал вашу работу за минуту."
58
source="Программист: зарплата, что делает, как стать и где учиться"
59
link="https://journal.tinkoff.ru/programmer/"
62
text="... Этот вариант грустный, и обычно он является следствием
63
того, что человек, не верит в свои силы или находится в
64
плену у лени. Веру в себя — это к психологу, а с ленью нужно
66
source="Список вопросов и ответов для собеседования javascript разработчиков"
67
link="hhttps://maxpfrontend.ru/vebinary/voprosy-dlya-sobesedovaniya-javascript-razrabotchika/"
70
text="Ты то, что ты ешь"
79
[styles.CreateDate]: true,
80
[createDateThemeInvoker[globalTheme()]]: true,
83
Резюме создано <time>{format(new Date(), 'dd.MM.yyyy')}</time>
86
<a href="https://www.solidjs.com/" rel="noreferrer" target="_blank">
90
<Button onClick={() => window.print()} class={styles.PrintButton}>Распечатать резюме</Button>