import FeedIcon from '@assets/images/icon-feed.svg'; import { ButtonLink } from '@components/Buttons'; import { ContactIcon } from '@components/Icons'; import Layout from '@components/Layouts/Layout'; import { seo } from '@config/seo'; import { config } from '@config/website'; import HomePageContent from '@content/pages/homepage.mdx'; import { t } from '@lingui/macro'; import styles from '@styles/pages/Home.module.scss'; import { NextPageWithLayout } from '@ts/types/app'; import { loadTranslation } from '@utils/helpers/i18n'; import { GetStaticProps, GetStaticPropsContext } from 'next'; import Head from 'next/head'; import type { ReactElement } from 'react'; import { Graph, WebPage } from 'schema-dts'; const Home: NextPageWithLayout = () => { const CodingLinks = () => { return ( ); }; const ColdarkRepos = () => { return ( ); }; const LibreLinks = () => { return ( ); }; const MoreLinks = () => { return ( ); }; const components = { CodingLinks: CodingLinks, ColdarkRepos: ColdarkRepos, LibreLinks: LibreLinks, MoreLinks: MoreLinks, }; const webpageSchema: WebPage = { '@id': `${config.url}/#home`, '@type': 'WebPage', breadcrumb: { '@id': `${config.url}/#breadcrumb` }, name: seo.legalNotice.title, description: seo.legalNotice.description, author: { '@id': `${config.url}/#branding` }, creator: { '@id': `${config.url}/#branding` }, editor: { '@id': `${config.url}/#branding` }, inLanguage: config.locales.defaultLocale, license: 'https://creativecommons.org/licenses/by-sa/4.0/deed.fr', reviewedBy: { '@id': `${config.url}/#branding` }, url: `${config.url}`, }; const schemaJsonLd: Graph = { '@context': 'https://schema.org', '@graph': [webpageSchema], }; return ( <> {seo.homepage.title}
); }; Home.getLayout = function getLayout(page: ReactElement) { return {page}; }; export const getStaticProps: GetStaticProps = async ( context: GetStaticPropsContext ) => { const { locale } = context; const translation = await loadTranslation(locale); return { props: { translation, }, }; }; export default Home;