feat(map): زوماوت آزاد تا دید کشوری، قاب نخست روی همهٔ پروژهها با fitBounds، و تصاویر دیتابیس در پاپآپ نقشه
This commit is contained in:
@@ -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>
|
||||
|
||||
Reference in New Issue
Block a user