fix(map): پاپ‌آپ نقشهٔ اصلی هم فقط گالری را نشان می‌دهد — بدون تکرار تصویر شاخص و بدون قاب خالی

This commit is contained in:
aramesh-site deploy
2026-10-09 17:33:49 +00:00
parent 29dc8459f7
commit 00abef23df
2 changed files with 5 additions and 6 deletions
+1 -1
View File
@@ -73,7 +73,7 @@ export function ProjectsMapAll({
{popupHost &&
activeProject &&
createPortal(
<ProjectPopupCard project={activeProject} images={images} onClose={closePopup}>
<ProjectPopupCard project={activeProject} images={images} hideImageWhenEmpty onClose={closePopup}>
<Link to={projectHref} className={POPUP_PRIMARY_CLASS}>
{t('viewProject')}
<MdArrowBack className="h-4 w-4" aria-hidden="true" />
+4 -5
View File
@@ -87,15 +87,14 @@ 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);
if (!dbMatch || !Array.isArray(dbMatch.gallery)) return [];
return dbMatch.gallery.filter((src): src is string => !!src);
};
return (