diff --git a/frontend/src/pages/ProjectDetail.tsx b/frontend/src/pages/ProjectDetail.tsx index 70680ae..ff93d3a 100644 --- a/frontend/src/pages/ProjectDetail.tsx +++ b/frontend/src/pages/ProjectDetail.tsx @@ -10,6 +10,8 @@ import { useEffect } from 'react'; import { useSite, useStatusLabel } from '../api'; import { useLang } from '../i18n/lang'; import { useAdmin } from '../admin/AdminContext'; +import { LazyProjectsMapSingle } from '../map/LazyMaps'; +import { createPlaceholderProject, findMapProjectByName } from '../data/mapProjects'; import { applySeo } from '../seo'; export function ProjectDetail() { @@ -21,6 +23,12 @@ export function ProjectDetail() { const statusLabel = useStatusLabel(project?.status ?? '') const [lightbox, setLightbox] = useState(null) + // مختصات پروژه از فهرست سنجاق‌های شیت؛ نبودش → محل جایگزین تا نقشه خالی نماند + const mapLocation = project + ? (findMapProjectByName(project.title) ?? createPlaceholderProject(project.title, project.summary)) + : null + const mapImages = project ? [project.image, ...(Array.isArray(project.gallery) ? project.gallery : [])].filter(Boolean) : [] + // عنوان تب، توضیح متا، OG و JSON-LD از خود پروژه — هم‌ارز نسخهٔ سمت سرور (seo_pages.py) useEffect(() => { if (!project) return; @@ -127,6 +135,21 @@ export function ProjectDetail() { + {/* نقشهٔ مختصات پروژه — بلافاصله زیر هیرو */} + {mapLocation && ( +
+
+
+ +
+
+
+ )} +