- Add PlagiarismGraphComponent (force-graph) with legend, abbreviated names,
Some checks failed
CI / checks (push) Failing after 9m18s

risk-derived node colors, and particle animation; integrated into work, event,
  group, and student detail pages
- Extract domain API services (students, events, groups, reference-sets, users,
  analysis-runs, audit) from WorksApiService
- Add RiskLevelPipe for translating risk level values to Russian
- Replace raw IDs with entity names across all detail page overview sections
- Dashboard: remove Works tab, reorder tabs (Students, Events, Groups, Ref-sets),
  hide list cards when empty or on error
- Hide secondary blocks (runs, matches, graph, analytics) on error instead of
  showing error text; keep top-level entity load errors visible
- Refset detail: split Ingestions tab into separate list and upload cards;
  hide list card when empty or on error
- Convert analysis runs list to table; fix kv-grid vertical alignment
- Style native select[tuiSelect] to match other form fields
- Add favicon (yellow star) from sparkguardian
This commit is contained in:
Микаэл Оганесян
2026-04-18 15:25:21 +03:00
parent 44b80cd4b5
commit 2016d9160c
49 changed files with 1939 additions and 589 deletions

14
.env.example Normal file
View File

@@ -0,0 +1,14 @@
# Скопируйте в `.env` и при необходимости измените.
# Клиентский бандл: после правок выполните `npm run env:sync` (вызывается автоматически перед `start` и `build`).
# База API (путь относительно текущего origin в браузере; на localhost/file:// — склеивается с SG_API_FALLBACK_ORIGIN)
SG_API_BASE_PATH=
# Origin бэкенда для разрешения относительных URL при dev-режиме и file://
SG_API_FALLBACK_ORIGIN=http://spark.returntozer0.ru
# Только dev-сервер (`ng serve`): куда проксировать `/api/**`
SG_DEV_PROXY_TARGET=http://spark.returntozer0.ru
# Размер страницы по умолчанию (списки работ, студентов, групп и пр.)
SG_DEFAULT_PAGE_LIMIT=20