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 { fluxgore, gothampro } from "@/utils/fonts";
|
||||||
import Button from "./Button";
|
import Button from "./Button";
|
||||||
import { useRouter } from "next/router";
|
import { useRouter } from "next/router";
|
||||||
|
import React from "react";
|
||||||
|
import Link from "next/link";
|
||||||
|
|
||||||
interface EventCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
interface EventCardProps extends React.HTMLAttributes<HTMLDivElement> {
|
||||||
image: string;
|
image: string;
|
||||||
title: string;
|
title: string;
|
||||||
description: string;
|
description: React.ReactNode;
|
||||||
link: string;
|
link: string;
|
||||||
disabled: boolean;
|
disabled: boolean;
|
||||||
}
|
}
|
||||||
@@ -43,11 +45,11 @@ function EventCard(props: EventCardProps) {
|
|||||||
>
|
>
|
||||||
{props.title}
|
{props.title}
|
||||||
</h2>
|
</h2>
|
||||||
<p
|
<div
|
||||||
className={`${gothampro.className} text-[#E6E6E6] text-sm md:text-base mt-4 md:mt-6 leading-relaxed md:leading-none`}
|
className={`${gothampro.className} text-[#E6E6E6] text-sm md:text-base mt-4 md:mt-6 leading-relaxed md:leading-none`}
|
||||||
>
|
>
|
||||||
{props.description}
|
{props.description}
|
||||||
</p>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
<div className="flex justify-center md:justify-end w-full md:w-1/3">
|
<div className="flex justify-center md:justify-end w-full md:w-1/3">
|
||||||
{!props.disabled && (
|
{!props.disabled && (
|
||||||
@@ -99,7 +101,30 @@ function Events() {
|
|||||||
id="yuka"
|
id="yuka"
|
||||||
image="/events/yuka.png"
|
image="/events/yuka.png"
|
||||||
title="YUKA Drive Fest Джимхана"
|
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/"
|
link="https://yukafest.ru/pilots/"
|
||||||
/>
|
/>
|
||||||
<EventCard
|
<EventCard
|
||||||
@@ -107,7 +132,36 @@ function Events() {
|
|||||||
id="moscow_fight"
|
id="moscow_fight"
|
||||||
image="/events/moscow_fight.png"
|
image="/events/moscow_fight.png"
|
||||||
title="Дрифт «Битва за Москву»"
|
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"
|
link="/forms/fight"
|
||||||
/>
|
/>
|
||||||
<EventCard
|
<EventCard
|
||||||
@@ -115,7 +169,21 @@ function Events() {
|
|||||||
id="exhibition"
|
id="exhibition"
|
||||||
image="/images/activities/car1.png"
|
image="/images/activities/car1.png"
|
||||||
title="Автовыставка"
|
title="Автовыставка"
|
||||||
description="...Уникальные машины, дрифт-кары, кастом и тюнинг — в одном месте. От ретро до hi-tech, от stance до muscle. Приходи посмотреть, сфотографировать и пообщаться с владельцами.А если хочешь стать участником и побороться за главный приз - подавай заявку!"
|
description={
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
...Уникальные машины, дрифт-кары, кастом и тюнинг — в одном
|
||||||
|
месте. От ретро до hi-tech, от stance до muscle. Приходи
|
||||||
|
посмотреть, сфотографировать и пообщаться с владельцами.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
А если хочешь стать участником и побороться за главный приз -
|
||||||
|
подавай заявку!
|
||||||
|
</p>
|
||||||
|
</>
|
||||||
|
}
|
||||||
link="/forms/exhibition"
|
link="/forms/exhibition"
|
||||||
/>
|
/>
|
||||||
<EventCard
|
<EventCard
|
||||||
@@ -123,14 +191,55 @@ function Events() {
|
|||||||
id="moto"
|
id="moto"
|
||||||
image="/events/moto.png"
|
image="/events/moto.png"
|
||||||
title="КуБок ШОС по Мотокроссу"
|
title="КуБок ШОС по Мотокроссу"
|
||||||
description="Уникальная возможность увидеть настоящую битву моторов и мастерства на трассе. Лучшие гонщики со всего мира соберутся, чтобы продемонстрировать невероятные прыжки, головокружительные виражи и бескомпромиссную борьбу за победу. Приготовьтесь к взрыву адреналина и незабываемым эмоциям, ведь Кубок ШОС по Мотокроссу обещает стать одним из самых ярких зрелищ фестиваля!"
|
description={
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
Уникальная возможность увидеть настоящую битву моторов и
|
||||||
|
мастерства на трассе.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Лучшие гонщики со всего мира соберутся, чтобы
|
||||||
|
продемонстрировать невероятные прыжки, головокружительные
|
||||||
|
виражи и бескомпромиссную борьбу за победу.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Приготовьтесь к взрыву адреналина и незабываемым эмоциям, ведь
|
||||||
|
Кубок ШОС по Мотокроссу обещает стать одним из самых ярких
|
||||||
|
зрелищ фестиваля!
|
||||||
|
</p>
|
||||||
|
</>
|
||||||
|
}
|
||||||
link="#"
|
link="#"
|
||||||
/>
|
/>
|
||||||
<EventCard
|
<EventCard
|
||||||
disabled={true}
|
disabled={true}
|
||||||
image="/events/cart.png"
|
image="/events/cart.png"
|
||||||
title="Кубок по Фиджитал картингу"
|
title="Кубок по Фиджитал картингу"
|
||||||
description="На Фестивале технических видов спорта 2025 впервые состоится Кубок по Фиджитал Картингу! Это уникальное состязание, где виртуальная реальность встречается с реальной трассой. Участники будут сражаться на симуляторах, а затем переносить свои навыки на настоящий картинг, демонстрируя невероятную адаптивность и мастерство."
|
description={
|
||||||
|
<>
|
||||||
|
<p>
|
||||||
|
На Фестивале технических видов спорта 2025 впервые состоится
|
||||||
|
Кубок по Фиджитал Картингу!
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Это уникальное состязание, где виртуальная реальность
|
||||||
|
встречается с реальной трассой.
|
||||||
|
</p>
|
||||||
|
<br />
|
||||||
|
|
||||||
|
<p>
|
||||||
|
Участники будут сражаться на симуляторах, а затем переносить
|
||||||
|
свои навыки на настоящий картинг, демонстрируя невероятную
|
||||||
|
адаптивность и мастерство.
|
||||||
|
</p>
|
||||||
|
</>
|
||||||
|
}
|
||||||
link="#"
|
link="#"
|
||||||
/>
|
/>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -6,11 +6,15 @@ function Map() {
|
|||||||
<div className="bg-[#272727] relative pt-14 pb-32">
|
<div className="bg-[#272727] relative pt-14 pb-32">
|
||||||
<div className="container mx-auto flex flex-col lg:flex-row px-4">
|
<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">
|
<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>
|
</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
|
5-7 сентября 2025
|
||||||
</h2>
|
</h2>
|
||||||
|
|
||||||
@@ -27,7 +31,7 @@ function Map() {
|
|||||||
|
|
||||||
<div className="w-full lg:w-1/2">
|
<div className="w-full lg:w-1/2">
|
||||||
<iframe
|
<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]"
|
className="w-full h-[300px] md:h-[400px] lg:h-[500px]"
|
||||||
frameBorder="0"
|
frameBorder="0"
|
||||||
></iframe>
|
></iframe>
|
||||||
|
|||||||
Reference in New Issue
Block a user