Critical UX fix для #114 — user-drag слайдеры в WeightProfilePanel теперь применяются immediately к scoring, без обязательного profile save. Backend (parcels.py + schemas/parcel.py + tests): - POST /analyze принимает optional AnalyzeRequest { weights: dict[str,float] | None } - Priority: inline → profile_id → user_default → system defaults - Validate against ALLOWED_CATEGORIES + [MIN_WEIGHT, MAX_WEIGHT] → 422 на violation - Partial override semantics - 5 mock tests Frontend (useSiteAnalysis.ts + page.tsx): - weights param в analyze mutation - handleAnalyze всегда передаёт currentWeights когда activeProfileId=null - handleWeightsChange re-trigger analyze immediately если parcel loaded Phase 2 (debounce) + Phase 3 (Edit/Delete UI) — follow-up. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| tsconfig.json | ||