feat: add Map component with location details and embedded Yandex map

This commit is contained in:
2025-07-17 13:32:33 +09:00
parent 02389bf051
commit d922aca9ef
9 changed files with 317 additions and 1 deletions
Binary file not shown.

After

Width:  |  Height:  |  Size: 52 KiB

File diff suppressed because one or more lines are too long

After

Width:  |  Height:  |  Size: 166 KiB

+5
View File
@@ -0,0 +1,5 @@
<svg width="302" height="90" viewBox="0 0 302 90" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M39.1448 70.4699C40.553 72.0403 41.9609 73.6109 43.5569 75.0889C51.4569 82.4589 61.2838 87.4543 71.9062 89.5V83.1258C63.0706 81.1565 54.9309 76.8482 48.3442 70.6547C46.279 68.807 44.4955 66.6824 42.8058 64.5576C41.8324 66.3957 40.7671 68.1839 39.614 69.9155C39.4265 70.1005 39.3325 70.285 39.1448 70.4699ZM29.2882 64.2807C27.5798 66.5762 25.6629 68.7098 23.5619 70.6547C16.9752 76.8482 8.83558 81.1564 0 83.1258V89.5C10.5946 87.3742 20.4007 82.3894 28.3494 75.0889C29.9452 73.5184 31.5411 71.948 32.9492 70.285L32.6677 69.9155C31.4472 68.068 30.3208 66.2205 29.2882 64.2807ZM5.2532e-06 79.0612C7.51349 77.0815 14.4163 73.2723 20.0888 67.9757C24.2153 64.1195 27.5613 59.5096 29.9452 54.3959C31.4684 58.5793 33.5188 62.5527 36.047 66.2206C38.4876 63.0796 40.3651 58.8302 42.1486 54.3959C44.5327 59.5095 47.8788 64.1195 52.0054 67.9757C57.6802 73.2189 64.5387 77.0214 72 79.0612V72.5023C66.2992 70.7232 61.0707 67.6928 56.6989 63.6339C49.4708 56.8901 44.9649 47.7448 44.9649 37.5831V9.5H38.2999V37.5832C38.2999 42.4791 37.455 48.299 35.9532 52.7333C34.4512 48.2067 33.6063 42.4791 33.6063 37.5832V9.5H26.9413V37.5832C26.9413 47.7449 22.5294 56.9825 15.3951 63.6339C10.9744 67.6755 5.71961 70.7026 5.2532e-06 72.5023V79.0612ZM49.0014 35.9204V30.6546H55.6662V36.9366C55.6733 40.5059 56.4285 44.0343 57.8834 47.2955C59.3384 50.5567 61.4609 53.4787 64.1149 55.8739C66.4 58.0252 69.0345 59.7745 71.9063 61.0473V67.8833C67.2275 66.2647 62.9419 63.684 59.3274 60.3084C52.944 54.3037 48.9074 45.9895 48.9074 36.9366V35.9204H49.0014ZM16.2399 35.9204V30.6546H22.9049V36.9366C22.9049 46.0819 18.9622 54.3037 12.485 60.3084C8.90501 63.6822 4.65039 66.2635 5.2532e-06 67.8833V61.0473C2.87177 59.7744 5.50625 58.0252 7.7914 55.8739C12.9544 50.978 16.2399 44.3268 16.2399 36.9366L16.2399 35.9204Z" fill="#E0E0E0"/>
<path d="M165.432 46.4078H159.719V9.2751H165.432V23.7772H166.369C169.46 23.7772 170.49 20.4518 170.49 17.9579V9.2751H176.204V17.7731C176.204 21.6526 174.706 24.6084 171.896 26.5482C174.987 28.6726 176.204 31.3515 176.204 35.3234V46.5H170.49V35.0461C170.49 32.6445 169.366 29.6887 166.369 29.7811H165.339V46.4078L165.432 46.4078ZM263.127 46.4078V9.2751H268.279V30.9821L274.18 9.2751H280.55V46.4078H275.398V20.5443L268.373 46.4078H263.127ZM284.577 46.4078V9.2751H289.729V30.9821L295.632 9.2751H302V46.4078H296.846V20.5443L289.821 46.4078H284.577ZM299.657 0.5V4.84138H287.013V0.5H299.657ZM248.421 46.4078H242.709V9.2751H248.421V23.7772H249.359C252.45 23.7772 253.48 20.4518 253.48 17.9579V9.2751H259.192V17.7731C259.192 21.6526 257.694 24.6084 254.884 26.5482C257.975 28.6726 259.192 31.3515 259.192 35.3234V46.5H253.48V35.0461C253.48 32.6445 252.356 29.6887 249.359 29.7811H248.329V46.4078L248.421 46.4078ZM144.264 46.3153H138.55V9.2751H155.597V24.1466H149.696V14.5402H144.264V41.0502H149.696V31.4439H155.597V46.3153H144.264ZM227.252 46.3153H221.54V9.2751H238.587V24.1466H232.687V14.5402H227.252V41.0502H232.687V31.4439H238.587V46.3153H227.252ZM128.621 14.5402H123.282V41.0502H128.621V14.5402ZM123.095 46.3153H117.381V9.18273H134.429V46.3153H123.095ZM191.565 14.5402H186.227V41.0502H191.565V14.5402ZM186.133 46.3153H180.419V9.18273H197.466V46.3153H186.133ZM207.209 14.5402V24.5162C209.363 24.6084 211.985 24.5162 211.985 20.7288V14.5402L207.209 14.5402ZM207.209 29.7811V41.0502H211.985V33.8455C211.985 30.0583 209.363 29.6887 207.209 29.7811ZM217.699 15.741V20.3594C217.699 23.3152 216.481 25.4398 214.513 26.8253C216.667 28.4881 217.699 31.0742 217.699 34.2149V46.3153H201.495V9.2751H217.699V15.741ZM101.177 34.1224C102.675 26.1786 104.642 17.3113 105.579 9.3675H113.353V46.5H108.295V31.7209L108.857 18.4197C108.108 22.6687 105.298 38.3715 101.739 45.9459H100.615C97.0552 38.3715 94.1515 22.6687 93.496 18.4197L94.058 31.7209V46.4078H89V9.2751H96.7744C97.711 17.3113 99.6779 26.1786 101.177 34.1224Z" fill="#E0E0E0"/>
<path d="M158.066 57.8252V74.2592C160.224 74.351 162.851 73.9838 162.851 70.2197V57.7334H158.066V57.8252ZM168.575 65.3535V69.9441C168.575 75.6365 165.573 79.5844 159.942 79.5844H158.066V89.5H152.341V52.5H168.575V65.3535ZM170.171 52.5H188V57.7334H181.994V89.3162H176.27V57.8252H170.264V52.5L170.171 52.5ZM142.582 57.8252H137.233V84.1748H142.582V57.8252ZM137.046 89.408H131.321V52.5H148.4V89.408H137.046ZM94.7241 89.408H89V52.5H106.079V67.2818H100.167V57.8252H94.7241V84.1748H100.167V74.6266H106.079V89.408H94.7241ZM115.932 89.408H110.208V52.5H127.286V89.408H121.374V57.8252H115.932V89.408Z" fill="#E0E0E0"/>
</svg>

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 242 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 94 KiB

