This commit is contained in:
Kakabay 2025-01-30 13:57:59 +05:00
parent 4ce18256c0
commit 38fb80c013
26 changed files with 112 additions and 104 deletions

Binary file not shown.

Before

Width:  |  Height:  |  Size: 228 KiB

After

Width:  |  Height:  |  Size: 815 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 80 KiB

After

Width:  |  Height:  |  Size: 270 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

After

Width:  |  Height:  |  Size: 162 KiB

BIN
public/map.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 445 KiB

BIN
public/theme-cover.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 42 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 5.6 KiB

After

Width:  |  Height:  |  Size: 20 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 8.9 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 16 KiB

After

Width:  |  Height:  |  Size: 16 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 9.1 KiB

After

Width:  |  Height:  |  Size: 8.9 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 10 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 15 KiB

After

Width:  |  Height:  |  Size: 15 KiB

File diff suppressed because one or more lines are too long

Before

Width:  |  Height:  |  Size: 6.2 KiB

After

Width:  |  Height:  |  Size: 6.2 KiB

View File

@ -54,7 +54,7 @@ export const Header: FC = () => {
<div className="flex items-center gap-6">
<div className="flex items-center gap-2">
<Smartphone size={16} strokeWidth="3px" />
<h4 className="text-sm text-white">+99371871814</h4>
<h4 className="text-sm text-white">+99371871812</h4>
</div>
{/* <LangMenu /> */}

View File

@ -8,15 +8,10 @@ interface Props {
export const AboutPlace: FC<Props> = ({ className }) => {
return (
<section
className={cn(
"flex items-center gap-6 relative md:py-20 py-10 overflow-hidden",
className
)}
>
<Container>
<h3 className="h2 mb-6">Место проведения</h3>
<p className="text-lg text-on_surface_v normal">
<section className={cn(" gap-6 relative overflow-hidden", className)}>
<Container className="md:py-20 py-10 ">
<h3 className="h2 mb-6 xl:max-w-[496px]">Место проведения</h3>
<p className="text-lg text-on_surface_v normal xl:max-w-[496px] mb-10">
Торгово-промышленная палата Туркменистана создана в целях содействия
развитию экономики Туркменистана, ее интегрированию в мировую
хозяйственную систему, формированию современной промышленной,
@ -25,7 +20,15 @@ export const AboutPlace: FC<Props> = ({ className }) => {
установлении торгово-экономических, научных и технических связей с
зарубежными партнерами.
</p>
<div className="size-full xl:hidden">
<img src="/map.png" alt="map" className="size-full object-cover" />
</div>
</Container>
<div className="h-full 2xl:w-[850px] xl:w-[650px] xl:block hidden absolute top-0 right-0">
<img src="/map.png" alt="" className="size-full object-cover" />
</div>
</section>
);
};

View File

@ -14,21 +14,21 @@ export const AboutThemes: FC<Props> = ({ className }) => {
className={cn("relative w-full bg-[#FDE8C4] -z-10 py-10", className)}
>
<img
src="/about-bg.svg"
src="/theme-cover.png"
alt=""
className="absolute top-0 left-0 size-full object-cover"
className="absolute top-0 left-0 size-full -z-10 object-cover"
/>
<Container>
<h3 className="h2 mb-4">Отрасли</h3>
<p className="text-lg text-on_surface_v mb-6">
<p className="text-lg text-primary_09 mb-6">
Мероприятие объединит ключевых игроков в таких отраслях, как:
</p>
<div className="grid md:grid-cols-4 grid-cols-2 gap-6">
{themes.map((item) => (
<ThemeCard
className="!bg-teritary_surface_container"
className="!bg-primary_container"
key={item.title}
{...item}
/>
@ -36,8 +36,8 @@ export const AboutThemes: FC<Props> = ({ className }) => {
</div>
<div className="flex items-center gap-3 mt-8 text-on_surface_v text-lg">
<div className="md:w-1 w-4 md:h-[38px] h-40 bg-teritary_08" />
<p className="text-18">
<div className="md:w-1 w-4 md:h-[38px] h-40 bg-primary_09" />
<p className="text-18 !text-primary_09">
Участники смогут продемонстрировать свои инновационные решения,
наладить взаимовыгодные партнерства и выйти на новые рынки.
</p>

View File

@ -96,7 +96,7 @@ export const B2bForm: FC<Props> = ({
// Отправляем запрос
const res = await axios.post(
"https://itse.turkmenexpo.com/app/api/v1/form",
"https://turkmentextile.turkmenexpo.com/app/api/v1/form",
formData,
{
headers: {

View File

@ -32,16 +32,15 @@ export const HomeAbout: FC = () => {
<Container className="flex flex-col gap-6">
<div className="text-center">
<h2 className="h2 md:mb-3 mb-6 text-left sm:text-center">
Выставка-ярмарка «Международная Торговля и Услуги» в Ашхабаде
Выставка-ярмарка «TurkmenTextile Expo 2025» в Ашхабаде{" "}
</h2>
<p className="md:text-base text-sm normal text-left sm:text-center text-[#454545]">
С 29 апреля по 1 мая 2025 года столица Туркменистана, Ашхабад,
станет центром международного делового сообщества благодаря
крупнейшей выставке-ярмарке «Торговля и услуги». Организованная
Торгово-промышленной палатой Туркменистана и компанией Turkmen Expo,
эта выставка направлена на укрепление глобальных торговых связей,
привлечение инвестиций и демонстрацию экономического потенциала
страны.
Глобальная выставка и ярмарка текстиля и моды, которая объединит
мировых лидеров отрасли, инновационных производителей и творческих
дизайнеров. Наша миссия укрепить позиции Туркменистана как
ключевого центра текстильной и модной индустрии. Выставка станет
платформой для изучения устойчивых практик, современных технологий и
новых дизайнерских решений, вдохновляя на развитие индустрии.{" "}
</p>
</div>

View File

@ -47,7 +47,11 @@ export const HomeTheme: FC = () => {
<div className="grid md:grid-cols-4 grid-cols-2 gap-6">
{themes.map((item) => (
<ThemeCard key={item.title} {...item} />
<ThemeCard
key={item.title}
{...item}
iconClassName="bg-teritary_04"
/>
))}
</div>
</Container>

View File

@ -12,15 +12,15 @@ interface Props {
export const times = [
{
name: "Монтаж выставки",
date: "1 — 27 апреля 2025 года",
date: "12 мая 10 июня 2025 года",
},
{
name: "Работа",
date: "29 — 1 мая 2025 года",
date: "1113 июня 2025 года",
},
{
name: "Демонтаж",
date: "1 — 2 мая 2025 года",
date: "1314 июня 2025 года",
},
];
@ -36,7 +36,7 @@ const contacts = [
img: "/contacts/location.svg",
},
{
title: "+99371871814; 99363719588",
title: "+99371871812; 99363719588",
subtitle: "Контактный номер",
img: "/contacts/mobile.svg",
},

View File

@ -5,9 +5,15 @@ interface Props {
img: string;
title: string;
className?: string;
iconClassName?: string;
}
export const ThemeCard: FC<Props> = ({ className, img, title }) => {
export const ThemeCard: FC<Props> = ({
className,
img,
title,
iconClassName,
}) => {
return (
<article
className={cn(
@ -16,7 +22,11 @@ export const ThemeCard: FC<Props> = ({ className, img, title }) => {
)}
>
<div className="bg-primary size-full -z-[10] absolute top-2.5 left-2.5" />
<img src={img} alt="theme icon" className="md:size-20 size-12" />
<div
className={cn("md:size-[84px] size-12 bg-teritary p-3", iconClassName)}
>
<img src={img} alt="theme icon" />
</div>
<h3 className="md:mt-6 mt-2 md:text-xl text-sm">{title}</h3>
</article>
);

View File

@ -16,7 +16,7 @@ export const TimeCard: FC<Props> = ({
}) => {
return (
<div className={cn("rounded-t-[4px] overflow-hidden", className)}>
<div className="bg-primary text-white flex items-center h-11 px-4">
<div className="bg-teritary text-white flex items-center h-11 px-4">
{name}
</div>

View File

@ -1,5 +1,10 @@
import { Container, Cover } from "@/components/layout";
import { AboutBron, AboutPlace, AboutTime } from "@/components/shared";
import {
AboutBron,
AboutPlace,
AboutThemes,
AboutTime,
} from "@/components/shared";
import { useScrollTop } from "@/hooks/use-scroll-top";
import { cn } from "@/lib/utils";
import { FC } from "react";
@ -130,7 +135,7 @@ export const About: FC<Props> = ({ className }) => {
</div>
</Container>
{/* <AboutThemes /> */}
<AboutThemes />
<AboutTime />
<AboutPlace />
<AboutBron />

View File

@ -20,6 +20,7 @@ import { FC, useEffect, useState } from "react";
import { useForm } from "react-hook-form";
import { Loader } from "lucide-react";
import { Cover } from "@/components/layout";
import { postStend } from "@/services/service";
interface Props {
className?: string;
@ -33,12 +34,9 @@ export const StendForm: FC<Props> = ({ className }) => {
});
const onSubmit = async (data: StandFormType) => {
const res = await axios.post(
"https://itse.turkmenexpo.com/app/api/v1/book_stand_form",
data
);
const status = await postStend(data);
if (res.status === 201) setSuccess(true);
if (status) setSuccess(true);
};
useEffect(() => {

View File

@ -1,13 +1,14 @@
import { SponsorFormType } from "@/lib/get-sponsor-form-details";
import { StandFormType } from "@/lib/get-stend-form-details";
import axios from "axios";
const URL = "https://itse.turkmenexpo.com/app/api/v1";
// export const postStend = async (data: StandFormType): Promise<boolean> => {
// const res = axios.post(`${URL}/become_delegate`, data);
export const postStend = async (data: StandFormType): Promise<boolean> => {
const res = axios.post(`${URL}/book_stand_form`, data);
// return (await res).status === 201;
// };
return (await res).status === 201;
};
export const postB2b = async (data: FormData): Promise<boolean> => {
const res = axios.post(`${URL}/form`, data);
@ -16,7 +17,7 @@ export const postB2b = async (data: FormData): Promise<boolean> => {
};
export const postSponsor = async (data: SponsorFormType): Promise<boolean> => {
const res = axios.post(`${URL}/become_sponsor`, data);
const res = axios.post(`${URL}/become_sponsor_form`, data);
return (await res).status === 201;
};

View File

@ -14,8 +14,9 @@ export default {
reverse_primary: "#F6B2B8",
primary_03: "#F6B2B8",
primary_04: "#9AB4E4",
primary_09: "#99101D",
on_primary: "#ffffff",
primary_container: "#BBCDED",
primary_container: "#F6B2B8",
on_primary_container: "#112343",
primary_outline_reverse: "#789BDB",