feat(map): زوم‌اوت آزاد تا دید کشوری، قاب نخست روی همهٔ پروژه‌ها با fitBounds، و تصاویر دیتابیس در پاپ‌آپ نقشه

This commit is contained in:
aramesh-site deploy
2026-10-01 15:15:32 +00:00
parent 6f1f42ba7a
commit 729b19bc12
3 changed files with 32 additions and 5 deletions
+12
View File
@@ -81,6 +81,17 @@ export function Projects() {
return dbMatch ? `/projects/${dbMatch.slug}` : undefined;
};
// تصاویر پاپ‌آپ نقشه — تصویر شاخص + گالری پروژهٔ متناظر در دیتابیس؛
// پروژهٔ بدون تصویر یا بدون متناظر، جای‌نگهدار می‌گیرد.
const imagesFor = (mapProject: MapProject): string[] => {
const dbMatch = dbProjects.find(
(p) => p.title === mapProject.name || p.title_en === mapProject.name,
);
if (!dbMatch) return [];
const gallery = Array.isArray(dbMatch.gallery) ? dbMatch.gallery : [];
return [dbMatch.image, ...gallery].filter((src): src is string => !!src);
};
return (
<>
<PageHero pageKey="projects" />
@@ -92,6 +103,7 @@ export function Projects() {
<LazyProjectsMapAll
projects={MAP_PROJECTS}
resolveProjectHref={resolveProjectHref}
imagesFor={imagesFor}
className="h-[350px] md:h-[450px] lg:h-[55vh] max-h-[600px] w-full"
/>
</div>