1
1
mirror of https://github.com/theoludwig/theoludwig.git synced 2025-05-29 22:37:44 +02:00

feat: add version number in footer

This commit is contained in:
Divlo
2021-07-27 11:36:35 +00:00
parent 669f592a9f
commit 3a278fec10
10 changed files with 290 additions and 531 deletions

View File

@ -1,22 +1,32 @@
import { GetStaticProps } from 'next'
import useTranslation from 'next-translate/useTranslation'
import readPackageJSON from 'read-pkg'
import { ErrorPage } from 'components/ErrorPage'
import { Head } from 'components/Head'
import { Header } from 'components/Header'
import { Footer, FooterProps } from 'components/Footer'
const Error404: React.FC = () => {
const Error404: React.FC<FooterProps> = (props) => {
const { t } = useTranslation()
const { version } = props
return (
<>
<Head title='Divlo - 404' />
<ErrorPage statusCode={404} message={t('errors:notFound')} />
<Header />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<ErrorPage statusCode={404} message={t('errors:notFound')} />
</main>
<Footer version={version} />
</>
)
}
export const getStaticProps: GetStaticProps = async () => {
return { props: {} }
export const getStaticProps: GetStaticProps<FooterProps> = async () => {
const { version } = await readPackageJSON()
return { props: { version } }
}
export default Error404

View File

@ -1,22 +1,32 @@
import { GetStaticProps } from 'next'
import useTranslation from 'next-translate/useTranslation'
import readPackageJSON from 'read-pkg'
import { ErrorPage } from 'components/ErrorPage'
import { Head } from 'components/Head'
import { Header } from 'components/Header'
import { Footer, FooterProps } from 'components/Footer'
const Error500: React.FC = () => {
const Error500: React.FC<FooterProps> = (props) => {
const { t } = useTranslation()
const { version } = props
return (
<>
<Head title='Divlo - 500' />
<ErrorPage statusCode={500} message={t('errors:serverError')} />
<Header />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<ErrorPage statusCode={500} message={t('errors:serverError')} />
</main>
<Footer version={version} />
</>
)
}
export const getStaticProps: GetStaticProps = async () => {
return { props: {} }
export const getStaticProps: GetStaticProps<FooterProps> = async () => {
const { version } = await readPackageJSON()
return { props: { version } }
}
export default Error500

View File

@ -10,9 +10,6 @@ import '@fontsource/montserrat/500.css'
import '@fontsource/montserrat/600.css'
import '@fontsource/montserrat/700.css'
import { Header } from 'components/Header'
import { Footer } from 'components/Footer'
const universalCookie = new UniversalCookie()
/** how long in seconds, until the cookie expires (10 years) */
@ -30,11 +27,7 @@ const MyApp = ({ Component, pageProps }: AppProps): JSX.Element => {
return (
<ThemeProvider attribute='class' defaultTheme='dark'>
<Header />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<Component {...pageProps} />
</main>
<Footer />
<Component {...pageProps} />
</ThemeProvider>
)
}

View File

@ -1,5 +1,6 @@
import { GetStaticProps } from 'next'
import useTranslation from 'next-translate/useTranslation'
import readPackageJSON from 'read-pkg'
import { RevealFade } from 'components/design/RevealFade'
import { Section } from 'components/design/Section'
@ -10,56 +11,68 @@ import { Profile } from 'components/Profile'
import { SocialMediaList } from 'components/Profile/SocialMediaList'
import { Skills } from 'components/Skills'
import { OpenSource } from 'components/OpenSource'
import { Header } from 'components/Header'
import { Footer, FooterProps } from 'components/Footer'
const Home: React.FC = () => {
const Home: React.FC<FooterProps> = (props) => {
const { t } = useTranslation()
const { version } = props
return (
<>
<Head />
<Section isMain id='about'>
<Profile />
<SocialMediaList />
</Section>
<RevealFade>
<Section id='interests' heading={t('home:interests.title')}>
<Interests />
<Header />
<main className='flex flex-col md:mx-auto md:max-w-4xl lg:max-w-7xl'>
<Section isMain id='about'>
<Profile />
<SocialMediaList />
</Section>
</RevealFade>
<RevealFade>
<Section
id='skills'
heading={t('home:skills.title')}
withoutShadowContainer
>
<Skills />
</Section>
</RevealFade>
<RevealFade>
<Section id='interests' heading={t('home:interests.title')}>
<Interests />
</Section>
</RevealFade>
<RevealFade>
<Section
id='portfolio'
heading={t('home:portfolio.title')}
withoutShadowContainer
>
<Portfolio />
</Section>
</RevealFade>
<RevealFade>
<Section
id='skills'
heading={t('home:skills.title')}
withoutShadowContainer
>
<Skills />
</Section>
</RevealFade>
<RevealFade>
<Section id='open-source' heading='Open source' withoutShadowContainer>
<OpenSource />
</Section>
</RevealFade>
<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} />
</>
)
}
export const getStaticProps: GetStaticProps = async () => {
return { props: {} }
export const getStaticProps: GetStaticProps<FooterProps> = async () => {
const { version } = await readPackageJSON()
return { props: { version } }
}
export default Home