2025-10-07 00:39:38 +03:30
|
|
|
@page "/"
|
2025-09-28 01:28:44 +03:30
|
|
|
@using Microsoft.AspNetCore.Components.Web
|
|
|
|
|
@namespace FrontOffice.Main.Pages
|
|
|
|
|
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
|
|
|
|
|
|
|
|
|
|
<!DOCTYPE html>
|
|
|
|
|
<html lang="fa">
|
|
|
|
|
<head>
|
|
|
|
|
<meta charset="utf-8" />
|
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
|
|
|
<base href="~/" />
|
|
|
|
|
<link href="css/site.css" rel="stylesheet" />
|
|
|
|
|
<link href="FrontOffice.Main.styles.css" rel="stylesheet" />
|
|
|
|
|
<link rel="icon" type="image/png" href="favicon.png"/>
|
2025-09-28 04:00:06 +03:30
|
|
|
<component type="typeof(HeadOutlet)" render-mode="Server" />
|
2025-09-28 01:28:44 +03:30
|
|
|
|
|
|
|
|
<link href="https://fonts.googleapis.com/css?family=Roboto:300,400,500,700&display=swap" rel="stylesheet" />
|
2025-11-14 09:32:19 +03:30
|
|
|
<!-- Ensure latest MudBlazor CSS is used (cache-busting) -->
|
|
|
|
|
<link href="_content/MudBlazor/MudBlazor.min.css" rel="stylesheet" asp-append-version="true" />
|
2025-09-28 01:28:44 +03:30
|
|
|
</head>
|
|
|
|
|
<body>
|
2025-09-28 04:00:06 +03:30
|
|
|
<component type="typeof(App)" render-mode="Server" />
|
2025-09-28 01:28:44 +03:30
|
|
|
|
|
|
|
|
<div id="blazor-error-ui">
|
|
|
|
|
<environment include="Staging,Production">
|
2025-10-07 00:39:38 +03:30
|
|
|
یک خطا رخ داده است. این برنامه ممکن است تا زمان بارگذاری مجدد پاسخگو نباشد.
|
2025-09-28 01:28:44 +03:30
|
|
|
</environment>
|
|
|
|
|
<environment include="Development">
|
2025-10-07 00:39:38 +03:30
|
|
|
خطای مدیریتنشده ای اتفاق افتاده است. برای مشاهده جزئیات، ابزار توسعه (DevTools) مرورگر را بررسی نمایید.
|
2025-09-28 01:28:44 +03:30
|
|
|
</environment>
|
2025-10-07 00:39:38 +03:30
|
|
|
<a href="" class="reload">بارگذاری مجدد</a>
|
|
|
|
|
<a class="dismiss">🗙</a>
|
2025-09-28 01:28:44 +03:30
|
|
|
</div>
|
|
|
|
|
|
2025-11-14 09:32:19 +03:30
|
|
|
<!-- Load MudBlazor JS before Blazor to avoid early JS interop calls failing; add cache-busting -->
|
|
|
|
|
<script src="_content/MudBlazor/MudBlazor.min.js" asp-append-version="true"></script>
|
2025-09-28 01:28:44 +03:30
|
|
|
<script src="_framework/blazor.server.js"></script>
|
2025-10-07 00:39:38 +03:30
|
|
|
<script>
|
|
|
|
|
// elementId: id نوار (مثلاً "top")
|
|
|
|
|
// containerSelector: کانتینری که اسکرول میخوره؛ برای MudLayout معمولا ".mud-main-content"
|
|
|
|
|
// threshold: آستانه پیکسل
|
|
|
|
|
function changeNavBgOnBodyScroll(elementId, containerSelector = null, threshold = 10) {
|
|
|
|
|
var navbar = document.getElementById(elementId);
|
|
|
|
|
if (!navbar) return;
|
|
|
|
|
|
|
|
|
|
var container = containerSelector ? document.querySelector(containerSelector) : window;
|
|
|
|
|
|
|
|
|
|
var getScrollTop = function () {
|
|
|
|
|
if (container === window) {
|
|
|
|
|
return window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
|
|
|
|
|
}
|
|
|
|
|
return container.scrollTop || 0;
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
var update = function () {
|
|
|
|
|
var y = getScrollTop();
|
|
|
|
|
if (y >= threshold) {
|
|
|
|
|
navbar.classList.add("white", "mud-elevation-2");
|
|
|
|
|
} else {
|
|
|
|
|
navbar.classList.remove("white", "mud-elevation-2");
|
|
|
|
|
}
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
// گوش دادن به اسکرول روی کانتینر درست
|
|
|
|
|
(container === window ? window : container).addEventListener("scroll", update, { passive: true });
|
|
|
|
|
|
|
|
|
|
// برای بارگذاری اولیه / تغییر اندازه / بازگشت از تاریخچه
|
|
|
|
|
window.addEventListener("load", update);
|
|
|
|
|
window.addEventListener("resize", update);
|
|
|
|
|
window.addEventListener("pageshow", update);
|
|
|
|
|
|
|
|
|
|
// اجرای اولیه (حتی اگر کاربر اسکرول نکرده)
|
|
|
|
|
requestAnimationFrame(update);
|
|
|
|
|
}
|
|
|
|
|
</script>
|
2025-09-28 01:28:44 +03:30
|
|
|
</body>
|
|
|
|
|
</html>
|