1 | import { Footer } from 'src/components/Footer/Footer'; |
||
2 | import { FullPageHeadline } from 'src/components/FullPageHeadline/FullPageHeadline'; |
||
3 | import { Layout } from 'src/components/Layout'; |
||
4 | import { Section } from 'src/components/Section/Section'; |
||
5 | import { SEO } from 'src/components/SEO'; |
||
6 | import { SkillsList } from 'src/components/SkillsList/SkillsList'; |
||
7 | import { TypeWriter } from 'src/components/TypeWriter/TypeWriter'; |
||
8 | import expertiseYml from 'src/data/homepage/2-expertise.yml'; |
||
9 | import contactInfoYml from 'src/data/contact-info.yml'; |
||
10 | import { getHomepageIntro } from 'src/providers/getHomepageIntro'; |
||
11 | |||
12 | const IndexPage = ({ intro, expertise, contactInfo }) => ( |
||
0 ignored issues
–
show
introduced
by
![]() |
|||
13 | <Layout> |
||
14 | <SEO title="Home" /> |
||
15 | |||
16 | {/* BRAND */} |
||
17 | <FullPageHeadline contactInfo={contactInfo}> |
||
18 | Senior Full-Stack Engineer & |
||
19 | <TypeWriter |
||
20 | strings={['Forró', 'Snowboard']} |
||
21 | speed={200} |
||
22 | startDelay={500} |
||
23 | nextStringDelay={[1000, 750]} |
||
24 | breakLines={false} |
||
25 | > |
||
26 | React.js |
||
27 | </TypeWriter> |
||
28 | addict. |
||
29 | </FullPageHeadline> |
||
30 | |||
31 | {/* BIOGRAPHY */} |
||
32 | <Section textOnly title={intro.title} description={intro.description}> |
||
0 ignored issues
–
show
|
|||
33 | {/* eslint-disable-next-line react/no-danger */} |
||
34 | <div dangerouslySetInnerHTML={{ __html: intro.biography.join('') }} /> |
||
0 ignored issues
–
show
|
|||
35 | </Section> |
||
36 | |||
37 | {/* EXPERTISE */} |
||
38 | <Section title={expertise.title} description={expertise.description}> |
||
0 ignored issues
–
show
|
|||
39 | <SkillsList skills={expertise.items} /> |
||
0 ignored issues
–
show
|
|||
40 | </Section> |
||
41 | |||
42 | <Footer /> |
||
43 | </Layout> |
||
44 | ); |
||
45 | |||
46 | const getStaticProps = async () => ({ |
||
47 | props: { |
||
48 | intro: getHomepageIntro(), |
||
49 | expertise: expertiseYml, |
||
50 | contactInfo: contactInfoYml.items, |
||
51 | }, |
||
52 | }); |
||
53 | |||
54 | export { getStaticProps }; |
||
55 | export default IndexPage; |
||
56 |