929bf9f45b
Считать портал уже научился по московским суткам. Показывал он вразнобой: часть страниц просила браузер явно про Москву, двадцать мест оставляли пояс на его усмотрение. Человек за пределами Москвы видел у заявки не тот день, что в отчёте, — при том что фильтры и отчёты считают московские сутки. Двадцать мест поправлены: заявки, счета, проводки, сессии и смена пароля, происшествия, запросы субъектов ПДн, ступени цен, интеграция с поставщиком, проекты поставщика, система, посетители, вход под клиентом, кампании, поле автоподбора, СМС и прогрев у отдела продаж, карточка клиента. Одно место оставлено гринвичским НАМЕРЕННО и с объяснением рядом: firstLeadDate собирает дату из уже московских чисел через Date.UTC, и повторный перевод сдвинул бы день назад. Сторож tools/storozh-moskovskogo-vremeni.mjs держит правило дальше: любая печать времени обязана НАЗВАТЬ пояс. Он отличает время от денег - тот же вызов toLocaleString печатает и суммы, им пояс не нужен. Приёмка вырезанием в обе стороны: до правки сторож нашёл ровно 20 мест, после - ноль при 303 проверенных файлах; на пустой папке честно говорит "датчик сломан", а не "чисто". Своих проверок у сторожа десять, написаны до него. Прогон интерфейса: 232 файла проверок, 1743 зелёных, 0 падений. Проверка типов и разметка: 7 замечаний, все были ДО правки и не в моих файлах (проверено прятанием своих правок и повторным прогоном). Заодно выметен мусор в корне: файлы с именами 1', 140, 2771, 3042, 3404, out.txt и app/toArray-скобки - обрывки чужих незакавыченных перенаправлений. Заодно убрана мёртвая функция dirLabel в экране автоподбора: её никто не звал, она была там до этой правки, и линтер из-за неё не пропускал весь файл. Решение владельца. Прогон экрана: 15 файлов проверок, 84 зелёных.