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>
1.5 KiB
1.5 KiB
Tech Stack
- Angular 21 (Signals, OnPush, Standalone)
- TypeScript (strict)
- Taiga UI v5, Maskito, ng-web-apis
- Vitest + jsdom
Commands
- Dev:
npm start(поднимает dev-сервер с прокси, перед стартом выполняетenv:sync) - Build:
npm run build - Lint:
npm run lint - Env sync:
npm run env:sync
Rules
- Для цветов используются только переменные цветов из
src/styles/color-tokens.css. - Если что-то можно стилизовать через Taiga UI — делаем через него.
- Минимум any-типов; интерфейсы API —
readonly. - Доменные API-сервисы в
src/app/core/services/*-api.service.ts(works, analysis-runs, students, groups, events, reference-sets, users, audit). Не возвращать WorksApiService в роль god-сервиса. - Роуты только через
loadComponent(), защита —authGuard. - HTTP-ошибки классифицируются в
core/http/error-classification.util.tsи показываются черезUserErrorNotifyService. - Backend OpenAPI:
docs/swagger.json.
Конфиг окружения
- Правки делаются в
.env(копия.env.example), затемnpm run env:syncгенерируетsrc/environments/environment.ts. environment.tsв git не коммитится — это артефакт.