Commit Graph

112 Commits

Author SHA1 Message Date
2e43f79256 fix: validate grade input and save modal without reload
- require a score and return a clear message for empty/non-numeric values
- handle unreadable API request bodies instead of falling back to a bare 400
- submit the grade modal via fetch, show errors in place and update the cell
- keep the page scroll position; restore the form feedback tests
2026-10-22 23:31:05 +03:00
d287dd3119 feat: preserve form values and show field errors on submit
- keep submitted values and API field violations across redirects
- reopen the failed modal and highlight invalid fields
- show inline HTML5 validation messages instead of browser bubbles
- keep content-admin errors on the originating page
2026-10-22 22:41:35 +03:00
3827955909 fix: opaque sticky matrix column and square publish marker
Use solid row hover colors so the sticky student column does not show underlying cells while scrolling. Replace the circular checkbox marker with a square one and bump asset version to 36.
2026-10-20 22:03:50 +03:00
f7dc8d7d8b 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.
2026-10-20 21:56:38 +03:00
b1f00fd776 docs: актуализация под текущее состояние (Bootstrap вместо htmx, RestClient, интерцепторы, контроллеры, публикация по студентам, watch-опрос, автосейв без перезагрузки) 2026-10-13 15:59:37 +03:00
4fa400ddb1 chore: ignore .idea/ entirely (removed from history) 2026-10-13 15:54:17 +03:00
dd0b698a4a docs: ТЗ по группам, курсам/преподавателям, повышению и интеграции (07) 2026-10-13 15:49:31 +03:00
9f724a4817 Dark theme: readable muted text (override Bootstrap --bs-secondary-color vars), lighter muted palette; asset v34 2026-10-12 19:47:01 +03:00
8d5031364e Style checkboxes/pill in B3 bordeaux (force checkbox as pill, accent-color global); asset v33 2026-10-08 10:38:47 +03:00
6c2e41d558 Variant distribution: treat redirect as success, refresh modal in place, toasts above modal (inside dialog); asset v32 2026-10-08 10:28:34 +03:00
78130dbcd7 Group page: explicit 'Варианты' button for variant distribution, download icon; asset v30 2026-10-08 09:34:56 +03:00
c1df88df21 Article sidebar: neutralize offcanvas on desktop (visible, sticky) with explicit rules; asset v29 2026-10-08 01:57:43 +03:00
b216501528 Article sidebar: sticky works (no align-items-start, stronger selector, top under navbar); asset v28 2026-10-08 01:48:37 +03:00
c35cc28a29 Article sidebar: add base offcanvas class (fix dismiss error), header close aligned right; asset v26 2026-10-08 01:41:46 +03:00
540d739456 Bump all static asset versions to 25 (ensure fresh CSS/JS after redesign) 2026-10-08 01:35:03 +03:00
3742b48204 Article page: offcanvas-lg sidebar (sticky desktop, right slide mobile), compact action row; persistent accordion state (localStorage) 2026-10-08 01:34:36 +03:00
01237c6b0c Forms: return to previous scroll position after submit (no highlight/flicker); themed scrollbars everywhere 2026-10-08 00:54:51 +03:00
6788ff0607 Lab variants: redirect back anchors to the saved variant with highlight 2026-10-07 23:47:46 +03:00
afabe7b597 Fix 405 on variant save/delete: redirect to lab page instead of removed /edit page 2026-10-07 23:33:50 +03:00
c41acb32b6 Uniform button size (nowrap), md-body h1-h6 sizes (fix h3 as h1), themed scrollbars 2026-10-04 13:50:01 +03:00
13590a3594 Learn head: responsive row/col (title full width, 3 equal buttons below on mobile) 2026-10-03 00:43:10 +03:00
5856c0b479 UI fixes: learn rows on one line, offcanvas header/brand/user layout, users column, code color, badge padding, sticky footer; class-based selectors 2026-10-03 00:24:48 +03:00
f65a60462e Rework on Bootstrap 5: standard navbar+offcanvas (fixed empty menu), Bootstrap Icons, complete B3 theme via BS vars, row/col grids 2026-10-03 00:05:52 +03:00
03b64586b2 Bootstrap 5.3 as CSS base + B3 theme layer; dialogs isolated as .dlg; offcanvas sidebar; icons via SVG assets + masks 2026-10-02 23:44:00 +03:00
8c75fd1c8e Mobile: burger primary right, theme in header, sidebar from right, learn rows wrap with actions below; pencil for all edit actions 2026-10-02 23:12:32 +03:00
6c560fdd80 Mobile sidebar nav (burger, overlay, Esc), bigger bolder accordion arrow, text/arrow centering, nav active on both menus 2026-10-02 22:52:58 +03:00
df919507d7 Icons as SVG assets via CSS masks; bordeaux links without underline; pencil for article edit 2026-10-02 21:02:13 +03:00
f12943c462 Style fixes: asset cache v=11, dashboard row alignment, drag handles back to dots 2026-10-02 20:38:41 +03:00
9c1664ce00 Lab page: per-variant create/edit modals, rendered conditions, inline lab edit; student page: compact code field, big score, defense wording, header highlight; toasts tinted; p margin 2026-10-02 20:25:36 +03:00
e0a1a3d171 app.js: drop native confirm fallback 2026-10-02 18:42:07 +03:00
6cb2e558ca No inline JS/styles in templates: app.js delegation (data-action/data-modal/data-confirm/data-auto-submit), B3 confirm/alert dialogs, theme-init file 2026-10-02 18:41:12 +03:00
aee1672058 Learn pages: icon actions (eye/pencil/hand/trash), centered accordion arrows; toasts bottom-center in B3 style 2026-10-02 17:31:06 +03:00
2ccdbc832f Group page: B3 fidelity (cell-main/cell-sub, defense code in cell), class-based eye/focus, utilities; drop import button 2026-10-02 17:02:58 +03:00
e4307f2248 Group page: B3 layout (page-head, toolbar, matrix), neutral header with accent logo dot 2026-10-02 16:37:00 +03:00
c355190783 Style: align last tweaks with B3 bordeaux design (neutral header, outline buttons, 8/10px radii) 2026-10-02 16:00:14 +03:00
51d1b84297 Redesign B3 bordeaux + finish lab-page rework
- Lab page is now read-only with a settings screen for levels/variants;
  variant issuance moved to a large modal on the group page (assign-fragment).
