Article sidebar: neutralize offcanvas on desktop (visible, sticky) with explicit rules; asset v29

This commit is contained in:
2026-10-08 01:57:43 +03:00
parent b216501528
commit c1df88df21
9 changed files with 28 additions and 21 deletions

View File

@@ -648,7 +648,14 @@ th.th-filterable { padding-bottom: 0.35rem; }
/* Чтение материалов: контент + боковое содержание */
@media (min-width: 992px) {
.learn-side.offcanvas { position: sticky; top: 4.5rem; max-height: calc(100vh - 5.5rem); overflow: auto; }
/* на десктопе панель — обычный закреплённый блок, а не offcanvas */
.learn-side.offcanvas {
position: sticky; top: 4.5rem; max-height: calc(100vh - 5.5rem); overflow: auto;
transform: none !important; visibility: visible !important;
background: transparent; border: 0; width: auto;
}
.learn-side.offcanvas .offcanvas-header { display: none; }
.learn-side.offcanvas .offcanvas-body { padding: 0; overflow: visible; }
}
.learn-side { font-size: 0.875rem; }
.side-chapter { font-weight: 600; margin: 0.6rem 0 0.2rem; }

View File

@@ -342,7 +342,7 @@
<div class="dlg-body" id="assign-modal-body"></div>
</dialog>
<script th:src="@{/js/admin-group.js(v='28')}" defer></script>
<script th:src="@{/js/admin-group.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -196,7 +196,7 @@
</dialog>
</th:block>
</div>
<script th:src="@{/js/admin-lab.js(v='28')}" defer></script>
<script th:src="@{/js/admin-lab.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -13,22 +13,22 @@
<noscript>
<link href="https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap" rel="stylesheet">
</noscript>
<link rel="icon" type="image/svg+xml" th:href="@{/favicon.svg(v='28')}">
<link rel="icon" type="image/svg+xml" th:href="@{/favicon.svg(v='29')}">
<!-- v=4: сброс кэша стилей после редизайна; при изменении css поднимать версию -->
<link rel="stylesheet" th:href="@{/css/bootstrap.min.css}">
<link rel="stylesheet" th:href="@{/css/bootstrap-icons.min.css}">
<link rel="stylesheet" th:href="@{/css/app.css(v='28')}">
<link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='28')}">
<link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='28')}" disabled>
<script th:src="@{/js/highlight.min.js(v='28')}" defer></script>
<script th:src="@{/js/table-scroll.js(v='28')}" defer></script>
<script th:src="@{/js/tablekit.js(v='28')}" defer></script>
<link rel="stylesheet" th:href="@{/css/app.css(v='29')}">
<link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='29')}">
<link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='29')}" disabled>
<script th:src="@{/js/highlight.min.js(v='29')}" defer></script>
<script th:src="@{/js/table-scroll.js(v='29')}" defer></script>
<script th:src="@{/js/tablekit.js(v='29')}" defer></script>
<script th:src="@{/js/bootstrap.bundle.min.js}" defer></script>
<script th:src="@{/js/theme-init.js(v='28')}"></script>
<script th:src="@{/js/app.js(v='28')}" defer></script>
<script th:src="@{/js/ui-state.js(v='28')}" defer></script>
<script th:src="@{/js/md-content.js(v='28')}" defer></script>
<script th:src="@{/js/submit-guard.js(v='28')}" defer></script>
<script th:src="@{/js/theme-init.js(v='29')}"></script>
<script th:src="@{/js/app.js(v='29')}" defer></script>
<script th:src="@{/js/ui-state.js(v='29')}" defer></script>
<script th:src="@{/js/md-content.js(v='29')}" defer></script>
<script th:src="@{/js/submit-guard.js(v='29')}" defer></script>
</head>
<body>
<div class="page d-flex flex-column min-vh-100">

View File

@@ -138,7 +138,7 @@
</div>
<script th:src="@{/js/mdeditor.js(v='28')}" defer></script>
<script th:src="@{/js/mdeditor.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -183,7 +183,7 @@
</div>
</dialog>
<script th:src="@{/js/content-sort.js(v='28')}" defer></script>
<script th:src="@{/js/content-sort.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -236,8 +236,8 @@
</div>
</dialog>
<script th:src="@{/js/mdeditor.js(v='28')}" defer></script>
<script th:src="@{/js/content-sort.js(v='28')}" defer></script>
<script th:src="@{/js/mdeditor.js(v='29')}" defer></script>
<script th:src="@{/js/content-sort.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -143,7 +143,7 @@
</div>
</dialog>
<script th:src="@{/js/content-sort.js(v='28')}" defer></script>
<script th:src="@{/js/content-sort.js(v='29')}" defer></script>
</div>
</body>
</html>

View File

@@ -107,7 +107,7 @@
<p class="text-sm text-muted">Ожидайте преподавателя с проверкой.</p>
</div>
</div>
<script th:src="@{/js/defense-timer.js(v='28')}" defer></script>
<script th:src="@{/js/defense-timer.js(v='29')}" defer></script>
</div>
</body>
</html>