Article sidebar: add base offcanvas class (fix dismiss error), header close aligned right; asset v26

This commit is contained in:
2026-10-08 01:41:46 +03:00
parent 540d739456
commit c35cc28a29
9 changed files with 22 additions and 21 deletions

View File

@@ -601,6 +601,7 @@ dialog.dlg.dlg-lg .dlg-body { max-height: 88vh; min-height: 62vh; }
/* Строки с кнопками-иконками: формы не растягиваются на всю ширину (иначе столбик на мобиле) */ /* Строки с кнопками-иконками: формы не растягиваются на всю ширину (иначе столбик на мобиле) */
.action-row .inline-form { display: inline-flex; width: auto; flex-wrap: nowrap; } .action-row .inline-form { display: inline-flex; width: auto; flex-wrap: nowrap; }
#articleSide { --bs-offcanvas-width: 17rem; --bs-offcanvas-bg: var(--c-surface); --bs-offcanvas-color: var(--c-text); --bs-offcanvas-border-color: var(--c-border); } #articleSide { --bs-offcanvas-width: 17rem; --bs-offcanvas-bg: var(--c-surface); --bs-offcanvas-color: var(--c-text); --bs-offcanvas-border-color: var(--c-border); }
#articleSide .offcanvas-header { justify-content: space-between; align-items: center; border-bottom: 1px solid var(--c-border); }
.actions-col .btn { display: block; width: 100%; text-align: center; } .actions-col .btn { display: block; width: 100%; text-align: center; }
/* Иконки — SVG-файлы из /icons через CSS-маски: цвет наследуется от текста */ /* Иконки — SVG-файлы из /icons через CSS-маски: цвет наследуется от текста */
.cell-ico { font-size: 0.95rem; line-height: 1; } .cell-ico { font-size: 0.95rem; line-height: 1; }

View File

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

View File

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

View File

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

View File

@@ -5,7 +5,7 @@
<div id="content"> <div id="content">
<div class="row g-4 align-items-start"> <div class="row g-4 align-items-start">
<div class="col-12 col-lg-3 order-lg-1 order-2"> <div class="col-12 col-lg-3 order-lg-1 order-2">
<aside class="learn-side offcanvas-lg offcanvas-end" tabindex="-1" id="articleSide" aria-label="Содержание"> <aside class="learn-side offcanvas offcanvas-lg offcanvas-end" tabindex="-1" id="articleSide" aria-label="Содержание">
<div class="offcanvas-header d-lg-none"> <div class="offcanvas-header d-lg-none">
<span class="offcanvas-title">Содержание</span> <span class="offcanvas-title">Содержание</span>
<button type="button" class="navbar-close" data-bs-dismiss="offcanvas" aria-label="Закрыть">✕</button> <button type="button" class="navbar-close" data-bs-dismiss="offcanvas" aria-label="Закрыть">✕</button>
@@ -138,7 +138,7 @@
</div> </div>
<script th:src="@{/js/mdeditor.js(v='25')}" defer></script> <script th:src="@{/js/mdeditor.js(v='26')}" defer></script>
</div> </div>
</body> </body>
</html> </html>

View File

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

View File

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

View File

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

View File

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