مستنداتنسخهٔ ۲٫۰نمونهٔ زنده
مستنداتصفحه‌ها و فرم‌هاصفحه‌ها و مسیر حرکت

صفحه‌ها و مسیر حرکت

هر صفحه چه می‌کند، به کجا می‌رود و چگونه صفحهٔ تازه بسازید.

فهرست صفحه‌ها#

فایلکاربردمقصد پس از موفقیتکلید API
login.htmlورود با ایمیل و رمز، ورود اجتماعی، «مرا به خاطر بسپار»2fa.htmllogin
register.htmlثبت‌نام با نمایشگر قدرت رمز و پنجرهٔ قوانینverify-email.htmlregister
multi-step.htmlثبت‌نام سه‌مرحله‌ای با نوار پیشرفتsuccess.htmlregister
forgot-password.htmlدرخواست کد بازیابیotp.htmlforgot
otp.htmlکد ۶ رقمی (بازیابی رمز یا تأیید ایمیل)reset-password.html یا مقدار next آدرسverifyOtp
verify-email.htmlراهنمای بررسی ایمیل و ارسال دوبارهپیوند به otp.htmlresendEmail
2fa.htmlکد برنامهٔ احراز هویتsuccess.htmlverifyOtp
reset-password.htmlتعیین رمز جدیدsuccess.htmlreset
success.htmlپیام موفقیت با نشان متحرک——
locked.htmlحساب قفل‌شده با شمارش معکوس——
maintenance.htmlدر دست تعمیر با نوار پیشرفت——
coming-soon.htmlثبت ایمیل و شمارندهٔ راه‌اندازیهمان صفحهwaitlist
error.htmlخطای ۴۰۴——

مسیر حرکت#

مقصد هر فرم با صفت data-next روی <form> (و برای کد یک‌بارمصرف روی .otp) تعیین می‌شود. مسیرهای پیش‌فرض:

ورود

login.html←2fa.html←success.html

ثبت‌نام و تأیید ایمیل

register.html←verify-email.html←otp.html?purpose=email←success.html

بازیابی رمز

forgot-password.html←otp.html←reset-password.html←success.html

برای تغییر مسیر، مقدار data-next را ویرایش کنید. سرور هم می‌تواند در پاسخ خود فیلد next بفرستد و مقصد را همان لحظه تعیین کند ([قالب پاسخ](backend.html#response)).

پارامترهای آدرس کد یک‌بارمصرف#

otp.html در موارد مختلف استفاده می‌شود و دو پارامتر آدرس را می‌شناسد:

پارامترمعنا
nextنام فایل مقصد پس از تأیید، مثلاً success.html؛ فقط الگوی نام-فایل.html پذیرفته می‌شود
purposeهدف کد که همراه درخواست به سرور می‌رود (مثلاً email یا reset)؛ پیش‌فرض از data-purpose خوانده می‌شود

حساب قفل‌شده#

locked.html در دو حالت باز می‌شود: در حالت نمایشی پس از سه رمز اشتباه، و در حالت اتصال به سرور وقتی پاسخ کد وضعیت 423 داشته باشد. نشانی آن در lockedUrl تنظیم می‌شود. مدت شمارش معکوس با data-count (ثانیه) روی .cd مشخص می‌شود:

HTML
<div class="cd" data-count="900" role="timer"></div>

شمارندهٔ راه‌اندازی#

شمارنده در coming-soon.html پیش‌فرض ۱۵ روز از لحظهٔ بازشدن صفحه است. برای شمارش تا تاریخ مشخص از data-until با قالب ISO استفاده کنید:

HTML
<div class="cd" data-until="2026-12-21T00:00:00+03:30" role="timer"></div>

فرم این صفحه با data-next="none" تنظیم شده؛ پس از ثبت موفق، همان صفحه می‌ماند و فرم خالی می‌شود.

افزودن صفحهٔ جدید#

نزدیک‌ترین صفحه را کپی کنید و محتوای .card را عوض کنید. این بخش‌ها باید در صفحه بمانند:

حداقل ساختار یک صفحهٔ جدید:

HTML
<!doctype html>
<html lang="fa" dir="rtl">
<head>
  <meta charset="utf-8">
  <meta name="viewport" content="width=device-width,initial-scale=1">
  <title>عنوان صفحه | نام برند</title>
  <link rel="stylesheet" href="../assets/css/mehmannavaz.css">
  <script>try{document.documentElement.dataset.theme=localStorage.getItem("mn-theme")||(matchMedia("(prefers-color-scheme:dark)").matches?"dark":"light")}catch(e){}</script>
</head>
<body>
  <!-- بلوک svg آیکون‌ها را از یکی از صفحه‌ها کپی کنید -->
  <main class="stage" id="main">
    <section class="card">
      <h1>عنوان</h1>
      <p class="lead">توضیح کوتاه</p>
    </section>
  </main>
  <script src="../assets/js/config.js"></script>
  <script src="../assets/js/mehmannavaz.js"></script>
</body>
</html>

آیکون‌ها با <svg class="ic"><use href="#i-lock"/></svg> استفاده می‌شوند. نمادهای موجود: eye، eye-off، moon، sun، shield، mail، wrench، lock، check، alert، info و x. برای نماد تازه، یک <symbol id="i-name" viewBox="0 0 24 24"> به همان بلوک اضافه کنید؛ آیکون‌ها خطی و با ضخامت ۱٫۸ هستند.

مهمان‌نواز نسخهٔ ۲٫۰ · مهر ۱۴۰۵فهرست تغییرات