lizerk 0a80eb86cf refactor: extract shared utils/components, split requests page data into hook
- Create frontend/src/lib/shared/ with formatters, userUtils, paginationUtils
  (formatDate, formatMoney, displayUserName, userProfileLink, extractNextPage, loadAllPages)
- Create frontend/src/components/shared/SearchableSelect.tsx
  (SearchableSelectSingle + SearchableSelectMulti, replaces 3 inline copies)
- Extract requests page data/state/actions into useRequestsPage hook
  (requests/page.tsx: 1580 → ~280 lines of pure JSX)
- Replace duplicated helpers in equipment/page.tsx with shared imports
  (~80 lines removed: formatDate, formatMoney, displayUserName, extractNextPage,
   loadAllPages, inline SearchableSelectSingle)
- Replace duplicated helpers in procurement/page.tsx with shared imports
  (~90 lines removed: fmt, money, displayUserName, extractNextPage,
   inline departments loader, inline SearchableSelectSingle)
- 609 backend tests pass, TypeScript typecheck clean, ESLint clean
2026-04-01 16:21:02 +03:00

Документация проекта EUSRR

Эта папка содержит всю документацию проекта, организованную по категориям.

📁 Структура

completed/

Завершенные задачи: рефакторинги, исправления, реализованные фичи (22 файла)

guides/

Активные руководства и инструкции для разработчиков (гайды по валидации, миграции, настройке)

architecture/

Архитектурная документация и анализ систем (рендеринг чата, архитектура страниц)

diagnostic/

Диагностические руководства (WebSocket 1006, отладка проблем)

in-progress/

Активные задачи в разработке (закупки, получатели заявок, календарь)

reports/

Отчеты и аудиты проекта (реорганизация документации, план очистки)

📝 Главная документация

  • README.md - основная документация проекта
  • docs/reports/ - отчеты и планы по проекту

🔍 Поиск информации

  • Завершенные фичи → completed/
  • Как настроить X → guides/
  • Как работает Y → architecture/
  • Проблемы с Z → diagnostic/
  • Что в разработке → in-progress/
  • Отчеты и аудиты → reports/
Description
Разработка — в develop; локальный CI работает через Git hooks и quality gates перед коммитом/пушем. После проверки — слияние в master. Push в master запускает blue-green деплой на CORP через Gitea Actions и Telegram-отчёт. Статус деплоя — «Действия».
https://corp.robotail.pro/ Readme 86 MiB
Languages
Python 47.6%
TypeScript 29.8%
JavaScript 15.7%
HTML 4.1%
SCSS 2.1%
Other 0.7%