Style checkboxes/pill in B3 bordeaux (force checkbox as pill, accent-color global); asset v33

This commit is contained in:
2026-10-08 10:37:01 +03:00
parent 794c2989a0
commit 3cf5548a68
10 changed files with 27 additions and 21 deletions

View File

@@ -559,6 +559,12 @@ dialog.dlg.dlg-lg .dlg-body { max-height: 88vh; min-height: 62vh; }
[data-theme="dark"] .tone-positive-text { color: #6ee7b7; } [data-theme="dark"] .tone-positive-text { color: #6ee7b7; }
[data-theme="dark"] .tone-negative-text { color: #fca5a5; } [data-theme="dark"] .tone-negative-text { color: #fca5a5; }
.tone-label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; } .tone-label { display: flex; align-items: center; gap: 0.5rem; font-size: 0.875rem; }
/* Чекбоксы — в акцентной (бордовой) гамме */
input[type="checkbox"] { accent-color: var(--c-accent); width: 1rem; height: 1rem; cursor: pointer; flex: 0 0 auto; }
/* Галочка-«пилюля»: компактная опция с рамкой, подсвечивается при выборе */
.tone-pill { border: 1px solid var(--c-border); border-radius: var(--radius); padding: 0.4rem 0.7rem; background: var(--c-surface); cursor: pointer; user-select: none; }
.tone-pill:hover { border-color: var(--c-border-strong); }
.tone-pill:has(input:checked) { border-color: var(--c-accent); color: var(--c-accent); background: var(--c-accent-soft); }
.pre-wrap { white-space: pre-wrap; word-break: break-word; } .pre-wrap { white-space: pre-wrap; word-break: break-word; }
/* Редактируемая матрица: закреплённый столбец и компактные селекты */ /* Редактируемая матрица: закреплённый столбец и компактные селекты */

View File

@@ -9,7 +9,7 @@
th:attr="data-refresh=${refreshUrl}"> th:attr="data-refresh=${refreshUrl}">
<input type="hidden" name="_csrf" th:value="${csrfToken}"> <input type="hidden" name="_csrf" th:value="${csrfToken}">
<input type="hidden" name="groupIds" th:value="${groupId}"> <input type="hidden" name="groupIds" th:value="${groupId}">
<label class="tone-label"><input type="checkbox" name="force" value="true"> пересоздать заново</label> <label class="tone-label tone-pill"><input type="checkbox" name="force" value="true"> пересоздать заново</label>
<button class="btn btn-primary" type="submit">Распределить автоматически</button> <button class="btn btn-primary" type="submit">Распределить автоматически</button>
</form> </form>
<span class="text-sm text-muted" th:text="|Занято вариантов: ${#maps.size(variantUsage)}|">—</span> <span class="text-sm text-muted" th:text="|Занято вариантов: ${#maps.size(variantUsage)}|">—</span>

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='32')}" defer></script> <script th:src="@{/js/admin-group.js(v='33')}" 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='32')}" defer></script> <script th:src="@{/js/admin-lab.js(v='33')}" 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='32')}"> <link rel="icon" type="image/svg+xml" th:href="@{/favicon.svg(v='33')}">
<!-- 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='32')}"> <link rel="stylesheet" th:href="@{/css/app.css(v='33')}">
<link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='32')}"> <link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='33')}">
<link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='32')}" disabled> <link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='33')}" disabled>
<script th:src="@{/js/highlight.min.js(v='32')}" defer></script> <script th:src="@{/js/highlight.min.js(v='33')}" defer></script>
<script th:src="@{/js/table-scroll.js(v='32')}" defer></script> <script th:src="@{/js/table-scroll.js(v='33')}" defer></script>
<script th:src="@{/js/tablekit.js(v='32')}" defer></script> <script th:src="@{/js/tablekit.js(v='33')}" 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='32')}"></script> <script th:src="@{/js/theme-init.js(v='33')}"></script>
<script th:src="@{/js/app.js(v='32')}" defer></script> <script th:src="@{/js/app.js(v='33')}" defer></script>
<script th:src="@{/js/ui-state.js(v='32')}" defer></script> <script th:src="@{/js/ui-state.js(v='33')}" defer></script>
<script th:src="@{/js/md-content.js(v='32')}" defer></script> <script th:src="@{/js/md-content.js(v='33')}" defer></script>
<script th:src="@{/js/submit-guard.js(v='32')}" defer></script> <script th:src="@{/js/submit-guard.js(v='33')}" 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

@@ -138,7 +138,7 @@
</div> </div>
<script th:src="@{/js/mdeditor.js(v='32')}" defer></script> <script th:src="@{/js/mdeditor.js(v='33')}" 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='32')}" defer></script> <script th:src="@{/js/content-sort.js(v='33')}" 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='32')}" defer></script> <script th:src="@{/js/mdeditor.js(v='33')}" defer></script>
<script th:src="@{/js/content-sort.js(v='32')}" defer></script> <script th:src="@{/js/content-sort.js(v='33')}" 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='32')}" defer></script> <script th:src="@{/js/content-sort.js(v='33')}" 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='32')}" defer></script> <script th:src="@{/js/defense-timer.js(v='33')}" defer></script>
</div> </div>
</body> </body>
</html> </html>