import Button from '@mui/material/Button'; import Card from '@mui/material/Card'; import CardActionArea from '@mui/material/CardActionArea'; import CardContent from '@mui/material/CardContent'; import Chip from '@mui/material/Chip'; import { styled } from '@mui/material/styles'; import Typography from '@mui/material/Typography'; import format from 'date-fns/format'; import parseISO from 'date-fns/parseISO'; import Image from 'next/image'; import Link from 'next/link'; import Container from '../components/layout/Container'; import Page from '../components/layout/Page'; import config from '../lib/config'; import homepageData from '../lib/homepage'; import releases from '../lib/releases'; import type { NextPage } from 'next'; const StyledHomagePageContent = styled('div')` width: 100%; padding-top: 72px; display: flex; flex-direction: column; gap: 88px; align-items: center; `; const StyledIntroSection = styled('section')` width: 100%; display: flex; flex-direction: column; align-items: center; `; const StyledIntroSectionContent = styled('div')` width: 100%; display: flex; flex-direction: column; gap: 16px; align-items: flex-start; `; const StyledOverviewSection = styled('section')` width: 100%; display: flex; flex-direction: column; align-items: center; `; const StyledOverviewSectionContent = styled('div')` width: 100%; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 64px; `; const StyledOverviewList = styled('div')` display: flex; flex-direction: column; gap: 16px; `; const StyledOverview = styled('div')` display: flex; flex-direction: column; gap: 8px; `; const StyledImageWrapper = styled('div')` width: 100%; position: relative; `; const StyledCallToActionSection = styled('section')` width: 100%; display: flex; flex-direction: column; align-items: center; height: 0; overflow: visible; z-index: 1; `; const StyledCallToActionCard = styled(Card)` width: 80%; `; const StyledCallToActionCardContent = styled(CardContent)` display: flex; align-items: flex-start; padding: 24px 40px; line-height: 30px; gap: 24px; `; const StyledCallToActionText = styled('div')` flex-grow: 1; `; const StyledReleasesSection = styled('section')( ({ theme }) => ` width: 100%; display: flex; flex-direction: column; align-items: center; background: ${theme.palette.mode === 'light' ? '#dddee2' : '#242424'}; padding: 64px 0; `, ); const StyledReleasesSectionContent = styled('div')` width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; `; const StyledReleaseCardContent = styled(CardContent)` width: 100%; display: flex; flex-direction: column; gap: 8px; `; const StyledFeaturesSection = styled('section')` width: 100%; display: flex; flex-direction: column; align-items: center; padding-bottom: 80px; `; const StyledFeaturesSectionContent = styled('div')` width: 100%; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 48px; `; const StyledFeaturesSectionIntro = styled('div')` width: 100%; display: flex; flex-direction: column; align-items: center; gap: 8px; padding: 32px 0 104px; `; const StyledFeature = styled('div')` width: 100%; position: relative; display: flex; flex-direction: column; gap: 8px; `; const StyledFeatureText = styled('div')` width: 100%; display: flex; flex-direction: column; gap: 8px; padding: 0 16px; `; const Home: NextPage = () => { return ( {homepageData.title} {homepageData.subtitle} {homepageData.overviews.map(overview => ( {overview.title} {overview.description} ))} {homepageData.call_to_action.title}   {homepageData.call_to_action.subtitle} {[...Array(3)].map((_, index) => { if (index >= releases.length) { return null; } const release = releases[index]; return ( <> {format(parseISO(release.date), 'MMMM dd, yyyy')} {release.description} ); })} {homepageData.features_intro.title} {homepageData.features_intro.subtitle1}
{homepageData.features_intro.subtitle2}
{homepageData.features.map(feature => ( {feature.title} {feature.description} ))}
); }; export default Home;