@@ -332,8 +308,3 @@
}
}
-
-
-
-
-
diff --git a/GanjooRazor/Pages/Index.cshtml b/GanjooRazor/Pages/Index.cshtml
index 443685d9..f33698ee 100644
--- a/GanjooRazor/Pages/Index.cshtml
+++ b/GanjooRazor/Pages/Index.cshtml
@@ -1,34 +1,15 @@
@page
@model IndexModel
@{
- Layout = null;
+ Layout = "_Layout";
}
-
-
-
-
-
-
- @Html.Raw(ViewData["Title"])
-
-
-
-
-
+@section Head {
-
@if ((Model.GanjoorPage != null && Model.GanjoorPage.NoIndex) || !string.IsNullOrEmpty(Model.PinterestUrl))
@@ -81,7 +62,7 @@
- @if(!Model.OfflineMode)
+ @if (!Model.OfflineMode)
{
}
@@ -106,264 +87,252 @@
}
}
+}
-
-
- @if(Model.OfflineMode)
+@if (Model.OfflineMode)
+{
+
+
+ از آنجا که شما با شبکهٔ داخلی اطلاعات ایران وصل شدهاید در حال مشاهدهٔ یک نسخهٔ آفلاین از گنجور هستید.
+
+
+ این یک نسخهٔ آفلاین با اطلاعات قدیمی از سایت گنجور است که برای ایرانیان داخل کشور که اینترنتشان قطع است در دسترس قرار گرفته است.
+
+
+ بعضی امکاناتِ نیازمند اینترنت حذف شده و برخی قابلیتها نیز ممکن است به درستی کار نکند.
+
+
+ امکانات نامنویسی و درج حاشیه نیز در آن غیرفعال است. اگر میتوانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید.
+
+
+ نسخهٔ بهروز گنجور روی اینترنت تا پایان قطعی اینترنت در ایران برای آی.پیهای خارج از ایران در دسترس است.
+
+
+}
+else if (Model.ReadOnlyMode)
+{
+
+
+ گنجور در حال حاضر در وضعیت فقطخواندنی است.
+
+
+ امکانات نامنویسی و درج حاشیه نیز در آن غیرفعال است. اگر میتوانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید.
+
+
+}
+
+
+@if (Model.IsPoemPage)
+{
+ if (Model.GanjoorPage != null && Model.GanjoorPage.Poem.Recitations.Length > 0)
{
-
-
- از آنجا که شما با شبکهٔ داخلی اطلاعات ایران وصل شدهاید در حال مشاهدهٔ یک نسخهٔ آفلاین از گنجور هستید.
-
-
- این یک نسخهٔ آفلاین با اطلاعات قدیمی از سایت گنجور است که برای ایرانیان داخل کشور که اینترنتشان قطع است در دسترس قرار گرفته است.
-
-
- بعضی امکاناتِ نیازمند اینترنت حذف شده و برخی قابلیتها نیز ممکن است به درستی کار نکند.
-
-
- امکانات نامنویسی و درج حاشیه نیز در آن غیرفعال است. اگر میتوانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید.
-
-
- نسخهٔ بهروز گنجور روی اینترنت تا پایان قطعی اینترنت در ایران برای آی.پیهای خارج از ایران در دسترس است.
-
-
- }
- else if(Model.ReadOnlyMode)
- {
-
-
- گنجور در حال حاضر در وضعیت فقطخواندنی است.
-
-
- امکانات نامنویسی و درج حاشیه نیز در آن غیرفعال است. اگر میتوانید جایی اطلاعاتی وارد کنید انتظار ذخیرهٔ آن را به طور دائم نداشته باشید.
-
-
- }
-
-
- @if (Model.IsPoemPage)
- {
- if (Model.GanjoorPage != null && Model.GanjoorPage.Poem.Recitations.Length > 0)
- {
-
-
-
- }
-
- }
+ var currentAudio = null;
+ var verseStart = [];
+ var verseEnd = [];
+ var verseIndex = [];
+ var nLastHighlight = -1;
+ var vCount = 0;
- @if (Model.IsHomePage)
- {
- @if (!string.IsNullOrEmpty(Model.LastError))
- {
-
- @Model.LastError
-
- }
- else
- {
-
- }
- }
- else
- {
-
- }
-
-
-
-
-
- @{
- if (!string.IsNullOrEmpty(Model.PinterestUrl))
- {
-
- }
- }
-
- @if (Model.IsPoemPage)
- {
-
-
- }
- @if (ViewData["TrackingScript"] != null && !string.IsNullOrEmpty(ViewData["TrackingScript"].ToString()))
- {
- @Html.Raw(ViewData["TrackingScript"])
- }
-
-
-
- @if (Model.LoggedIn)
- {
- if (Model.IsPoemPage)
- {
- if (Model.KeepHistory)
+
- }
- }
-
-
- @if (Model.GanjoorPage != null && Model.GanjoorPage.Id == 39401)
- {
-
- }
-
+ }
+
}
+}
-
-
+@if (Model.IsHomePage)
+{
+ @if (!string.IsNullOrEmpty(Model.LastError))
+ {
+
+ @Model.LastError
+
+ }
+ else
+ {
+
+ }
+}
+else
+{
+
+}
+
+@{
+ if (!string.IsNullOrEmpty(Model.PinterestUrl))
+ {
+
+ }
+}
+
+@if (Model.IsPoemPage)
+{
+
+
+}
+
+@if (ViewData["TrackingScript"] != null && !string.IsNullOrEmpty(ViewData["TrackingScript"].ToString()))
+{
+ @Html.Raw(ViewData["TrackingScript"])
+}
+
+@if (Model.LoggedIn)
+{
+ if (Model.IsPoemPage)
+ {
+ if (Model.KeepHistory)
+ {
+
+ }
+ }
+ @if (Model.GanjoorPage != null && Model.GanjoorPage.Id == 39401)
+ {
+
+ }
+
+}
+
+
diff --git a/GanjooRazor/Pages/Quotes.cshtml b/GanjooRazor/Pages/Quotes.cshtml
index 0b2eab53..97dfc92f 100644
--- a/GanjooRazor/Pages/Quotes.cshtml
+++ b/GanjooRazor/Pages/Quotes.cshtml
@@ -1,40 +1,14 @@
@page
@model GanjooRazor.Pages.QuotesModel
@{
- Layout = null;
+ Layout = "_Layout";
}
-
-
-
-
-
-
-
- @Html.Raw(ViewData["Title"])
-
-
-
-
-
-
-
-
-
-
-
-
- @if (!string.IsNullOrEmpty(Model.LastError))
- {
- @Model.LastError
- }
- else
- {
+@if (!string.IsNullOrEmpty(Model.LastError))
+{
+ @Model.LastError
+}
+else
+{
@@ -199,10 +173,5 @@
}
}
-
-
-
-
-
diff --git a/GanjooRazor/Pages/Search.cshtml b/GanjooRazor/Pages/Search.cshtml
index 809f1460..912742ba 100644
--- a/GanjooRazor/Pages/Search.cshtml
+++ b/GanjooRazor/Pages/Search.cshtml
@@ -2,45 +2,18 @@
@model GanjooRazor.Pages.SearchModel
@using DNTPersianUtils.Core
@{
- Layout = null;
+ Layout = "_Layout";
}
-
-
-
-
-
-
-
-
+@section Head {
-
- @ViewData["Title"]
-
-
-
-
-
-
-
-
-
-
-
-
-
- @if (!string.IsNullOrEmpty(Model.LastError))
- {
- @Model.LastError
- }
- else
- {
+}
+@if (!string.IsNullOrEmpty(Model.LastError))
+{
+ @Model.LastError
+}
+else
+{
@@ -290,9 +263,3 @@
}
-
-
-
-
-
-
diff --git a/GanjooRazor/Pages/Shared/_Layout.cshtml b/GanjooRazor/Pages/Shared/_Layout.cshtml
new file mode 100644
index 00000000..47b7046d
--- /dev/null
+++ b/GanjooRazor/Pages/Shared/_Layout.cshtml
@@ -0,0 +1,46 @@
+@{
+ // Shared layout for public-site pages (Pages/ folder). NOT used by Areas/Admin or Areas/User,
+ // which have their own separate _AdminLayout / _UserPanelLayout under their own Areas/*/Pages/Shared
+ // folders - see Areas/Admin/Pages/_ViewStart.cshtml and Areas/User/Pages/_ViewStart.cshtml.
+ //
+ // Individual pages opt in with `Layout = "_Layout";` (root Pages/_ViewStart.cshtml still defaults
+ // to Layout = null, so pages that don't opt in are completely unaffected).
+ //
+ // Extension points:
+ // @section Head { ... } extra / /
+
+
+ @await RenderSectionAsync("Head", required: false)
+
+
+ @RenderBody()
+
+ @await RenderSectionAsync("Scripts", required: false)
+
+