build
This commit is contained in:
parent
0c3821a9bb
commit
2da9746df0
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
File diff suppressed because one or more lines are too long
|
|
@ -66,10 +66,10 @@
|
||||||
})(window, document, "script", "dataLayer", "GTM-NK394LVK");
|
})(window, document, "script", "dataLayer", "GTM-NK394LVK");
|
||||||
</script>
|
</script>
|
||||||
<title>Turkmen Textile</title>
|
<title>Turkmen Textile</title>
|
||||||
<script type="module" crossorigin src="/assets/index-Bp_j2PCu.js"></script>
|
<script type="module" crossorigin src="/assets/index-Dmj6yV91.js"></script>
|
||||||
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CE_Ks92h.js">
|
<link rel="modulepreload" crossorigin href="/assets/react-vendor-CE_Ks92h.js">
|
||||||
<link rel="modulepreload" crossorigin href="/assets/ui-library-CURTjtxW.js">
|
<link rel="modulepreload" crossorigin href="/assets/ui-library-CVZjQZ_5.js">
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index--gnBA1VZ.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-l_IUIdQT.css">
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div id="root"></div>
|
<div id="root"></div>
|
||||||
|
|
|
||||||
|
|
@ -8,7 +8,7 @@ function App() {
|
||||||
<ReactLenis
|
<ReactLenis
|
||||||
root
|
root
|
||||||
options={{
|
options={{
|
||||||
lerp: 0.07,
|
lerp: 0.1,
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<Header />
|
<Header />
|
||||||
|
|
|
||||||
|
|
@ -14,7 +14,8 @@ const buttonVariants = cva(
|
||||||
teritary: "bg-teritary hover:bg-teritary/90 text-on_surface",
|
teritary: "bg-teritary hover:bg-teritary/90 text-on_surface",
|
||||||
destructive:
|
destructive:
|
||||||
"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
"bg-destructive text-destructive-foreground shadow-sm hover:bg-destructive/90",
|
||||||
outline: "border border-outline text-on_surface",
|
outline:
|
||||||
|
"border border-outline text-on_surface hover:bg-primary hover:text-white duration-300",
|
||||||
secondary:
|
secondary:
|
||||||
"bg-secondary_container hover:bg-secondary_container/80 text-on_secondary_container",
|
"bg-secondary_container hover:bg-secondary_container/80 text-on_secondary_container",
|
||||||
ghost: "hover:bg-accent hover:text-accent-foreground",
|
ghost: "hover:bg-accent hover:text-accent-foreground",
|
||||||
|
|
|
||||||
|
|
@ -84,6 +84,14 @@
|
||||||
"title": "Exhibitors",
|
"title": "Exhibitors",
|
||||||
"drop": true,
|
"drop": true,
|
||||||
"dropDownContent": [
|
"dropDownContent": [
|
||||||
|
{
|
||||||
|
"text": "Participation Options",
|
||||||
|
"link": "/participation-options"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Partnership Opportunities",
|
||||||
|
"link": "/partner-opportunities"
|
||||||
|
},
|
||||||
{
|
{
|
||||||
"text": "Book a stand",
|
"text": "Book a stand",
|
||||||
"link": "/stend-form"
|
"link": "/stend-form"
|
||||||
|
|
|
||||||
|
|
@ -83,6 +83,15 @@
|
||||||
"title": "Участникам",
|
"title": "Участникам",
|
||||||
"drop": true,
|
"drop": true,
|
||||||
"dropDownContent": [
|
"dropDownContent": [
|
||||||
|
{
|
||||||
|
"text": "Варианты участия",
|
||||||
|
"link": "/participation-options"
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"text": "Партнерские возможности",
|
||||||
|
"link": "/partner-opportunities"
|
||||||
|
},
|
||||||
|
|
||||||
{ "text": "Забронировать стенд", "link": "/stend-form" },
|
{ "text": "Забронировать стенд", "link": "/stend-form" },
|
||||||
{
|
{
|
||||||
"text": "Почему стоит учатсвовать",
|
"text": "Почему стоит учатсвовать",
|
||||||
|
|
|
||||||
|
|
@ -10,3 +10,5 @@ export { default as Participants } from "./participants";
|
||||||
export { default as StendForm } from "./stend-form";
|
export { default as StendForm } from "./stend-form";
|
||||||
export { default as Impressions } from "./impressions";
|
export { default as Impressions } from "./impressions";
|
||||||
export { default as ImpressionsTm } from "./impressions-tm";
|
export { default as ImpressionsTm } from "./impressions-tm";
|
||||||
|
export { default as ParticipationOptions } from "./participation-options";
|
||||||
|
export { default as PartnerOpportunities } from "./partner-opportunities";
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,236 @@
|
||||||
|
import { Cover, Container } from "@/components/layout";
|
||||||
|
import { Button } from "@/components/ui/button";
|
||||||
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
import { useLangStore } from "@/store/lang";
|
||||||
|
|
||||||
|
const exampleImage = "/about-place.jpg";
|
||||||
|
|
||||||
|
const participationOptionsContent = {
|
||||||
|
title: {
|
||||||
|
ruText: "Варианты участия",
|
||||||
|
enText: "Participation Options",
|
||||||
|
},
|
||||||
|
exhibitionSpace: {
|
||||||
|
ruText: "Аренда выставочной площади",
|
||||||
|
enText: "Exhibition Space Rental",
|
||||||
|
},
|
||||||
|
spaceOnly: {
|
||||||
|
ruText: "Необорудованная площадь",
|
||||||
|
enText: "Space Only",
|
||||||
|
},
|
||||||
|
example: {
|
||||||
|
ruText: "Пример",
|
||||||
|
enText: "Example",
|
||||||
|
},
|
||||||
|
spaceOnlyDescription: {
|
||||||
|
ruText:
|
||||||
|
"Чистая площадь для последующей застройки (стандартная застройка или по индивидуальному дизайну). Включает: общую уборку и охрану павильона. Электричество в стоимость не включено.",
|
||||||
|
enText:
|
||||||
|
"Raw exhibition space for subsequent construction (standard booth or customized design). Includes general cleaning and pavilion security. Electricity is not included in the price.",
|
||||||
|
},
|
||||||
|
standardBooth: {
|
||||||
|
ruText: "Стандартная застройка",
|
||||||
|
enText: "Standard Booth Construction",
|
||||||
|
},
|
||||||
|
customBooth: {
|
||||||
|
ruText: "Индивидуальный дизайн",
|
||||||
|
enText: "Custom Booth Design",
|
||||||
|
},
|
||||||
|
boothExampleDescription: {
|
||||||
|
ruText:
|
||||||
|
"Включает: базовое электроподключение (220V - 2 кВт), стены (стандартные или индивидуальный дизайн). Общую уборку и охрану павильона.",
|
||||||
|
enText:
|
||||||
|
"Includes: basic electrical connection (220V - 2 kW), walls (standard or customized design), general cleaning, and pavilion security.",
|
||||||
|
},
|
||||||
|
registrationFee: {
|
||||||
|
ruText: "Участие со стендом включает регистрационную оплату.",
|
||||||
|
enText: "Participation with a booth includes a registration fee.",
|
||||||
|
},
|
||||||
|
pricingNote: {
|
||||||
|
ruText: "Пожалуйста уточните стоимость у менеджера проекта.",
|
||||||
|
enText: "Please check the pricing with the project manager.",
|
||||||
|
},
|
||||||
|
partnershipTitle: {
|
||||||
|
ruText: "Партнёрские возможности",
|
||||||
|
enText: "Partnership Opportunities",
|
||||||
|
},
|
||||||
|
partnershipIntro: {
|
||||||
|
ruText:
|
||||||
|
'Если Вы заинтересованы в более активном выходе на рынок или целью Вашей компании является максимальное продвижение на рынок, используйте пакет "Партнерство выставки". Приобретая данную опцию, Вы получаете:',
|
||||||
|
enText:
|
||||||
|
'If your company is interested in a more active market presence or aims to maximize market promotion, we recommend the "Exhibition Partnership" package. By choosing this option, you will receive:',
|
||||||
|
},
|
||||||
|
partnershipItems: [
|
||||||
|
{
|
||||||
|
ruText: "Статус Партнера выставки, в зависимости от выбранного пакета",
|
||||||
|
enText: "Exhibition Partner status, depending on the selected package",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ruText:
|
||||||
|
"Масштабную рекламную кампанию (размещение логотипа компании на всей рекламной продукции выставки)",
|
||||||
|
enText:
|
||||||
|
"A large-scale advertising campaign (placement of your company logo on all exhibition promotional materials)",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ruText: "Широкую узнаваемость",
|
||||||
|
enText: "Wide recognition",
|
||||||
|
},
|
||||||
|
{
|
||||||
|
ruText: "Ассоциирование выставки с именем Вашей компании и др.",
|
||||||
|
enText:
|
||||||
|
"Association of the exhibition with your company's name, and more",
|
||||||
|
},
|
||||||
|
],
|
||||||
|
partnershipNote: {
|
||||||
|
ruText: "Пожалуйста, уточните стоимость у менеджера проекта.",
|
||||||
|
enText: "Please contact the project manager to clarify the cost.",
|
||||||
|
},
|
||||||
|
exampleImageAlt: {
|
||||||
|
ruText: "Пример площадки",
|
||||||
|
enText: "Example space",
|
||||||
|
},
|
||||||
|
standardExampleAlt: {
|
||||||
|
ruText: "Пример стандартной застройки",
|
||||||
|
enText: "Standard booth example",
|
||||||
|
},
|
||||||
|
customExampleAlt: {
|
||||||
|
ruText: "Пример индивидуального дизайна",
|
||||||
|
enText: "Custom booth example",
|
||||||
|
},
|
||||||
|
};
|
||||||
|
|
||||||
|
const ArrowIcon = () => (
|
||||||
|
<svg
|
||||||
|
width="14"
|
||||||
|
height="20"
|
||||||
|
viewBox="0 0 14 20"
|
||||||
|
fill="none"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
aria-hidden="true"
|
||||||
|
>
|
||||||
|
<path
|
||||||
|
d="M7 1V15M7 15L2 10M7 15L12 10"
|
||||||
|
stroke="currentColor"
|
||||||
|
strokeWidth="1.5"
|
||||||
|
strokeLinecap="round"
|
||||||
|
strokeLinejoin="round"
|
||||||
|
/>
|
||||||
|
</svg>
|
||||||
|
);
|
||||||
|
|
||||||
|
export default function ParticipationOptions() {
|
||||||
|
useScrollTop();
|
||||||
|
const lang = useLangStore((state) => state.lang);
|
||||||
|
const getText = (item: { ruText: string; enText: string }) =>
|
||||||
|
lang === "ru" ? item.ruText : item.enText;
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Cover title={getText(participationOptionsContent.title)} />
|
||||||
|
|
||||||
|
<Container className="page-padding">
|
||||||
|
<div className="mx-auto max-w-[900px] text-on_surface">
|
||||||
|
<p className="mb-10 text-3xl font-medium">
|
||||||
|
{getText(participationOptionsContent.title)}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<Button className="mb-2 bg-primary md:text-sm w-full">
|
||||||
|
1. {getText(participationOptionsContent.exhibitionSpace)}
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<Button
|
||||||
|
variant={"outline"}
|
||||||
|
className="w-full mb-10 border border-primary py-1 text-center text-[11px] text-primary md:text-sm"
|
||||||
|
>
|
||||||
|
{getText(participationOptionsContent.spaceOnly)}
|
||||||
|
</Button>
|
||||||
|
|
||||||
|
<p className="mb-5 text-center text-lg text-[11px]">
|
||||||
|
{getText(participationOptionsContent.example)}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div className="mx-auto h-[180px] w-full max-w-[754px] md:h-[377px]">
|
||||||
|
<img
|
||||||
|
src={exampleImage}
|
||||||
|
alt={getText(participationOptionsContent.exampleImageAlt)}
|
||||||
|
className="size-full rounded-sm object-cover"
|
||||||
|
/>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mt-5 text-center text-[11px] leading-relaxed">
|
||||||
|
<p>{getText(participationOptionsContent.spaceOnlyDescription)}</p>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mt-10 grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||||
|
<div className="w-full flex flex-col items-center gap-2 text-primary">
|
||||||
|
<ArrowIcon />
|
||||||
|
<div className="w-full border border-primary py-1 text-center text-[11px] text-primary md:text-sm">
|
||||||
|
{getText(participationOptionsContent.standardBooth)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
<div className="flex flex-col items-center gap-2 text-primary">
|
||||||
|
<ArrowIcon />
|
||||||
|
<div className="w-full border border-primary py-1 text-center text-[11px] text-primary md:text-sm">
|
||||||
|
{getText(participationOptionsContent.customBooth)}
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mt-10 grid grid-cols-1 gap-6 md:grid-cols-2">
|
||||||
|
<div>
|
||||||
|
<p className="mb-5 text-[11px]">
|
||||||
|
{getText(participationOptionsContent.example)}:
|
||||||
|
</p>
|
||||||
|
<img
|
||||||
|
src={exampleImage}
|
||||||
|
alt={getText(participationOptionsContent.standardExampleAlt)}
|
||||||
|
className="h-[160px] w-full rounded-sm object-cover md:h-[190px]"
|
||||||
|
/>
|
||||||
|
<p className="mt-2 text-[11px] leading-relaxed">
|
||||||
|
{getText(participationOptionsContent.boothExampleDescription)}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
<div>
|
||||||
|
<p className="mb-5 text-[11px]">
|
||||||
|
{getText(participationOptionsContent.example)}:
|
||||||
|
</p>
|
||||||
|
<img
|
||||||
|
src={exampleImage}
|
||||||
|
alt={getText(participationOptionsContent.customExampleAlt)}
|
||||||
|
className="h-[160px] w-full rounded-sm object-cover md:h-[190px]"
|
||||||
|
/>
|
||||||
|
<p className="mt-2 text-[11px] leading-relaxed">
|
||||||
|
{getText(participationOptionsContent.boothExampleDescription)}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className="mt-6 text-center text-sm text-on_surface">
|
||||||
|
{getText(participationOptionsContent.registrationFee)}
|
||||||
|
</p>
|
||||||
|
<p className="text-center text-[11px]">
|
||||||
|
{getText(participationOptionsContent.pricingNote)}
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<div className="mt-6 bg-primary py-3 text-center text-xs font-medium text-on_primary md:text-sm">
|
||||||
|
2. {getText(participationOptionsContent.partnershipTitle)}
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<div className="mt-3 text-[11px] leading-relaxed">
|
||||||
|
<p className="mb-2">
|
||||||
|
{getText(participationOptionsContent.partnershipIntro)}
|
||||||
|
</p>
|
||||||
|
<ul className="list-disc pl-5">
|
||||||
|
{participationOptionsContent.partnershipItems.map((item) => (
|
||||||
|
<li key={item.enText}>{getText(item)}</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
<p className="mt-2">
|
||||||
|
{getText(participationOptionsContent.partnershipNote)}
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</Container>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,93 @@
|
||||||
|
import { Cover, Container } from "@/components/layout";
|
||||||
|
import { useScrollTop } from "@/hooks/use-scroll-top";
|
||||||
|
|
||||||
|
const partnerPackages = [
|
||||||
|
"Генеральный партнер выставки",
|
||||||
|
"Партнер Ленты Ведущих Посетителей",
|
||||||
|
"Партнер деловой программы",
|
||||||
|
"Партнер вечернего приема",
|
||||||
|
"Партнер пакетов посетителей",
|
||||||
|
"Партнер каталога выставки",
|
||||||
|
"Партнер VIP делегации",
|
||||||
|
"Партнер выставки",
|
||||||
|
];
|
||||||
|
|
||||||
|
export default function PartnerOpportunities() {
|
||||||
|
useScrollTop();
|
||||||
|
|
||||||
|
return (
|
||||||
|
<div>
|
||||||
|
<Cover title="Партнерские возможности" />
|
||||||
|
|
||||||
|
<Container className="page-padding text-sm!">
|
||||||
|
<div className="mx-auto max-w-[900px] text-on_surface">
|
||||||
|
<h2 className="mb-3 text-[15px] font-medium">
|
||||||
|
Партнерские возможности
|
||||||
|
</h2>
|
||||||
|
|
||||||
|
<div className="mb-4 rounded-sm bg-surface_container px-4 py-3 text-[11px] leading-relaxed text-on_surface_v">
|
||||||
|
Предлагаем Вам воспользоваться комплексными возможностями —
|
||||||
|
партнерскими пакетами, разработанными под различные маркетинговые
|
||||||
|
задачи компании-участника, которые позволят максимально использовать
|
||||||
|
коммерческий потенциал выставки для усиления бренда Вашей компании и
|
||||||
|
бесспорно повысят эффективность продвижения Вашей компании.
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<p className="mb-4 text-[11px] leading-relaxed text-on_surface_v">
|
||||||
|
Партнерство выставки — это всегда больше, чем просто участие. Это
|
||||||
|
прекрасная возможность выгодно подать Вашу продукцию широкой публике
|
||||||
|
в соответствии с Вашими основными целями и задачами. В каждом
|
||||||
|
партнерском пакете предоставлены уникальные позиции, специально
|
||||||
|
сформированные таким образом, что Вы наиболее точно и эффективно
|
||||||
|
передаете обращение к целевой аудитории.
|
||||||
|
</p>
|
||||||
|
|
||||||
|
<h3 className="mb-2 text-[12px] font-medium">
|
||||||
|
Партнерство выставки Turkmen Textile позволит:
|
||||||
|
</h3>
|
||||||
|
<ul className="mb-4 list-disc pl-5 text-[11px] leading-relaxed text-on_surface_v">
|
||||||
|
<li>Укрепить позиции Вашей компании на рынке.</li>
|
||||||
|
<li>Обеспечить существенное преимущество в конкурентной среде.</li>
|
||||||
|
<li>Закрепить имидж успешного бренда Вашей компании.</li>
|
||||||
|
<li>
|
||||||
|
Сделать Вашу торговую марку узнаваемой для широкого круга
|
||||||
|
участников и посетителей выставки.
|
||||||
|
</li>
|
||||||
|
<li>Выделить Вашу компанию среди других участников.</li>
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<div className="mb-6 rounded-sm border border-outline px-4 py-3 text-center text-[10px] uppercase text-on_surface_v">
|
||||||
|
Вы хотите, чтобы в профессиональной среде именно Вашу компанию
|
||||||
|
считали ключевым игроком на рынке? Тогда заявите о себе громче всех!
|
||||||
|
</div>
|
||||||
|
|
||||||
|
<h3 className="mb-2 text-[12px] font-medium">
|
||||||
|
Варианты партнерских пакетов:
|
||||||
|
</h3>
|
||||||
|
<ul className="mb-4 border-t border-outline_v">
|
||||||
|
{partnerPackages.map((item) => (
|
||||||
|
<li
|
||||||
|
key={item}
|
||||||
|
className="flex items-center gap-2 border-b border-outline_v py-2 text-[11px] text-on_surface_v"
|
||||||
|
>
|
||||||
|
<span className="text-xs text-primary">✓</span>
|
||||||
|
<span>{item}</span>
|
||||||
|
</li>
|
||||||
|
))}
|
||||||
|
</ul>
|
||||||
|
|
||||||
|
<p className="text-[10px] leading-relaxed text-on_surface_v">
|
||||||
|
Данные опции являются базовыми, но мы всегда готовы обсудить вопрос
|
||||||
|
о специальных проектах в рамках партнерства выставки, которые будут
|
||||||
|
соответствовать Вашему бюджету, потребностям и целям.
|
||||||
|
</p>
|
||||||
|
<p className="text-[10px] leading-relaxed text-on_surface_v">
|
||||||
|
По вопросам цен и дополнительных опций партнерских пакетов выставки
|
||||||
|
KIFT, пожалуйста, обращайтесь к{" "}
|
||||||
|
<span className="text-primary underline">ОРГАНИЗАТОРАМ</span>
|
||||||
|
</p>
|
||||||
|
</div>
|
||||||
|
</Container>
|
||||||
|
</div>
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
@ -12,6 +12,8 @@ import {
|
||||||
News,
|
News,
|
||||||
NewsInner,
|
NewsInner,
|
||||||
Participants,
|
Participants,
|
||||||
|
ParticipationOptions,
|
||||||
|
PartnerOpportunities,
|
||||||
StendForm,
|
StendForm,
|
||||||
} from "./pages";
|
} from "./pages";
|
||||||
|
|
||||||
|
|
@ -48,6 +50,16 @@ export const routes = [
|
||||||
path: "impressions-tm",
|
path: "impressions-tm",
|
||||||
errorElement: <Error />,
|
errorElement: <Error />,
|
||||||
},
|
},
|
||||||
|
{
|
||||||
|
element: <ParticipationOptions />,
|
||||||
|
path: "participation-options",
|
||||||
|
errorElement: <Error />,
|
||||||
|
},
|
||||||
|
{
|
||||||
|
element: <PartnerOpportunities />,
|
||||||
|
path: "partner-opportunities",
|
||||||
|
errorElement: <Error />,
|
||||||
|
},
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue