diff --git a/frontend/src/map/ProjectImageSlider.tsx b/frontend/src/map/ProjectImageSlider.tsx
index 6483e89..88b0467 100644
--- a/frontend/src/map/ProjectImageSlider.tsx
+++ b/frontend/src/map/ProjectImageSlider.tsx
@@ -9,6 +9,8 @@ type ProjectImageSliderProps = {
images: string[]
alt: string
className?: string
+ /** در نبود تصویر، بهجای جاینگهدار کل قاب پنهان شود (صفحهای که تصویر را جای دیگر نشان میدهد) */
+ hideWhenEmpty?: boolean
}
/**
@@ -16,7 +18,7 @@ type ProjectImageSliderProps = {
* شمارندهٔ اسلاید و گوشههای گرد هماندازهٔ کارت. همهٔ رویدادهای اشاره روی
* اسلایدر متوقف میشوند تا کلیک/کشیدن آن، نقشه را جابهجا یا پاپآپ را نبندد.
*/
-export function ProjectImageSlider({ images, alt, className = '' }: ProjectImageSliderProps) {
+export function ProjectImageSlider({ images, alt, className = '', hideWhenEmpty = false }: ProjectImageSliderProps) {
const { t } = useLang()
const [index, setIndex] = useState(0)
@@ -26,6 +28,7 @@ export function ProjectImageSlider({ images, alt, className = '' }: ProjectImage
const frame = `relative aspect-[16/10] w-full overflow-hidden rounded-t-2xl bg-char ${className}`
if (!images.length) {
+ if (hideWhenEmpty) return null
return (
diff --git a/frontend/src/map/ProjectPopupCard.tsx b/frontend/src/map/ProjectPopupCard.tsx
index d73a279..96f27ed 100644
--- a/frontend/src/map/ProjectPopupCard.tsx
+++ b/frontend/src/map/ProjectPopupCard.tsx
@@ -15,6 +15,8 @@ type ProjectPopupCardProps = {
project: MapProject
/** تصاویر پروژه — همان آرایهٔ صفحهٔ جزئیات؛ در نبودش جاینگهدار میآید */
images?: string[]
+ /** در نبود تصویر، قاب تصویر پنهان شود (نه جاینگهدار) — برای صفحهٔ خود پروژه */
+ hideImageWhenEmpty?: boolean
onClose: () => void
/** دکمههای پایهٔ کارت — هر نما اکشنهای خودش را میدهد (عمودی روی هم) */
children: ReactNode
@@ -25,7 +27,7 @@ type ProjectPopupCardProps = {
* عنوان و توضیح، و در پایه دکمههای عمودی. راستبهچپ، شیشهای تیره و
* هماندازهٔ کارتهای سایت. سال پروژه عمداً نمایش داده نمیشود.
*/
-export function ProjectPopupCard({ project, images = [], onClose, children }: ProjectPopupCardProps) {
+export function ProjectPopupCard({ project, images = [], hideImageWhenEmpty = false, onClose, children }: ProjectPopupCardProps) {
const { t } = useLang()
const description = project.description.trim() || t('mapProjectDescription')
@@ -36,7 +38,7 @@ export function ProjectPopupCard({ project, images = [], onClose, children }: Pr
>
{/* اسلایدر تصویر: لبهتالبه، بدون حاشیه، با فلشهای چپ/راست */}
-
+