+40
View File
@@ -0,0 +1,40 @@
import { fluxgore, gothampro } from "@/utils/fonts";
import Button from "./Button";
function Map() {
return (
<div className="bg-[#272727] relative pt-14 pb-32">
<div className="container mx-auto flex flex-row">
<div className="flex flex-col w-1/2">
<h1 className={`${fluxgore.className} text-7xl text-white relative`}>
как нас найти
</h1>
<h2 className={`${fluxgore.className} text-4xl text-[#1068B0] mt-20`}>
5-7 сентября 2025
</h2>
<p
className={`${gothampro.className} text-3xl text-[#E6E6E6] mt-5 font-medium max-w-2/3`}
>
г. Москва парк Технических видов спорта, МЦД2 станция Курьяново
</p>
<div className="flex flex-col justify-end flex-grow mt-10">
<Button shadowEnabled={false}>схема проезда</Button>
</div>
</div>
<div className="w-1/2">
<iframe
src="https://yandex.com/map-widget/v1/?um=constructor%3Ad4445ea405fa54c9148340a7de87f7a4b9df164b35ff2fe504cf79adc1fab55c&amp;source=constructor"
className="w-full h-[500px]"
frameBorder="0"
></iframe>
</div>
</div>
</div>
);
}
export default Map;
+48 -1
View File
@@ -1,5 +1,52 @@
/* eslint-disable @next/next/no-img-element */
import { fluxgore } from "@/utils/fonts";
function Partners() {
return <div>Partners</div>;
return (
<div
className="bg-[#161616] relative py-52"
style={{
backgroundImage: `url('/images/noise.svg')`,
backgroundSize: "cover",
backgroundRepeat: "repeat",
backgroundBlendMode: "overlay",
}}
>
<div className="container mx-auto">
<h1 className={`${fluxgore.className} text-7xl text-white relative`}>
партнеры
</h1>
<div className="grid grid-cols-2 md:grid-cols-3 lg:grid-cols-5 gap-24 mt-16">
<img
src="/logos/dep.svg"
className="w-auto h-24 object-contain"
alt="Dep Logo"
/>
<img
src="/logos/mos.svg"
className="w-auto h-24 object-contain"
alt="Mos Logo"
/>
<img
src="/logos/raf.png"
className="w-auto h-24 object-contain"
alt="Raf Logo"
/>
<img
src="/logos/ctvs.png"
className="w-auto h-24 object-contain"
alt="Ctvs Logo"
/>
<img
src="/logos/smp.png"
className="w-auto h-24 object-contain"
alt="SMP Logo"
/>
</div>
</div>
</div>
);
}
export default Partners;
+4
View File
@@ -2,7 +2,9 @@ import Activities from "@/components/Activities";
import Cover from "@/components/Cover";
import Events from "@/components/Events";
import Info from "@/components/Info";
import Map from "@/components/Map";
import Navbar from "@/components/Navbar";
import Partners from "@/components/Partners";
import Scheme from "@/components/Scheme";
import Video from "@/components/Video";
@@ -17,6 +19,8 @@ export default function Home() {
<Scheme />
<Events />
<Activities />
<Partners />
<Map />
</main>
</>
);
+1
View File
@@ -7,4 +7,5 @@
body {
height: 100%;
overflow-x: hidden;
}