lock on recitation

This commit is contained in:
Hamid Reza Mohammadi 2026-09-12 12:15:01 +03:30
parent 566ff6d002
commit 157565496d
23 changed files with 51 additions and 28 deletions

View File

@ -14,7 +14,7 @@
<meta name="robots" content="noindex, nofollow" />
<title>پیشنهاد اضافه شدن مصرع‌های جا افتاده</title>
<script src="/lib/jquery/dist/jquery.min.js"></script>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/user-panel.css?version=1" rel="stylesheet" type="text/css" />
</head>
<body>

View File

@ -13,7 +13,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex, nofollow" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
</head>
<body class="bk-background">
<div id="hdr">

View File

@ -11,7 +11,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex, nofollow" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
</head>
<body class="bk-background">
<div id="hdr">

View File

@ -12,7 +12,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex, nofollow" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
</head>
<body class="bk-background">
<div id="hdr">

View File

@ -11,7 +11,7 @@
<meta name="robots" content="noindex, nofollow" />
<title>درخواست حذف حاشیه</title>
<script src="/lib/jquery/dist/jquery.min.js"></script>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<style>
label {
width: 100px;

View File

@ -13,7 +13,7 @@
<title>
@ViewData["Title"]
</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />

View File

@ -12,7 +12,7 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/spotify.css" rel="stylesheet" type="text/css" />
<script src="/lib/jquery/dist/jquery.min.js"></script>

View File

@ -12,7 +12,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="description" content="سخنوران و نویسندگان گنجور روی نقشهٔ جغرافیایی" />
<meta charset="utf-8" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="stylesheet" href="/css/leaflet.css?version=2" />
<style>
.leaflet-container {
@ -23,7 +23,7 @@
font-family: 'Vazirmatn'
}
</style>
<script src="/js/bk.js?version=92"></script>
<script src="/js/bk.js?version=93"></script>
<script src="~/js/jquery-1.10.2.min.js"></script>
<script src="~/js/leaflet.js"></script>
<script src="~/js/leaflet-providers.js"></script>

View File

@ -11,11 +11,11 @@
<title>
@Html.Raw(ViewData["Title"])
</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
<script src="/lib/jquery/dist/jquery.min.js"></script>
<script src="/js/bk.js?version=92"></script>
<script src="/js/bk.js?version=93"></script>
<script>
var cookieValue = getCookie("playerScrollLock");
var playerScrollLock = cookieValue === "true";

View File

@ -75,6 +75,7 @@
<div id="sticky-audio-player" class="up-sticky-player" style="display:none;">
<span id="sticky-audio-narrator" class="up-sticky-player__narrator"></span>
<div id="sticky-audio-slot" class="up-sticky-player__audio-slot"></div>
<a role="button" id="sticky-scroll-lock" class="cursor-pointer up-sticky-player__lock" onclick="switchPlayerScrollLock()" title="قفل خودکار پیمایش به بیت جاری">🔓</a>
<a role="button" class="cursor-pointer up-sticky-player__jump" onclick="scrollToCurrentVerse()" title="رفتن به بیت جاری">📍</a>
<a role="button" class="cursor-pointer up-sticky-player__close" onclick="closeStickyPlayer()" title="بستن">✕</a>
</div>

View File

@ -15,7 +15,7 @@
گنجور » نمایش خوانش
</title>
<link href="~/dist/skin/pink.flag/css/jplayer.pink.flag.min.css" rel="stylesheet" type="text/css" />
<link href="~/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="~/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
<script>
@ -150,7 +150,7 @@
</p>
<script src="~/lib/jquery/dist/jquery.min.js"></script>
<script src="~/js/bk.js?version=92"></script>
<script src="~/js/bk.js?version=93"></script>
<script src="~/js/jplayersupport.js"></script>
<script src="~/js/vaabd.js?version=10"></script>
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>

View File

@ -12,7 +12,7 @@
<meta name="viewport" content="width=device-width, initial-scale=1" />
<meta name="robots" content="noindex, nofollow" />
<title>اطلاعات رتبه‌بندی خوانش‌های شعر</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
</head>
<body>

View File

@ -13,7 +13,7 @@
<meta name="robots" content="noindex, nofollow" />
<title>گنجور » گزارش خطا در خوانش</title>
<script src="/lib/jquery/dist/jquery.min.js"></script>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="~/dist/skin/pink.flag/css/jplayer.pink.flag.min.css" rel="stylesheet" type="text/css" />
<style>
label {
@ -238,7 +238,7 @@
<script src="~/js/bk.js?version=92"></script>
<script src="~/js/bk.js?version=93"></script>
<script src="~/js/jplayersupport.js"></script>
<script src="~/js/vaabd.js?version=10"></script>
<script src="~/dist/jplayer/jquery.jplayer.min.js"></script>

View File

@ -10,7 +10,7 @@
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
<link href="/dist/skin/blue.monday/css/jplayer.blue.monday.min.css" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/user-panel.css?version=3" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
@ -36,7 +36,7 @@
});
</script>
<script src="/js/bk.js?version=92"></script>
<script src="/js/bk.js?version=93"></script>
<script>
function editBanner(bannerId) {
var url = '?handler=Edit';

View File

@ -30,11 +30,11 @@
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>@Html.Raw(ViewData["Title"])</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
<script src="/lib/jquery/dist/jquery.min.js"></script>
<script src="/js/bk.js?version=92"></script>
<script src="/js/bk.js?version=93"></script>
<script>
var cookieValue = getCookie("playerScrollLock");
var playerScrollLock = cookieValue === "true";

View File

@ -9,7 +9,7 @@
</title>
<link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.min.css" />
<link rel="stylesheet" href="~/css/site.css" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/user-panel.css?version=3" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />
@ -33,7 +33,7 @@
});
</script>
<script src="/lib/diff.js"></script>
<script src="/js/bk.js?version=92"></script>
<script src="/js/bk.js?version=93"></script>
<script>
function compareCorrectionBlocks(originalElemenyId, editedElementId, resultElementId) {
var a = document.getElementById(originalElemenyId);

View File

@ -12,7 +12,7 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/spotify.css" rel="stylesheet" type="text/css" />
<script src="/lib/jquery/dist/jquery.min.js"></script>

View File

@ -11,7 +11,7 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/spotify.css" rel="stylesheet" type="text/css" />
<script src="/lib/jquery/dist/jquery.min.js"></script>
<script src="~/js/golha.js"></script>

View File

@ -12,7 +12,7 @@
<meta name="robots" content="noindex, nofollow" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link href="/css/spotify.css" rel="stylesheet" type="text/css" />
<script src="/lib/jquery/dist/jquery.min.js"></script>

View File

@ -13,7 +13,7 @@
<title>
@ViewData["Title"]
</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />

View File

@ -14,7 +14,7 @@
<title>
@ViewData["Title"]
</title>
<link href="/css/p8.css?version=92" rel="stylesheet" type="text/css" />
<link href="/css/p8.css?version=93" rel="stylesheet" type="text/css" />
<link rel="shortcut icon" href="/favicon.ico?version=1" type="image/x-icon" />
<link rel="search" type="application/opensearchdescription+xml" title="گنجور" href="https://ganjoor.net/search.xml" />

View File

@ -1,4 +1,4 @@
@font-face {
@font-face {
font-family: 'Vazirmatn';
src: url('/fonts/Vazirmatn-Regular.woff2') format('woff2');
font-weight: 400;
@ -3071,6 +3071,19 @@ mark {
display: block;
}
.up-sticky-player__lock {
cursor: pointer;
font-size: 1.1rem;
line-height: 1;
color: var(--lapis);
padding: 4px 8px;
flex-shrink: 0;
}
.up-sticky-player__lock:hover {
color: var(--brand);
}
.up-sticky-player__jump {
cursor: pointer;
font-size: 1.1rem;

View File

@ -183,6 +183,11 @@ function switchPlayerScrollLock() {
$('#scroll-lock').text('🔓');
}
var stickyLockIcon = document.getElementById('sticky-scroll-lock');
if (stickyLockIcon) {
stickyLockIcon.textContent = playerScrollLock ? '🔒' : '🔓';
}
if (playerScrollLock) {
const lockButtons = document.querySelectorAll('.recitation-scrollunlock');
lockButtons.forEach(function (lockButton) {
@ -393,6 +398,10 @@ function showStickyPlayer(audioElement, narratorName, recitationId) {
}
document.getElementById('sticky-audio-narrator').textContent = narratorName;
var lockIcon = document.getElementById('sticky-scroll-lock');
if (lockIcon) {
lockIcon.textContent = playerScrollLock ? '🔒' : '🔓';
}
bar.style.display = 'flex';
}