- Header: bordeaux logo and 2px accent underline, bordeaux login/logout/theme
  buttons; smaller radii across the UI; filled secondary/danger buttons.
- Includes prior agent work (login backoff, no-cache pages, API timeouts,
  content tweaks) and fixes (variant usage Map.values, import order).
- Bump static asset version to v=9.
2026-10-02 15:41:16 +03:00
c0cf11a5a3 Admin: users page with search and full cascade delete (identity + progress + files) 2026-10-02 11:53:01 +03:00
b94538cb7e Defense: sync admin/student timers from server every 10s; toasts with ready reason; live eye counter 2026-10-02 01:21:32 +03:00
fba4e013e5 Publication per student: checkbox in lab column, partial state in eye, cursor on Variant 2026-10-02 00:33:16 +03:00
d5fbb804c3 Modals: preserve page scroll position while locking background 2026-09-29 20:58:41 +03:00
881bb6797a Defense modal: move Save to bottom-right next to issue-code action 2026-09-29 18:34:41 +03:00
b97a0096ff Solutions zip: use real file/submission timestamps instead of epoch (fixes bogus years) 2026-09-29 18:31:19 +03:00
fca585921d Grade comments: mark suggestion tone with colored icon and left border 2026-09-29 17:55:34 +03:00
112df9281c Grade comments: select tone sized by content so input keeps width (fix row overflow) 2026-09-29 17:31:47 +03:00
22b33e6629 Modals: lock background scroll; comment dropdown keeps row on one line, full tone labels, flip up near bottom 2026-09-29 16:19:15 +03:00
81133684e9 Grade comments: dropdown matches input width, compact tone select, responsive wrap 2026-09-29 16:09:39 +03:00
e35b0621db Grade comments: show live usage count and allow deleting unused templates 2026-09-29 15:56:00 +03:00
3870bcab8f Modals: action buttons bottom-right, no empty space under content 2026-09-28 17:39:10 +03:00
15fe94c32d Admin group: large variant modal with the assigned variant task text 2026-09-28 17:37:18 +03:00
daaacb1d5f Admin group: counter = number of group students who submitted a solution 2026-09-28 17:35:10 +03:00