753a14286f
- Submit button is now a 44x44 magnify icon inside the search pill on mobile instead of a full-width stacked button (desktop keeps the جستجو text). - Anchor the typeahead dropdown to the search pill so results appear directly under the input rather than below the popular-search chips; full pill width. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
161 lines
7.4 KiB
Plaintext
161 lines
7.4 KiB
Plaintext
@page
|
||
@model IndexModel
|
||
@{
|
||
ViewData["Title"] = null; // use default site title for the home page (best for SEO)
|
||
ViewData["Description"] = "همکادر؛ سریعترین راه برای کادر درمان (پزشک، پرستار، ماما، تکنسین) جهت یافتن شیفت و موقعیت استخدامی در بیمارستانها و کلینیکهای تهران. بهجای گشتن در کانالهای تلگرام و بله، همه فرصتها یکجا.";
|
||
}
|
||
|
||
<section class="hero">
|
||
<div class="container">
|
||
<h1>شیفت و شغل بعدیات را در چند ثانیه پیدا کن</h1>
|
||
<p>
|
||
دیگر لازم نیست دهها کانال تلگرام، بله و آگهی دیوار را زیر و رو کنی.
|
||
همهی شیفتها و فرصتهای استخدامی کادر درمان تهران، دستهبندیشده بر اساس
|
||
مرکز درمانی، محل و تقویم هفتگی — یکجا.
|
||
</p>
|
||
|
||
<form class="hero-search" method="get" action="/Search" role="search" data-suggest>
|
||
<div class="hero-search-pill">
|
||
<span class="hs-ico">🔎</span>
|
||
<input type="search" name="Q" autocomplete="off"
|
||
placeholder="جستجو: پرستار، mmt، دندانپزشک…" />
|
||
<button type="submit" class="btn btn-accent btn-lg hs-submit" aria-label="جستجو">
|
||
<span class="hs-submit-txt">جستجو</span>
|
||
<span class="hs-submit-ico" aria-hidden="true">🔎</span>
|
||
</button>
|
||
</div>
|
||
<div class="hero-chips">
|
||
<span class="hc-label">جستجوهای پرطرفدار:</span>
|
||
<a href="/Search?Q=%D9%BE%D8%B1%D8%B3%D8%AA%D8%A7%D8%B1">پرستار</a>
|
||
<a href="/Search?Q=%D9%BE%D8%B2%D8%B4%DA%A9">پزشک</a>
|
||
<a href="/Search?Q=%D8%B4%DB%8C%D9%81%D8%AA%20%D8%B4%D8%A8">شیفت شب</a>
|
||
<a href="/Search?Q=%D8%A2%D9%85%D8%A7%D8%AF%D9%87%20%D8%A8%D9%87%20%DA%A9%D8%A7%D8%B1">آماده به کار</a>
|
||
</div>
|
||
</form>
|
||
|
||
<div class="stat-pills">
|
||
<div class="stat-pill"><span class="n">@JalaliDate.ToPersianDigits(Model.OpenShiftCount.ToString())</span><span class="l">شیفت باز</span></div>
|
||
<div class="stat-pill"><span class="n">@JalaliDate.ToPersianDigits(Model.FacilityCount.ToString())</span><span class="l">مرکز درمانی</span></div>
|
||
<div class="stat-pill"><span class="n">@JalaliDate.ToPersianDigits(Model.CityCount.ToString())</span><span class="l">شهر فعال</span></div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
@if (Model.Recommendations.Count > 0)
|
||
{
|
||
<section class="section" style="padding-bottom:0;">
|
||
<div class="container">
|
||
@if (Model.HasPersonalization)
|
||
{
|
||
<div class="rec-banner">
|
||
<div>
|
||
<h2 style="margin:0 0 4px;">✨ پیشنهادهای ویژه شما</h2>
|
||
<span style="opacity:.9; font-size:14px;">بر اساس علاقهمندیها و فعالیت شما انتخاب شدهاند</span>
|
||
</div>
|
||
<a class="btn btn-outline" asp-page="/Preferences/Index">ویرایش علاقهمندیها</a>
|
||
</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="rec-banner">
|
||
<div>
|
||
<h2 style="margin:0 0 4px;">پیشنهادها را شخصیسازی کن</h2>
|
||
<span style="opacity:.9; font-size:14px;">نقش، شهر و نوع شیفت دلخواهت را بگو تا بهترین فرصتها را برایت پیدا کنیم</span>
|
||
</div>
|
||
<a class="btn btn-outline" asp-page="/Preferences/Index">تنظیم علاقهمندیها</a>
|
||
</div>
|
||
}
|
||
<div class="grid grid-3">
|
||
@foreach (var rec in Model.Recommendations)
|
||
{
|
||
<partial name="_RecommendationCard" model="rec" />
|
||
}
|
||
</div>
|
||
</div>
|
||
</section>
|
||
}
|
||
|
||
<section class="section">
|
||
<div class="container">
|
||
<div class="section-head">
|
||
<h2>جدیدترین شیفتها</h2>
|
||
<a asp-page="/Shifts/Index">مشاهده همه ←</a>
|
||
</div>
|
||
@if (Model.LatestShifts.Count == 0)
|
||
{
|
||
<div class="empty-state">فعلاً شیفت بازی ثبت نشده است.</div>
|
||
}
|
||
else
|
||
{
|
||
<div class="grid grid-3">
|
||
@foreach (var s in Model.LatestShifts)
|
||
{
|
||
<partial name="_ShiftCard" model="s" />
|
||
}
|
||
</div>
|
||
}
|
||
</div>
|
||
</section>
|
||
|
||
@if (Model.LatestJobs.Count > 0)
|
||
{
|
||
<section class="section" style="padding-top:0;">
|
||
<div class="container">
|
||
<div class="section-head">
|
||
<h2>فرصتهای استخدامی</h2>
|
||
<a asp-page="/Jobs/Index">مشاهده همه ←</a>
|
||
</div>
|
||
<div class="grid grid-3">
|
||
@foreach (var j in Model.LatestJobs)
|
||
{
|
||
<partial name="_JobCard" model="j" />
|
||
}
|
||
</div>
|
||
</div>
|
||
</section>
|
||
}
|
||
|
||
@if (Model.LatestTalent.Count > 0)
|
||
{
|
||
<section class="section" style="padding-top:0;">
|
||
<div class="container">
|
||
<div class="section-head">
|
||
<h2>کادر درمان آماده به کار</h2>
|
||
<a asp-page="/Talent/Index">مشاهده همه ←</a>
|
||
</div>
|
||
<div class="grid grid-3">
|
||
@foreach (var t in Model.LatestTalent)
|
||
{
|
||
<partial name="_TalentCard" model="t" />
|
||
}
|
||
</div>
|
||
</div>
|
||
</section>
|
||
}
|
||
|
||
<section class="section" style="background: var(--surface); border-top: 1px solid var(--line);">
|
||
<div class="container">
|
||
<div class="section-head"><h2>چطور کار میکند؟</h2></div>
|
||
<div class="grid grid-3">
|
||
<div class="card card-pad">
|
||
<h3 style="margin-top:0;">۱. جستجو کن</h3>
|
||
<p class="muted">بر اساس شهر، بیمارستان، تاریخ و نوع شیفت، موقعیت مناسب خودت را فیلتر کن.</p>
|
||
</div>
|
||
<div class="card card-pad">
|
||
<h3 style="margin-top:0;">۲. تقویم را ببین</h3>
|
||
<p class="muted">شیفتهای خالی هر مرکز را در یک نمای هفتگی شمسی مشاهده کن.</p>
|
||
</div>
|
||
<div class="card card-pad">
|
||
<h3 style="margin-top:0;">۳. اعلام تمایل کن</h3>
|
||
<p class="muted">روی شیفت دلخواه «اعلام تمایل» بزن تا مرکز درمانی با تو تماس بگیرد.</p>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</section>
|
||
|
||
@section Head {
|
||
@{ var bu = $"{ViewContext.HttpContext.Request.Scheme}://{ViewContext.HttpContext.Request.Host}"; }
|
||
@Html.Raw("<script type=\"application/ld+json\">" + JobsMedical.Web.Services.SeoJsonLd.Organization(bu) + "</script>")
|
||
@Html.Raw("<script type=\"application/ld+json\">" + JobsMedical.Web.Services.SeoJsonLd.WebSite(bu) + "</script>")
|
||
}
|