2026-06-03 01:43:55 +03:30
|
|
|
@page
|
|
|
|
|
@model JobsMedical.Web.Pages.Admin.IndexModel
|
|
|
|
|
@{
|
|
|
|
|
ViewData["Title"] = "مدیریت — صف آگهیها";
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
<div class="page-head">
|
|
|
|
|
<div class="container">
|
|
|
|
|
<h1>پنل مدیریت — صف آگهیهای خام</h1>
|
|
|
|
|
<p class="muted">
|
|
|
|
|
آگهیهای جمعآوریشده از کانالها را اینجا بررسی، ساختارمند و منتشر کن.
|
|
|
|
|
(@JalaliDate.ToPersianDigits(Model.Queue.Count.ToString()) در انتظار بررسی)
|
2026-06-03 06:31:15 +03:30
|
|
|
· <a asp-page="/Admin/Facilities">تأیید مراکز درمانی</a>
|
2026-06-03 01:43:55 +03:30
|
|
|
</p>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="container section">
|
|
|
|
|
<div class="layout-2">
|
|
|
|
|
<aside class="card card-pad filter-card">
|
|
|
|
|
<h3>افزودن آگهی خام</h3>
|
|
|
|
|
<form method="post">
|
|
|
|
|
<div class="filter-group">
|
|
|
|
|
<label>منبع (کانال/سایت)</label>
|
|
|
|
|
<input type="text" name="SourceChannel" placeholder="مثلاً کانال شیفت تهران" />
|
|
|
|
|
</div>
|
|
|
|
|
<div class="filter-group">
|
|
|
|
|
<label>متن آگهی</label>
|
|
|
|
|
<textarea name="RawText" rows="6" placeholder="متن کپیشده از تلگرام/بله/دیوار را اینجا بچسبان..."></textarea>
|
|
|
|
|
</div>
|
|
|
|
|
<button type="submit" asp-page-handler="Add" class="btn btn-primary btn-block">افزودن به صف</button>
|
|
|
|
|
</form>
|
|
|
|
|
<p class="muted" style="font-size:12px; margin-bottom:0;">
|
|
|
|
|
منتشرشده: @JalaliDate.ToPersianDigits(Model.PublishedShifts.ToString()) شیفت،
|
|
|
|
|
@JalaliDate.ToPersianDigits(Model.PublishedJobs.ToString()) استخدام
|
|
|
|
|
</p>
|
|
|
|
|
</aside>
|
|
|
|
|
|
|
|
|
|
<div>
|
|
|
|
|
@if (Model.Queue.Count == 0)
|
|
|
|
|
{
|
|
|
|
|
<div class="card empty-state">صف خالی است. آگهی جدیدی برای بررسی وجود ندارد.</div>
|
|
|
|
|
}
|
|
|
|
|
else
|
|
|
|
|
{
|
|
|
|
|
foreach (var r in Model.Queue)
|
|
|
|
|
{
|
|
|
|
|
<div class="card card-pad" style="margin-bottom:14px;">
|
|
|
|
|
<div class="row" style="display:flex; justify-content:space-between;">
|
|
|
|
|
<strong>@r.SourceChannel</strong>
|
|
|
|
|
<span class="muted" style="font-size:12px;">@JalaliDate.ToLongDate(DateOnly.FromDateTime(r.FetchedAt))</span>
|
|
|
|
|
</div>
|
|
|
|
|
<p style="margin:10px 0; white-space:pre-wrap;">@r.RawText</p>
|
|
|
|
|
<a class="btn btn-accent" asp-page="/Admin/Review" asp-route-id="@r.Id">بررسی و انتشار ←</a>
|
|
|
|
|
</div>
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|