2022-09-04 20:40:58 +02:00
|
|
|
import type { GetStaticProps, NextPage } from 'next'
|
2021-04-18 01:56:23 +02:00
|
|
|
import useTranslation from 'next-translate/useTranslation'
|
|
|
|
|
|
|
|
import { RevealFade } from 'components/design/RevealFade'
|
|
|
|
import { Section } from 'components/design/Section'
|
2021-04-18 23:09:51 +02:00
|
|
|
import { Head } from 'components/Head'
|
2021-04-18 01:56:23 +02:00
|
|
|
import { Interests } from 'components/Interests'
|
|
|
|
import { Portfolio } from 'components/Portfolio'
|
|
|
|
import { Profile } from 'components/Profile'
|
|
|
|
import { SocialMediaList } from 'components/Profile/SocialMediaList'
|
|
|
|
import { Skills } from 'components/Skills'
|
2021-07-04 19:56:05 +02:00
|
|
|
import { OpenSource } from 'components/OpenSource'
|
2021-07-27 13:36:35 +02:00
|
|
|
import { Header } from 'components/Header'
|
2022-09-04 20:40:58 +02:00
|
|
|
import type { FooterProps } from 'components/Footer'
|
|
|
|
import { Footer } from 'components/Footer'
|
2021-04-18 01:56:23 +02:00
|
|
|
|
2022-03-24 18:57:27 +01:00
|
|
|
interface HomeProps extends FooterProps {}
|
2021-12-04 15:52:51 +01:00
|
|
|
|
|
|
|
const Home: NextPage<HomeProps> = (props) => {
|
2021-04-18 01:56:23 +02:00
|
|
|
const { t } = useTranslation()
|
2022-03-24 18:57:27 +01:00
|
|
|
const { version } = props
|
2021-04-18 01:56:23 +02:00
|
|
|
|
|
|
|
return (
|
|
|
|
<>
|
2022-03-24 18:57:27 +01:00
|
|
|
<Head />
|
2021-04-18 01:56:23 +02:00
|
|
|
|
2022-07-28 23:01:19 +02:00
|
|
|
<Header showLanguage />
|
2021-07-27 13:36:35 +02:00
|
|
|
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
|
|
|
|
<Section isMain id='about'>
|
2022-03-24 18:57:27 +01:00
|
|
|
<Profile />
|
2021-07-27 13:36:35 +02:00
|
|
|
<SocialMediaList />
|
2021-04-18 01:56:23 +02:00
|
|
|
</Section>
|
|
|
|
|
2021-07-27 13:36:35 +02:00
|
|
|
<RevealFade>
|
|
|
|
<Section id='interests' heading={t('home:interests.title')}>
|
|
|
|
<Interests />
|
|
|
|
</Section>
|
|
|
|
</RevealFade>
|
2021-04-18 01:56:23 +02:00
|
|
|
|
2021-07-27 13:36:35 +02:00
|
|
|
<RevealFade>
|
|
|
|
<Section
|
|
|
|
id='skills'
|
|
|
|
heading={t('home:skills.title')}
|
|
|
|
withoutShadowContainer
|
|
|
|
>
|
|
|
|
<Skills />
|
|
|
|
</Section>
|
|
|
|
</RevealFade>
|
2021-07-04 19:56:05 +02:00
|
|
|
|
2021-07-27 13:36:35 +02:00
|
|
|
<RevealFade>
|
|
|
|
<Section
|
|
|
|
id='portfolio'
|
|
|
|
heading={t('home:portfolio.title')}
|
|
|
|
withoutShadowContainer
|
|
|
|
>
|
|
|
|
<Portfolio />
|
|
|
|
</Section>
|
|
|
|
</RevealFade>
|
|
|
|
|
|
|
|
<RevealFade>
|
|
|
|
<Section
|
|
|
|
id='open-source'
|
|
|
|
heading='Open source'
|
|
|
|
withoutShadowContainer
|
|
|
|
>
|
|
|
|
<OpenSource />
|
|
|
|
</Section>
|
|
|
|
</RevealFade>
|
|
|
|
</main>
|
|
|
|
<Footer version={version} />
|
2021-04-18 01:56:23 +02:00
|
|
|
</>
|
|
|
|
)
|
|
|
|
}
|
|
|
|
|
2022-03-24 11:45:19 +01:00
|
|
|
export const getStaticProps: GetStaticProps<HomeProps> = async () => {
|
2021-08-16 15:31:35 +02:00
|
|
|
const { readPackage } = await import('read-pkg')
|
|
|
|
const { version } = await readPackage()
|
2022-03-24 18:57:27 +01:00
|
|
|
return { props: { version } }
|
2021-04-18 01:56:23 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
export default Home
|