fix: replace emoji with hero image in blog sidebar doctor card
- Post.cshtml.cs: load hero image, tag from SiteSettings in SetViewDataAsync - Post.cshtml: show <img> with hero image in .doc-avatar when set, fall back to emoji only if no image is configured - .doc-avatar: circular crop with object-fit:cover, gold border - doc-title now uses HeroTag from settings (not hardcoded) Co-Authored-By: Claude Sonnet 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -99,7 +99,9 @@
|
||||
.recent-title:hover{color:var(--gold)}
|
||||
.recent-date{font-size:.73rem;color:var(--light);margin-top:.2rem}
|
||||
.doctor-card{text-align:center}
|
||||
.doc-avatar{width:80px;height:80px;border-radius:50%;background:var(--gold-pale);margin:0 auto .8rem;display:flex;align-items:center;justify-content:center;font-size:2rem}
|
||||
.doc-avatar{width:90px;height:90px;border-radius:50%;background:var(--gold-pale);margin:0 auto .8rem;overflow:hidden;border:3px solid var(--gold)}
|
||||
.doc-avatar img{width:100%;height:100%;object-fit:cover;object-position:top}
|
||||
.doc-avatar-placeholder{width:100%;height:100%;display:flex;align-items:center;justify-content:center;font-size:2.2rem}
|
||||
.doc-name{font-size:.95rem;font-weight:700;color:var(--dark)}
|
||||
.doc-title{font-size:.78rem;color:var(--light);margin:.2rem 0 .8rem}
|
||||
.doc-btn{background:var(--gold);color:#fff;padding:.5rem 1.2rem;border-radius:50px;font-family:'Vazirmatn',sans-serif;font-size:.82rem;border:none;cursor:pointer;width:100%;text-decoration:none;display:block;text-align:center}
|
||||
@@ -254,9 +256,18 @@
|
||||
<!-- ── Sidebar ── -->
|
||||
<aside class="sidebar">
|
||||
<div class="sidebar-card doctor-card">
|
||||
<div class="doc-avatar">👩⚕️</div>
|
||||
<div class="doc-avatar">
|
||||
@if (!string.IsNullOrEmpty(ViewData["HeroImage"]?.ToString()))
|
||||
{
|
||||
<img src="@ViewData["HeroImage"]" alt="@post.Author"/>
|
||||
}
|
||||
else
|
||||
{
|
||||
<div class="doc-avatar-placeholder">👩⚕️</div>
|
||||
}
|
||||
</div>
|
||||
<div class="doc-name">@post.Author</div>
|
||||
<div class="doc-title">پزشک عمومی | متخصص زیبایی پوست</div>
|
||||
<div class="doc-title">@ViewData["HeroTag"]</div>
|
||||
<a href="/#contact" class="doc-btn">رزرو نوبت</a>
|
||||
</div>
|
||||
|
||||
|
||||
@@ -135,9 +135,12 @@ public class PostModel : PageModel
|
||||
ViewData["ArticleType"] = post.ArticleType;
|
||||
ViewData["Slug"] = post.Slug;
|
||||
|
||||
var s = await _db.SiteSettings
|
||||
.FirstOrDefaultAsync(x => x.Section == "hero" && x.Key == "name");
|
||||
ViewData["SiteName"] = s?.Value ?? "دکتر سوسن آلطه";
|
||||
var heroSettings = await _db.SiteSettings
|
||||
.Where(x => x.Section == "hero" && (x.Key == "name" || x.Key == "image" || x.Key == "tag"))
|
||||
.ToListAsync();
|
||||
ViewData["SiteName"] = heroSettings.FirstOrDefault(x => x.Key == "name")?.Value ?? "دکتر سوسن آلطه";
|
||||
ViewData["HeroImage"] = heroSettings.FirstOrDefault(x => x.Key == "image")?.Value ?? "";
|
||||
ViewData["HeroTag"] = heroSettings.FirstOrDefault(x => x.Key == "tag")?.Value ?? "پزشک عمومی و متخصص زیبایی پوست";
|
||||
}
|
||||
|
||||
// View model for comments
|
||||
|
||||
Reference in New Issue
Block a user