diff --git a/src/JobsMedical.Web/Pages/Jobs/Details.cshtml b/src/JobsMedical.Web/Pages/Jobs/Details.cshtml index b93e239..3f4b527 100644 --- a/src/JobsMedical.Web/Pages/Jobs/Details.cshtml +++ b/src/JobsMedical.Web/Pages/Jobs/Details.cshtml @@ -37,10 +37,26 @@
@if (Model.ShowContact) { -
- ✓ تمایل شما ثبت شد. برای پیگیری استخدام با مرکز تماس بگیرید: - @(f.Phone ?? "شماره ثبت نشده") - @if (!string.IsNullOrEmpty(f.BaleId)) { — بله: @f.BaleId } +
+

✓ راه‌های ارتباطی مرکز

+ @if (!string.IsNullOrEmpty(f.Phone)) + { +
+ 📞 تلفن@f.Phone + تماس +
+ } + @if (!string.IsNullOrEmpty(f.BaleId)) + { +
+ 💬 بله@f.BaleId + باز کردن +
+ } + @if (string.IsNullOrEmpty(f.Phone) && string.IsNullOrEmpty(f.BaleId)) + { +

شماره‌ای برای این مرکز ثبت نشده است.

+ }
} @if (Model.Saved) diff --git a/src/JobsMedical.Web/Pages/Shifts/Details.cshtml b/src/JobsMedical.Web/Pages/Shifts/Details.cshtml index 0c80eca..ab4d5ac 100644 --- a/src/JobsMedical.Web/Pages/Shifts/Details.cshtml +++ b/src/JobsMedical.Web/Pages/Shifts/Details.cshtml @@ -36,12 +36,25 @@
@if (Model.ShowContact) { -
- ✓ تمایل شما ثبت شد. برای هماهنگی شیفت با مرکز درمانی تماس بگیرید: - @(f.Phone ?? "شماره ثبت نشده") +
+

✓ راه‌های ارتباطی مرکز

+ @if (!string.IsNullOrEmpty(f.Phone)) + { +
+ 📞 تلفن@f.Phone + تماس +
+ } @if (!string.IsNullOrEmpty(f.BaleId)) { - — بله: @f.BaleId +
+ 💬 بله@f.BaleId + باز کردن +
+ } + @if (string.IsNullOrEmpty(f.Phone) && string.IsNullOrEmpty(f.BaleId)) + { +

شماره‌ای برای این مرکز ثبت نشده است.

}
} diff --git a/src/JobsMedical.Web/Pages/Talent/Details.cshtml b/src/JobsMedical.Web/Pages/Talent/Details.cshtml index 6cbe139..03b486f 100644 --- a/src/JobsMedical.Web/Pages/Talent/Details.cshtml +++ b/src/JobsMedical.Web/Pages/Talent/Details.cshtml @@ -70,23 +70,22 @@ @{ var contacts = (t.Contacts ?? new List()).OrderBy(c => c.SortOrder).ToList(); } @if (contacts.Count > 0) { - foreach (var c in contacts) - { - var href = JobsMedical.Web.Services.ContactInfo.Href(c.Type, c.Value); - var label = JobsMedical.Web.Services.ContactInfo.Label(c.Type); - var icon = JobsMedical.Web.Services.ContactInfo.Icon(c.Type); - var cls = c.Type is JobsMedical.Web.Models.ContactType.Mobile or JobsMedical.Web.Models.ContactType.Phone ? "btn-accent" : "btn-outline"; - if (href is not null) +
+ @foreach (var c in contacts) { - - @c.Value@icon @label - + var href = JobsMedical.Web.Services.ContactInfo.Href(c.Type, c.Value); + var label = JobsMedical.Web.Services.ContactInfo.Label(c.Type); + var icon = JobsMedical.Web.Services.ContactInfo.Icon(c.Type); + var cls = c.Type is JobsMedical.Web.Models.ContactType.Mobile or JobsMedical.Web.Models.ContactType.Phone ? "btn-accent" : "btn-outline"; +
+ @icon @label@c.Value + @if (href is not null) + { + باز کردن + } +
} - else - { -
@icon @label: @c.Value
- } - } +
} else if (telHref is not null) { diff --git a/src/JobsMedical.Web/wwwroot/css/site.css b/src/JobsMedical.Web/wwwroot/css/site.css index a942b08..3957cff 100644 --- a/src/JobsMedical.Web/wwwroot/css/site.css +++ b/src/JobsMedical.Web/wwwroot/css/site.css @@ -272,6 +272,22 @@ label { font-size: 13px; } .tag-chip { font-size: 11.5px; font-weight: 600; padding: 3px 9px; border-radius: 999px; background: var(--primary-soft); color: var(--primary-dark); } mark { background: #fff3bf; color: inherit; padding: 0 2px; border-radius: 3px; } + +/* Animated contact reveal box (shift/job/talent details) */ +.contact-reveal { border: 1px solid var(--primary); border-radius: 14px; padding: 14px; + background: var(--primary-soft); animation: revealIn .35s cubic-bezier(.2,.7,.3,1); } +@keyframes revealIn { from { opacity: 0; transform: translateY(-10px) scale(.97); } to { opacity: 1; transform: none; } } +.contact-reveal h4 { margin: 0 0 10px; font-size: 15px; } +.contact-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; + background: var(--surface); border: 1px solid var(--line); border-radius: 10px; + padding: 9px 12px; margin-bottom: 8px; animation: revealIn .4s ease backwards; } +.contact-row:nth-child(2) { animation-delay: .04s; } .contact-row:nth-child(3) { animation-delay: .08s; } +.contact-row:nth-child(4) { animation-delay: .12s; } .contact-row:nth-child(5) { animation-delay: .16s; } +.contact-row:last-child { margin-bottom: 0; } +.contact-row .c-meta { display: flex; flex-direction: column; min-width: 0; } +.contact-row .c-type { font-size: 12px; color: var(--muted); } +.contact-row .c-val { font-weight: 700; overflow: hidden; text-overflow: ellipsis; } +.contact-row .btn { flex: 0 0 auto; padding: 6px 14px; } .badge-gender { background: #f3eefb; color: #6b3fa0; } /* ---------- Filters layout ---------- */