feat: add plagiarism graph, domain API services, error/empty-state handling, and UI polish
Some checks failed
CI / checks (push) Has been cancelled

- Add PlagiarismGraphComponent (force-graph) with legend, abbreviated names,
  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
- Add CLAUDE.md, .env.example, proxy config, CI workflow, and Makefile

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Микаэл Оганесян
2026-04-18 15:25:21 +03:00
parent 44b80cd4b5
commit 72ea8443cc
49 changed files with 1939 additions and 589 deletions

44
Makefile Normal file
View File

@@ -0,0 +1,44 @@
.DEFAULT_GOAL := help
.PHONY: help install env-sync start serve build build-dev watch test lint clean
help:
@echo "SparkAntiplagiat"
@echo " make install Установить зависимости (npm install)"
@echo " make env-sync Сгенерировать src/environments/environment.ts из .env"
@echo " make start Dev-сервер (ng serve + прокси, перед стартом — env:sync)"
@echo " make serve то же, что start"
@echo " make build Production-сборка (перед сборкой — env:sync)"
@echo " make build-dev Сборка в режиме development"
@echo " make watch ng build --watch (development)"
@echo " make test Unit-тесты (ng test)"
@echo " make lint ESLint по всему проекту"
@echo " make clean Удалить dist, out-tsc, кэш Angular"
install:
npm install
env-sync:
npm run env:sync
start serve:
npm start
build:
npm run build
build-dev:
npm run env:sync
npx ng build --configuration development
watch:
npm run watch
test:
npm test
lint:
npm run lint
clean:
rm -rf dist out-tsc .angular/cache