Dark cockpit Scenarios tab wired to useParcelForecastQuery (ForecastEnvelope): scenario cards (base/aggr/conserv), demand-vs-supply chart + horizons table, scenario compare table, confidence panel, recommended product (квартирография + target price + success-score), scoring transparency. Calm polling skeleton while the async forecast is pending — never an error. Hero invest-score/buy-signal now surface real values once the forecast resolves (scoring.overall×10; buy-signal from exec_summary.key_numbers.deficit_index, derived independent of the overall score), keeping the "после прогноза" placeholders while pending. advisory · §22 caption shown in both states. All forecast field paths verified against types/forecast.ts. Dark theme stays scoped under .pticaRoot[data-theme=dark]. TS strict, no any. |
||
|---|---|---|
| .. | ||
| public | ||
| src | ||
| .dockerignore | ||
| .env.example | ||
| .eslintrc.json | ||
| Dockerfile | ||
| next-env.d.ts | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| sentry.client.config.ts | ||
| sentry.edge.config.ts | ||
| sentry.server.config.ts | ||
| tsconfig.json | ||
| vitest-env.d.ts | ||
| vitest.config.ts | ||
| vitest.setup.ts | ||