Files
hamkadr/src/JobsMedical.Web/Pages/Shared/_ShiftCard.cshtml
T
soroush.asadi 337b510540
CI/CD / CI · dotnet build (push) Successful in 6m7s
CI/CD / Deploy · hamkadr (push) Successful in 1m8s
Shift card: lead with the role, not the facility name
The headline showed Facility.Name (often «مرکز درمانی (نامشخص)» for ingested
shifts) while the actual role was a tiny badge. Match _JobCard/_TalentCard:
role becomes the headline; facility moves to the second line with 🏥.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-10 17:10:33 +03:30

46 lines
2.1 KiB
Plaintext

@model JobsMedical.Web.Models.Shift
@{
var (badgeClass, typeLabel) = Model.ShiftType switch
{
ShiftType.Day => ("badge-day", "صبح"),
ShiftType.Evening => ("badge-evening", "عصر"),
ShiftType.Night => ("badge-night", "شب"),
_ => ("badge-oncall", "آنکال"),
};
var q = ViewData["q"] as string;
}
<a class="card card-pad shift-card" asp-page="/Shifts/Details" asp-route-id="@Model.Id">
<div class="row" style="justify-content: space-between;">
<span class="facility">@JobsMedical.Web.Services.SearchHighlight.Mark(Model.Role?.Name ?? "شیفت", q)</span>
<span class="badge @badgeClass">@typeLabel</span>
</div>
<div class="row">
@if (Model.GenderRequirement != Gender.Any)
{
<span class="badge badge-gender">@JalaliDate.GenderLabel(Model.GenderRequirement)</span>
}
@if (Model.Facility?.IsVerified == true)
{
<span class="badge badge-verified">✓ تأیید شده</span>
}
<span>🏥 @JobsMedical.Web.Services.SearchHighlight.Mark(Model.Facility?.Name, q)</span>
</div>
<div class="row loc-row">📍 @Model.Facility?.City?.Name@(Model.Facility?.District is not null ? "، " + Model.Facility.District.Name : "")</div>
@if (Model.DistanceKm is double km)
{
<div class="row"><span class="badge badge-distance">📍 @JalaliDate.ToPersianDigits(km.ToString("0.#")) کیلومتر از شما</span></div>
}
<div class="row">📅 @JalaliDate.WeekDayName(Model.Date)، @JalaliDate.ToLongDate(Model.Date)</div>
<div class="row">🕐 @JalaliDate.Time(Model.StartTime) تا @JalaliDate.Time(Model.EndTime)</div>
@{ var snip = JobsMedical.Web.Services.SearchHighlight.Snippet(Model.Description, q); }
@if (snip.Value.Length > 0)
{
<div class="search-snippet">@snip</div>
}
<partial name="_HourBar" model="Model" />
<div class="foot">
<span class="pay">@JalaliDate.PayLabel(Model.PayType, Model.PayAmount, Model.SharePercent)</span>
<span class="btn btn-outline" style="padding: 6px 14px;">جزئیات</span>
</div>
</a>