[Help] Add help/learning page + interactive guided app tour
New /Help page: quick-start, separate guides for کادر درمان (search/near-me/preferences/اعلام تمایل/saved) and مراکز درمانی (register/post/verify-with-docs/applicants), notifications+install, report/complaint, and an FAQ accordion. Self-hosted tour.js (no CDN, RTL): spotlights elements via data-tour hooks in the nav, auto-runs once for new visitors on the home page (localStorage flag), re-runnable from the Help page button or ?tour=1; skips steps whose target is hidden so it works on mobile/other pages. Help linked from nav + footer. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -32,7 +32,7 @@
|
||||
<body data-unread="@unreadCount" data-authed="@(User.Identity?.IsAuthenticated == true ? "1" : "0")">
|
||||
<header class="site-header">
|
||||
<div class="container header-inner">
|
||||
<a class="brand" asp-page="/Index">
|
||||
<a class="brand" asp-page="/Index" data-tour="home">
|
||||
<span class="brand-mark">ه</span>
|
||||
<span class="brand-text">همکادر</span>
|
||||
</a>
|
||||
@@ -44,19 +44,20 @@
|
||||
}
|
||||
|
||||
<input type="checkbox" id="nav-toggle" class="nav-toggle" hidden />
|
||||
<label for="nav-toggle" class="nav-burger" aria-label="باز/بستن منو">
|
||||
<label for="nav-toggle" class="nav-burger" aria-label="باز/بستن منو" data-tour="menu">
|
||||
<span></span><span></span><span></span>
|
||||
</label>
|
||||
|
||||
<div class="nav-collapse">
|
||||
<nav class="main-nav">
|
||||
<a asp-page="/Index">خانه</a>
|
||||
<a asp-page="/Shifts/Index">شیفتها</a>
|
||||
<a asp-page="/Jobs/Index">استخدام</a>
|
||||
<a asp-page="/Shifts/Index" data-tour="shifts">شیفتها</a>
|
||||
<a asp-page="/Jobs/Index" data-tour="jobs">استخدام</a>
|
||||
<a asp-page="/Calendar/Index">تقویم هفتگی</a>
|
||||
<a asp-page="/Download">دریافت اپ</a>
|
||||
<a asp-page="/Facilities/Index">مراکز درمانی</a>
|
||||
<a asp-page="/Preferences/Index">علاقهمندیها</a>
|
||||
<a asp-page="/Preferences/Index" data-tour="prefs">علاقهمندیها</a>
|
||||
<a asp-page="/Help" data-tour="help">راهنما</a>
|
||||
</nav>
|
||||
<div class="header-actions">
|
||||
@if (User.Identity?.IsAuthenticated == true)
|
||||
@@ -70,15 +71,15 @@
|
||||
{
|
||||
<a class="nav-action" asp-page="/Employer/Index">پنل کارفرما</a>
|
||||
}
|
||||
<a class="nav-action bell-inline js-bell" asp-page="/Me/Notifications" title="اعلانها"><span class="bell-ico">🔔</span><span class="bell-label">اعلانها</span>@if (unreadCount > 0) {<span class="bell-badge">@JalaliDate.ToPersianDigits(unreadCount > 99 ? "99+" : unreadCount.ToString())</span>}</a>
|
||||
<a class="nav-action" asp-page="/Me/Index">پنل کارجو</a>
|
||||
<a class="nav-action bell-inline js-bell" asp-page="/Me/Notifications" title="اعلانها" data-tour="bell"><span class="bell-ico">🔔</span><span class="bell-label">اعلانها</span>@if (unreadCount > 0) {<span class="bell-badge">@JalaliDate.ToPersianDigits(unreadCount > 99 ? "99+" : unreadCount.ToString())</span>}</a>
|
||||
<a class="nav-action" asp-page="/Me/Index" data-tour="panel">پنل کارجو</a>
|
||||
<form method="post" asp-page="/Account/Logout" style="display:contents;">
|
||||
<button type="submit" class="btn btn-outline btn-sm">خروج</button>
|
||||
</form>
|
||||
}
|
||||
else
|
||||
{
|
||||
<a class="btn btn-outline btn-sm" asp-page="/Account/Login">ورود</a>
|
||||
<a class="btn btn-outline btn-sm" asp-page="/Account/Login" data-tour="login">ورود</a>
|
||||
}
|
||||
</div>
|
||||
</div>
|
||||
@@ -99,6 +100,7 @@
|
||||
<div class="muted">
|
||||
<div class="footer-links">
|
||||
<a asp-page="/Download" style="font-weight:700;">📲 دریافت اپلیکیشن</a>
|
||||
<a asp-page="/Help">راهنما</a>
|
||||
<a asp-page="/Privacy">حریم خصوصی</a>
|
||||
<a asp-page="/Rules">قوانین و مقررات</a>
|
||||
<a asp-page="/Terms">شرایط استفاده</a>
|
||||
@@ -117,6 +119,9 @@
|
||||
}
|
||||
</script>
|
||||
|
||||
@* Self-hosted guided app tour (no CDN). Auto-runs once for new visitors; re-runnable from /Help. *@
|
||||
<script src="~/js/tour.js" asp-append-version="true" defer></script>
|
||||
|
||||
@* Live in-app notifications over SSE (our own origin — works in Iran, no Google push).
|
||||
Updates the bell badge, shows a toast, and fires a local OS notification when allowed. *@
|
||||
@if (User.Identity?.IsAuthenticated == true)
|
||||
|
||||
Reference in New Issue
Block a user