The /Import/StroyBot/Reports endpoint only validates the file, so the
check now runs as soon as a file is picked. When there are no errors,
"Import" builds the reports from the ids in the response and saves them
with the same Dataverse code as the report form: one report per date,
company, shift and object; resources nested under their work; idle and
repair hours as separate rows.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Ports the weather check added to stroy-bot-main on 2026-10-16: daily
station weather, report positions with weather per shift and the AI
assessment of working conditions. Opens as ?page=weather&start=&end=
instead of the #weathercheck hash, and hub dates survive the way back.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Import tests wait for an estimate in the catalogue: the API returns
totalCount 0 for every project.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Units dictionary has around a hundred entries; typing now filters the
list and Enter picks the first match. Only dictionary values can be
chosen, as before. Generic SearchableSelect lives in shared until the
ui-kit gets one.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Status choices in the Проекты list are Текущий / Архивный, so the legacy
archive rule matches real data; the projects portal writes its own
status to the API catalogue, which StroyBot does not read.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Scenarios per section with expected results, role switching with one
account, side-by-side comparison with the legacy pages and a bug report
template, so the workbench check can be done systematically.
Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>