From 7f5444085b8e3eaf1076fb27227cb52c6fc82bc9 Mon Sep 17 00:00:00 2001 From: "soroush.asadi" Date: Mon, 1 Jun 2026 23:59:57 +0330 Subject: [PATCH] fix: render before/after gallery images from API with tab filtering MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Gallery section now fetches /api/gallery and renders real items instead of hardcoded placeholders - Before+after pairs render as side-by-side split with قبل/بعد labels - Single imageUrl items render as a standard gallery card - Tab buttons now filter items by category via data-cat attribute - CSS added for .before-after, .ba-half, .ba-divider, .ba-label, .gallery-caption - Fixes applied to correct file (Index.cshtml Razor page, not root index.html) Co-Authored-By: Claude Sonnet 4.5 --- DrSousan.Api/Pages/Index.cshtml | 58 +++++++---- index.html | 167 ++++++++++++++++++++------------ 2 files changed, 145 insertions(+), 80 deletions(-) diff --git a/DrSousan.Api/Pages/Index.cshtml b/DrSousan.Api/Pages/Index.cshtml index cc34bce..e0b0c37 100644 --- a/DrSousan.Api/Pages/Index.cshtml +++ b/DrSousan.Api/Pages/Index.cshtml @@ -119,6 +119,14 @@ .gallery-placeholder p { font-size:0.75rem; } .gallery-item-overlay { position:absolute; inset:0; background:rgba(184,149,90,0); display:flex; align-items:center; justify-content:center; transition:background 0.3s; } .gallery-item:hover .gallery-item-overlay { background:rgba(184,149,90,0.15); } + .gallery-item.before-after { display:flex; flex-direction:row; } + .gallery-item.before-after .ba-half { flex:1; position:relative; overflow:hidden; } + .gallery-item.before-after .ba-half img { width:100%; height:100%; object-fit:cover; display:block; transition:transform 0.4s; } + .gallery-item.before-after:hover .ba-half img { transform:scale(1.05); } + .gallery-item.before-after .ba-label { position:absolute; bottom:6px; left:50%; transform:translateX(-50%); background:rgba(0,0,0,0.55); color:#fff; font-size:0.65rem; padding:2px 8px; border-radius:20px; white-space:nowrap; pointer-events:none; } + .gallery-item.before-after .ba-divider { width:2px; background:rgba(255,255,255,0.7); flex-shrink:0; } + .gallery-caption { position:absolute; bottom:0; left:0; right:0; background:linear-gradient(transparent,rgba(0,0,0,0.5)); color:#fff; font-size:0.75rem; padding:1.2rem 0.8rem 0.5rem; text-align:center; pointer-events:none; } + .gallery-item[style*="display:none"] { display:none !important; } /* ─── Testimonials ─────────────────────────────────────────── */ #testimonials { background:var(--section-bg); } .testimonials-header { text-align:center; margin-bottom:3rem; } @@ -412,28 +420,37 @@ -