1.67.0 (2026-08-27)
Features
- admin: explain where day rewards land when no tariff is set (d5e3b02)
- admin: import legacy referral settings from the cabinet (c3c7994)
- admin: reward level editor in the cabinet (99eacfa)
- admin: set how many referrals unlock a reward level (8f6181f)
- admin: set the referral chain depth from the level editor (caf21ec)
- admin: surface what the legacy import could not carry over (b65137e)
- admin: предупреждать, когда весь раздел закреплён в .env (2f95c6a)
- admin: раздел grace-доступа в админменю (bd86d3d)
- admin: скелетоны вместо спиннеров в админке (a330036)
- referral: render day rewards and chain levels (1003bfc)
- referral: блокировать поле глубины, закреплённое в .env (b35b19b)
- referral: выбор награды карточками с иконками, деньги или дни (4db4fd1)
- referral: карточка настроек наград на экране партнёра (7d51713)
- referral: понятная карточка условий и «Ваш уровень» вместо глубины сети (20ad959)
- referral: предупреждать о выключенном мультитарифе в редакторе уровней (097cd1e)
- referral: режим рангов в редакторе уровней и на экране партнёра (28cb8dc)
- referral: суммы на карточках выбора и подписка только под дни (e31c76c)
- ui: доперевести пользовательские экраны со спиннеров на скелетоны (7b9c78c)
- ui: единый источник правды по стилям скелетонов (f1ce830)
- ui: примитив Skeleton и SkeletonGroup вместо двух мёртвых компонентов (b6b608e)
- ui: скелетоны вместо спиннеров на пользовательских страницах (1fc5e72)
Bug Fixes
- admin: «оставить как есть» распознавать без учёта регистра (4d99cfc)
- admin: close three traps in the cabinet level editor (7c67969)
- admin: put the reward-level editor in the admin main menu (c3eb6c5)
- admin: выбор аварийного сквада и очистка числовых полей (73c5715)
- admin: закрыть находки ревью раздела grace-доступа (9793e8b)
- admin: разбирать 422 от бэкенда и сторожить переводы раздела (f466b78)
- admin: сделать имя пользователя в тикете ссылкой на его профиль (48ef463)
- admin: сделать имя пользователя в тикете ссылкой на его профиль (5489db6)
- gift: ссылка на подарок из кабинета не открывалась в боте (12b310b)
- referral: close what the UX review found in the cabinet (8fdf978)
- referral: make the level editor's numeric fields honest (3a5fc7a)
- storage: не принимать запись в память за сохранность там, где нужен reload (803cb2e)
- storage: не ронять приложение, когда браузер запретил хранилище (673a772)
- storage: не считать хранилище мёртвым из-за одного отказа записи (58e1288)
- storage: перевести оставшиеся незащищённые обращения и поставить храповик (31a3a3e)
- ui: закрыть хвосты консолидации скелетонов (56a5b25)