Refactor code structure for improved readability and maintainability
This commit is contained in:
Binary file not shown.
+117
-8
@@ -2,11 +2,13 @@
|
||||
import { fluxgore, gothampro } from "@/utils/fonts";
|
||||
import Button from "./Button";
|
||||
import { useRouter } from "next/router";
|
||||
import React from "react";
|
||||
import Link from "next/link";
|
||||
|
||||
interface EventCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||
image: string;
|
||||
title: string;
|
||||
description: string;
|
||||
description: React.ReactNode;
|
||||
link: string;
|
||||
disabled: boolean;
|
||||
}
|
||||
@@ -43,11 +45,11 @@ function EventCard(props: EventCardProps) {
|
||||
>
|
||||
{props.title}
|
||||
</h2>
|
||||
<p
|
||||
<div
|
||||
className={`${gothampro.className} text-[#E6E6E6] text-sm md:text-base mt-4 md:mt-6 leading-relaxed md:leading-none`}
|
||||
>
|
||||
{props.description}
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div className="flex justify-center md:justify-end w-full md:w-1/3">
|
||||
{!props.disabled && (
|
||||
@@ -99,7 +101,30 @@ function Events() {
|
||||
id="yuka"
|
||||
image="/events/yuka.png"
|
||||
title="YUKA Drive Fest Джимхана"
|
||||
description="YUKA Drive Fest Джимхана впервые врывается в Москву, и местом его дебюта станет наш Фестиваль технических видов спорта! Это не просто гонки, это настоящий танец на асфальте, где мастерство водителя и мощь автомобиля сливаются воедино. Под чутким руководством и вдохновляющим присутствием легендарного Аркадия Цареградцева, амбассадора и супер-босса соревнований, лучшие джимханисты страны покажут невероятные трюки, демонстрируя виртуозное владение машиной. Скорость, точность, дым из-под колес и филигранные маневры в ограниченном пространстве – вот что такое Джимхана."
|
||||
description={
|
||||
<>
|
||||
<p>
|
||||
YUKA Drive Fest Джимхана впервые врывается в Москву, и местом
|
||||
его дебюта станет наш Фестиваль технических видов спорта!
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Это не просто гонки, это настоящий танец на асфальте, где
|
||||
мастерство водителя и мощь автомобиля сливаются воедино.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Под чутким руководством и вдохновляющим присутствием
|
||||
легендарного Аркадия Цареградцева, амбассадора и супер-босса
|
||||
соревнований, лучшие джимханисты страны покажут невероятные
|
||||
трюки, демонстрируя виртуозное владение машиной. Скорость,
|
||||
точность, дым из-под колес и филигранные маневры в
|
||||
ограниченном пространстве – вот что такое Джимхана.
|
||||
</p>
|
||||
</>
|
||||
}
|
||||
link="https://yukafest.ru/pilots/"
|
||||
/>
|
||||
<EventCard
|
||||
@@ -107,7 +132,36 @@ function Events() {
|
||||
id="moscow_fight"
|
||||
image="/events/moscow_fight.png"
|
||||
title="Дрифт «Битва за Москву»"
|
||||
description="Любительский турнир по дрифту, который вырос из проекта «Дорога в дрифт», созданного в 2021 году для поиска новых талантов. За три года он превратился в полноценные соревнования с привлекательным призовым фондом. Во второй день фестиваля, 8 сентября, пройдет дрифт-гонка. Соревнования проводятся по традиционной олимпийской системе. Чтобы принять участие, необходимо подать заявку на сайте и дождаться приглашения от организаторов."
|
||||
description={
|
||||
<>
|
||||
<p>
|
||||
Любительский турнир по дрифту, который вырос из проекта
|
||||
«Дорога в дрифт», созданного в 2021 году для поиска новых
|
||||
талантов. За три года он превратился в полноценные
|
||||
соревнования с привлекательным призовым фондом.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Во второй день фестиваля, 8 сентября, пройдет дрифт-гонка.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Соревнования проводятся по традиционной олимпийской системе.
|
||||
Чтобы принять участие, необходимо подать заявку на сайте и
|
||||
дождаться приглашения от организаторов.
|
||||
</p>
|
||||
|
||||
<Link
|
||||
href="/reglament.pdf"
|
||||
target="_blank"
|
||||
className="text-blue-500 hover:underline mt-4 block"
|
||||
>
|
||||
Регламент
|
||||
</Link>
|
||||
</>
|
||||
}
|
||||
link="/forms/fight"
|
||||
/>
|
||||
<EventCard
|
||||
@@ -115,7 +169,21 @@ function Events() {
|
||||
id="exhibition"
|
||||
image="/images/activities/car1.png"
|
||||
title="Автовыставка"
|
||||
description="...Уникальные машины, дрифт-кары, кастом и тюнинг — в одном месте. От ретро до hi-tech, от stance до muscle. Приходи посмотреть, сфотографировать и пообщаться с владельцами.А если хочешь стать участником и побороться за главный приз - подавай заявку!"
|
||||
description={
|
||||
<>
|
||||
<p>
|
||||
...Уникальные машины, дрифт-кары, кастом и тюнинг — в одном
|
||||
месте. От ретро до hi-tech, от stance до muscle. Приходи
|
||||
посмотреть, сфотографировать и пообщаться с владельцами.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
А если хочешь стать участником и побороться за главный приз -
|
||||
подавай заявку!
|
||||
</p>
|
||||
</>
|
||||
}
|
||||
link="/forms/exhibition"
|
||||
/>
|
||||
<EventCard
|
||||
@@ -123,14 +191,55 @@ function Events() {
|
||||
id="moto"
|
||||
image="/events/moto.png"
|
||||
title="КуБок ШОС по Мотокроссу"
|
||||
description="Уникальная возможность увидеть настоящую битву моторов и мастерства на трассе. Лучшие гонщики со всего мира соберутся, чтобы продемонстрировать невероятные прыжки, головокружительные виражи и бескомпромиссную борьбу за победу. Приготовьтесь к взрыву адреналина и незабываемым эмоциям, ведь Кубок ШОС по Мотокроссу обещает стать одним из самых ярких зрелищ фестиваля!"
|
||||
description={
|
||||
<>
|
||||
<p>
|
||||
Уникальная возможность увидеть настоящую битву моторов и
|
||||
мастерства на трассе.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Лучшие гонщики со всего мира соберутся, чтобы
|
||||
продемонстрировать невероятные прыжки, головокружительные
|
||||
виражи и бескомпромиссную борьбу за победу.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Приготовьтесь к взрыву адреналина и незабываемым эмоциям, ведь
|
||||
Кубок ШОС по Мотокроссу обещает стать одним из самых ярких
|
||||
зрелищ фестиваля!
|
||||
</p>
|
||||
</>
|
||||
}
|
||||
link="#"
|
||||
/>
|
||||
<EventCard
|
||||
disabled={true}
|
||||
image="/events/cart.png"
|
||||
title="Кубок по Фиджитал картингу"
|
||||
description="На Фестивале технических видов спорта 2025 впервые состоится Кубок по Фиджитал Картингу! Это уникальное состязание, где виртуальная реальность встречается с реальной трассой. Участники будут сражаться на симуляторах, а затем переносить свои навыки на настоящий картинг, демонстрируя невероятную адаптивность и мастерство."
|
||||
description={
|
||||
<>
|
||||
<p>
|
||||
На Фестивале технических видов спорта 2025 впервые состоится
|
||||
Кубок по Фиджитал Картингу!
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Это уникальное состязание, где виртуальная реальность
|
||||
встречается с реальной трассой.
|
||||
</p>
|
||||
<br />
|
||||
|
||||
<p>
|
||||
Участники будут сражаться на симуляторах, а затем переносить
|
||||
свои навыки на настоящий картинг, демонстрируя невероятную
|
||||
адаптивность и мастерство.
|
||||
</p>
|
||||
</>
|
||||
}
|
||||
link="#"
|
||||
/>
|
||||
</div>
|
||||
|
||||
@@ -6,11 +6,15 @@ function Map() {
|
||||
<div className="bg-[#272727] relative pt-14 pb-32">
|
||||
<div className="container mx-auto flex flex-col lg:flex-row px-4">
|
||||
<div className="flex flex-col w-full lg:w-1/2 mb-8 lg:mb-0">
|
||||
<h1 className={`${fluxgore.className} text-4xl md:text-5xl lg:text-7xl text-white relative`}>
|
||||
<h1
|
||||
className={`${fluxgore.className} text-4xl md:text-5xl lg:text-7xl text-white relative`}
|
||||
>
|
||||
как нас найти
|
||||
</h1>
|
||||
|
||||
<h2 className={`${fluxgore.className} text-2xl md:text-3xl lg:text-4xl text-[#1068B0] mt-10 lg:mt-20`}>
|
||||
<h2
|
||||
className={`${fluxgore.className} text-2xl md:text-3xl lg:text-4xl text-[#1068B0] mt-10 lg:mt-20`}
|
||||
>
|
||||
5-7 сентября 2025
|
||||
</h2>
|
||||
|
||||
@@ -27,7 +31,7 @@ function Map() {
|
||||
|
||||
<div className="w-full lg:w-1/2">
|
||||
<iframe
|
||||
src="https://yandex.com/map-widget/v1/?um=constructor%3Ad4445ea405fa54c9148340a7de87f7a4b9df164b35ff2fe504cf79adc1fab55c&source=constructor"
|
||||
src="https://yandex.com/map-widget/v1/?um=constructor%3A226a8e42b9987ad9a2b81d08d3da22c826d6209926040115001a9f9962fe7ea8&source=constructor"
|
||||
className="w-full h-[300px] md:h-[400px] lg:h-[500px]"
|
||||
frameBorder="0"
|
||||
></iframe>
|
||||
|
||||
Reference in New Issue
Block a user