@page
@model JobsMedical.Web.Pages.Me.IndexModel
@{
    ViewData["Title"] = "پنل کارجو";
    string RoleLabel(UserRole r) => r switch
    {
        UserRole.Admin => "مدیر",
        UserRole.FacilityAdmin => "کارفرما",
        _ => "کارجو (کادر درمان)",
    };
    (string cls, string txt) AppBadge(JobsMedical.Web.Models.ApplicationStatus s) => s switch
    {
        JobsMedical.Web.Models.ApplicationStatus.Accepted => ("badge-verified", "✓ پذیرفته شد"),
        JobsMedical.Web.Models.ApplicationStatus.Rejected => ("badge-gender", "رد شد"),
        _ => ("badge-type", "در انتظار بررسی"),
    };
}

<div class="page-head">
    <div class="container">
        <h1>پنل کارجو</h1>
        <p class="muted">
            📱 <span dir="ltr">@JalaliDate.ToPersianDigits(Model.CurrentUser?.Phone ?? "")</span>
            — @RoleLabel(Model.CurrentUser?.Role ?? UserRole.Doctor)
        </p>
    </div>
</div>

<div class="container section">
    @if (Model.ProfileIncomplete)
    {
        <div class="profile-nudge">
            <span class="pn-text">✨ پروفایلت را کامل کن (نام، تصویر، رزومه) تا شانس پذیرش‌ات بیشتر شود.</span>
            <a class="btn btn-accent btn-sm" asp-page="/Me/Profile">تکمیل پروفایل</a>
        </div>
    }
    <div class="rec-banner">
        <div>
            <h2 style="margin:0 0 4px;">✨ پیشنهادهای ویژه شما</h2>
            <span style="opacity:.9; font-size:14px;">
                @if (Model.Prefs?.HasAny == true)
                {
                    <text>بر اساس نقش، شهر، نوع شیفت و جنسیت شما</text>
                }
                else
                {
                    <text>علاقه‌مندی‌هایت را تنظیم کن تا دقیق‌تر شوند</text>
                }
            </span>
        </div>
        <div style="display:flex; gap:8px; flex-wrap:wrap;">
            <a class="btn btn-outline" asp-page="/Me/Alerts">🔎 هشدارهای شغلی</a>
            <a class="btn btn-outline" asp-page="/Preferences/Index">تنظیم علاقه‌مندی‌ها</a>
        </div>
    </div>

    @if (Model.Recommendations.Count > 0)
    {
        <div class="grid grid-3">
            @foreach (var rec in Model.Recommendations)
            {
                <partial name="_RecommendationCard" model="rec" />
            }
        </div>
    }
    else
    {
        <div class="card empty-state">فعلاً پیشنهادی نیست. <a asp-page="/Shifts/Index">جستجوی شیفت‌ها</a></div>
    }

    <h2 style="font-size:20px; margin-top:32px;">شیفت‌های ذخیره‌شده</h2>
    @if (Model.SavedShifts.Count == 0)
    {
        <div class="card empty-state">هنوز شیفتی ذخیره نکرده‌ای.</div>
    }
    else
    {
        <div class="grid grid-3">@foreach (var s in Model.SavedShifts) { <partial name="_ShiftCard" model="s" /> }</div>
    }

    <h2 style="font-size:20px; margin-top:32px;">اعلام تمایل‌های شما</h2>
    @if (Model.AppliedShifts.Count == 0 && Model.AppliedJobs.Count == 0)
    {
        <div class="card empty-state">هنوز برای فرصتی اعلام تمایل نکرده‌ای.</div>
    }
    else
    {
        <div class="grid grid-3">
            @foreach (var s in Model.AppliedShifts)
            {
                var b = AppBadge(Model.ShiftAppStatus.GetValueOrDefault(s.Id, JobsMedical.Web.Models.ApplicationStatus.Interested));
                <div>
                    <span class="badge @b.cls" style="margin-bottom:6px; display:inline-block;">@b.txt</span>
                    <partial name="_ShiftCard" model="s" />
                    <form method="post" asp-page-handler="WithdrawShift" asp-route-id="@s.Id" onsubmit="return confirm('از این فرصت انصراف می‌دهی؟');">
                        <button class="btn btn-outline" style="width:100%; padding:5px; font-size:12px; margin-top:6px; color:var(--danger); border-color:var(--danger);">انصراف از درخواست</button>
                    </form>
                </div>
            }
            @foreach (var j in Model.AppliedJobs)
            {
                var b = AppBadge(Model.JobAppStatus.GetValueOrDefault(j.Id, JobsMedical.Web.Models.ApplicationStatus.Interested));
                <div>
                    <span class="badge @b.cls" style="margin-bottom:6px; display:inline-block;">@b.txt</span>
                    <partial name="_JobCard" model="j" />
                </div>
            }
        </div>
    }
</div>
