feat(ui): live dashboard, capture-status pill, bet/backtest UX
- Add IDashboardSummaryService/DashboardSummaryService: real event/snapshot/ anomaly counts, top-5 signals, and per-stage pipeline health from worker state. - Home: replace hard-coded zeros + placeholder feed with live data, a clickable signal feed, and a first-run empty state with a Settings CTA. - MainLayout: add an appbar capture-status pill (Capturing/Paused) bound to the poller toggles, refreshed via IOptionsMonitor.OnChange. - MyBets: success snackbar on bet submit. Backtest: surface a Cancel button while a run is in flight. - Add en/ru localization for all new strings; register IOptionsMonitor<WorkerOptions> in the bUnit test context for layout-rendering tests.
This commit is contained in:
@@ -82,6 +82,14 @@
|
||||
<data name="Home.Pipeline.Step3"><value>Детектор разворота</value></data>
|
||||
<data name="Home.Pipeline.Step4"><value>Экспорт XLSX</value></data>
|
||||
<data name="Home.Empty"><value>Пока пусто. Запустите фоновые сборщики на странице «Настройки», чтобы пошёл поток данных.</value></data>
|
||||
<data name="Home.Empty.Heading"><value>Пока ничего не собрано</value></data>
|
||||
<data name="Home.Empty.Cta"><value>Открыть настройки</value></data>
|
||||
<data name="Home.NoSignals"><value>Идёт сбор линий — разворотов пока нет.</value></data>
|
||||
<data name="Home.ViewAll"><value>Все сигналы</value></data>
|
||||
<data name="Home.Stat.NewToday"><value>{0} новых сегодня</value></data>
|
||||
<data name="Scraping.On"><value>Идёт сбор</value></data>
|
||||
<data name="Scraping.Off"><value>Пауза</value></data>
|
||||
<data name="Scraping.Aria"><value>Статус сбора данных</value></data>
|
||||
|
||||
<!-- Settings — sections -->
|
||||
<data name="Settings.Kicker"><value>Конфигурация</value></data>
|
||||
@@ -420,6 +428,7 @@
|
||||
<data name="Journal.Empty.None"><value>Ставок пока нет. Запишите свою ставку через форму выше — после окончания матча журнал авто-проставит результат и посчитает CLV против последнего пре-матч снимка.</value></data>
|
||||
<data name="Journal.Empty.NotApplicable"><value>—</value></data>
|
||||
<data name="Journal.Error.Generic"><value>Не удалось сохранить ставку — проверьте ID события и повторите.</value></data>
|
||||
<data name="Journal.Submitted"><value>Ставка записана.</value></data>
|
||||
<data name="Journal.Resolve.None"><value>Ожидающих ставок к расчёту нет.</value></data>
|
||||
<data name="Journal.Resolve.Done"><value>Рассчитано ожидающих: {0}.</value></data>
|
||||
<data name="Journal.Confirm.Delete"><value>Удалить эту ставку безвозвратно?</value></data>
|
||||
@@ -445,6 +454,7 @@
|
||||
<data name="Backtest.StakeRule.Kelly"><value>Келли</value></data>
|
||||
<data name="Backtest.Action.Run"><value>Запустить</value></data>
|
||||
<data name="Backtest.Action.Running"><value>Симуляция…</value></data>
|
||||
<data name="Backtest.Action.Cancel"><value>Отмена</value></data>
|
||||
<data name="Backtest.Stat.FinalBankroll"><value>Итоговый банк</value></data>
|
||||
<data name="Backtest.Stat.NetProfit"><value>Чистая прибыль</value></data>
|
||||
<data name="Backtest.Stat.Roi"><value>ROI</value></data>
|
||||
|
||||
Reference in New Issue
Block a user