You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
informatics/.history/pages/index_20221008165252.tsx

67 lines
2.7 KiB

import { format, parseISO } from 'date-fns';
import { GetStaticProps } from 'next';
import Link from 'next/link';
import React from 'react';
import Layout from '../components/Layout';
import { getAllPosts } from '../lib/api';
import { PostType } from '../types/post';
type IndexProps = {
posts: PostType[];
};
export const Index = ({ posts }: IndexProps): JSX.Element => {
return (
<Layout>
<h1>Робототехнический фестиваль RobotTop</h1>
<p>RobotTop это робототехнические соревнования, в которых могут принять участие молодые любители робототехники, объединившись в команды.</p>
<ul className="list-disc pl-4 my-6">
<li className="mt-2"><b>Дата проведения </b> с 16 января по 20 января 2023 года</li>
<li className="mt-2"><b>Место проведения </b> г. Краснодар ул. Байбакова 17 (МАОУ СОШ 103)</li>
<li className="mt-2">Любая робототехническая платформа</li>
<li className="mt-2">Отдельная возрастная группа для LEGO WEDO 1-2 класс</li>
<li className="mt-2">Команда от 2 до 3 человек</li>
<li className="mt-2">11 возрастных групп</li>
<li className="mt-2">Свобода в творчестве</li>
</ul>
<Link href={`/registration`}>
<a
className="inline-block px-7 py-3 rounded-md text-white dark:text-white bg-blue-600 hover:bg-blue-700 hover:text-white dark:hover:text-white"
>
Регистрация команды
</a>
</Link>
{posts.map((post) => (
<article key={post.slug} className="mt-12">
<p className="mb-1 text-sm text-gray-500 dark:text-gray-400">
{format(parseISO(post.date), 'MMMM dd, yyyy')}
</p>
<h1 className="mb-2 text-xl">
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}>
<a className="text-gray-900 dark:text-white dark:hover:text-blue-400">
{post.title}
</a>
</Link>
</h1>
<p className="mb-3">{post.description}</p>
<p>
<Link as={`/posts/${post.slug}`} href={`/posts/[slug]`}>
<a>Подробнее...</a>
</Link>
</p>
</article>
))}
</Layout>
);
};
export const getStaticProps: GetStaticProps = async () => {
const posts = getAllPosts(['date', 'description', 'slug', 'title']);
return {
props: { posts },
};
};
export default Index;