feat: general lab comment and strict square UI

Add a non-required general comment for a student's lab grade (progress V9, API, admin modal, student card). Empty string is the default. Switch the UI to square corners and bump static asset versions.
This commit is contained in:
2026-10-20 21:56:38 +03:00
parent b1f00fd776
commit f7dc8d7d8b
22 changed files with 97 additions and 38 deletions

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='34')}">
<!-- v=4: сброс кэша стилей после редизайна; при изменении css поднимать версию -->
<link rel="icon" type="image/svg+xml" th:href="@{/favicon.svg(v='35')}">
<!-- v=35: сброс кэша стилей после изменения геометрии; при изменении 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='34')}">
<link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='34')}">
<link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='34')}" disabled>
<script th:src="@{/js/highlight.min.js(v='34')}" defer></script>
<script th:src="@{/js/table-scroll.js(v='34')}" defer></script>
<script th:src="@{/js/tablekit.js(v='34')}" defer></script>
<link rel="stylesheet" th:href="@{/css/app.css(v='35')}">
<link id="hljs-light" rel="stylesheet" th:href="@{/css/hljs-github.css(v='35')}">
<link id="hljs-dark" rel="stylesheet" th:href="@{/css/hljs-github-dark.css(v='35')}" disabled>
<script th:src="@{/js/highlight.min.js(v='35')}" defer></script>
<script th:src="@{/js/table-scroll.js(v='35')}" defer></script>
<script th:src="@{/js/tablekit.js(v='35')}" defer></script>
<script th:src="@{/js/bootstrap.bundle.min.js}" defer></script>
<script th:src="@{/js/theme-init.js(v='34')}"></script>
<script th:src="@{/js/app.js(v='34')}" defer></script>
<script th:src="@{/js/ui-state.js(v='34')}" defer></script>
<script th:src="@{/js/md-content.js(v='34')}" defer></script>
<script th:src="@{/js/submit-guard.js(v='34')}" defer></script>
<script th:src="@{/js/theme-init.js(v='35')}"></script>
<script th:src="@{/js/app.js(v='35')}" defer></script>
<script th:src="@{/js/ui-state.js(v='35')}" defer></script>
<script th:src="@{/js/md-content.js(v='35')}" defer></script>
<script th:src="@{/js/submit-guard.js(v='35')}" defer></script>
</head>
<body>
<div class="page d-flex flex-column min-vh-100">