Files
tech-fest/src/components/Events.tsx
T

142 lines
7.5 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
/* eslint-disable @next/next/no-img-element */
import { fluxgore, gothampro } from "@/utils/fonts";
import Button from "./Button";
import { useRouter } from "next/router";
interface EventCardProps extends React.HTMLAttributes<HTMLDivElement> {
image: string;
title: string;
description: string;
link: string;
disabled: boolean;
}
function EventCard(props: EventCardProps) {
const router = useRouter();
const handleClick = () => {
if (!props.disabled) {
// Check if it's an external link
if (props.link.startsWith("http")) {
window.open(props.link, "_blank");
} else {
router.push(props.link);
}
}
};
return (
<div
id={props.id}
className="flex flex-col md:flex-row bg-[#272727] py-5 px-2.5 md:py-5 md:px-2.5 p-4"
>
<div className="w-full md:w-1/3 mb-4 md:mb-0">
<img
className="w-full md:w-2/3 h-auto object-cover rounded"
src={props.image}
alt={props.title}
/>
</div>
<div className="w-full md:w-1/3 mb-4 md:mb-0 md:px-4">
<h2
className={`${fluxgore.className} text-2xl md:text-4xl text-white leading-tight md:leading-none`}
>
{props.title}
</h2>
<p
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 className="flex justify-center md:justify-end w-full md:w-1/3">
{!props.disabled && (
<Button onClick={handleClick} variant="blue" shadowEnabled={false}>
регистрация
</Button>
)}
</div>
</div>
);
}
function Events() {
return (
<div
className="bg-[#161616] relative pt-32 md:pt-64 pb-16 md:pb-32"
style={{
backgroundImage: `url('/images/noise.svg')`,
backgroundSize: "cover",
backgroundRepeat: "repeat",
backgroundBlendMode: "overlay",
}}
>
<img
className="absolute top-0 w-full object-cover"
src="/images/events/paper_tear.png"
alt="Paper tear"
/>
<div className="container mx-auto px-4">
<div className="flex flex-col md:flex-row md:justify-between space-y-6 md:space-y-0">
<h1
className={`${fluxgore.className} text-4xl md:text-7xl text-white relative`}
>
что вас ждет
</h1>
<p
className={`${gothampro.className} text-[#E6E6E6] opacity-90 text-base md:text-xl max-w-full md:max-w-[536px] leading-relaxed md:leading-none md:self-end`}
>
[Для участия в соревнованиях нажмите кнопку регистрация]
</p>
</div>
<div className="flex flex-col space-y-4 md:space-y-7 mt-16 md:mt-36">
<EventCard
disabled={false}
id="yuka"
image="/events/yuka.png"
title="YUKA Drive Fest Джимхана"
description="YUKA Drive Fest Джимхана впервые врывается в Москву, и местом его дебюта станет наш Фестиваль технических видов спорта! Это не просто гонки, это настоящий танец на асфальте, где мастерство водителя и мощь автомобиля сливаются воедино. Под чутким руководством и вдохновляющим присутствием легендарного Аркадия Цареградцева, амбассадора и супер-босса соревнований, лучшие джимханисты страны покажут невероятные трюки, демонстрируя виртуозное владение машиной. Скорость, точность, дым из-под колес и филигранные маневры в ограниченном пространстве – вот что такое Джимхана."
link="https://yukafest.ru/pilots/"
/>
<EventCard
disabled={false}
id="moscow_fight"
image="/events/moscow_fight.png"
title="Дрифт «Битва за Москву»"
description="Любительский турнир по дрифту, который вырос из проекта «Дорога в дрифт», созданного в 2021 году для поиска новых талантов. За три года он превратился в полноценные соревнования с привлекательным призовым фондом. Во второй день фестиваля, 8 сентября, пройдет дрифт-гонка. Соревнования проводятся по традиционной олимпийской системе. Чтобы принять участие, необходимо подать заявку на сайте и дождаться приглашения от организаторов."
link="/forms/fight"
/>
<EventCard
disabled={false}
id="exhibition"
image="/images/activities/car1.png"
title="Автовыставка"
description="...Уникальные машины, дрифт-кары, кастом и тюнинг — в одном месте. От ретро до hi-tech, от stance до muscle. Приходи посмотреть, сфотографировать и пообщаться с владельцами.А если хочешь стать участником и побороться за главный приз - подавай заявку!"
link="/forms/exhibition"
/>
<EventCard
disabled={true}
id="moto"
image="/events/moto.png"
title="КуБок ШОС по Мотокроссу"
description="Уникальная возможность увидеть настоящую битву моторов и мастерства на трассе. Лучшие гонщики со всего мира соберутся, чтобы продемонстрировать невероятные прыжки, головокружительные виражи и бескомпромиссную борьбу за победу. Приготовьтесь к взрыву адреналина и незабываемым эмоциям, ведь Кубок ШОС по Мотокроссу обещает стать одним из самых ярких зрелищ фестиваля!"
link="#"
/>
<EventCard
disabled={true}
image="/events/cart.png"
title="Кубок по Фиджитал картингу"
description="На Фестивале технических видов спорта 2025 впервые состоится Кубок по Фиджитал Картингу! Это уникальное состязание, где виртуальная реальность встречается с реальной трассой. Участники будут сражаться на симуляторах, а затем переносить свои навыки на настоящий картинг, демонстрируя невероятную адаптивность и мастерство."
link="#"
/>
</div>
</div>
</div>
);
}
export default Events;