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 && {popupHost &&
activeProject && activeProject &&
createPortal( createPortal(
<ProjectPopupCard project={activeProject} images={images} onClose={closePopup}> <ProjectPopupCard project={activeProject} images={images} hideImageWhenEmpty onClose={closePopup}>
<Link to={projectHref} className={POPUP_PRIMARY_CLASS}> <Link to={projectHref} className={POPUP_PRIMARY_CLASS}>
{t('viewProject')} {t('viewProject')}
<MdArrowBack className="h-4 w-4" aria-hidden="true" /> <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; return dbMatch ? `/projects/${dbMatch.slug}` : undefined;
}; };
// تصاویر پاپ‌آپ نقشه — تصویر شاخص + گالری پروژهٔ متناظر در دیتابیس؛ // تصاویر پاپ‌آپ نقشه — فقط گالری پروژهٔ متناظر (تصویر شاخص در کارت‌های فهرست
// پروژهٔ بدون تصویر یا بدون متناظر، جای‌نگهدار می‌گیرد. // و صفحهٔ پروژه دیده می‌شود و اینجا تکرار نمی‌شود)؛ نبود گالری → قاب تصویر پنهان.
const imagesFor = (mapProject: MapProject): string[] => { const imagesFor = (mapProject: MapProject): string[] => {
const dbMatch = dbProjects.find( const dbMatch = dbProjects.find(
(p) => p.title === mapProject.name || p.title_en === mapProject.name, (p) => p.title === mapProject.name || p.title_en === mapProject.name,
); );
if (!dbMatch) return []; if (!dbMatch || !Array.isArray(dbMatch.gallery)) return [];
const gallery = Array.isArray(dbMatch.gallery) ? dbMatch.gallery : []; return dbMatch.gallery.filter((src): src is string => !!src);
return [dbMatch.image, ...gallery].filter((src): src is string => !!src);
}; };
return ( return (