Fixed React hydration error caused by button nested inside button.
ISSUE:
- Console error: 'In HTML, <button> cannot be a descendant of <button>'
- Folder dropdown button contained a reset filter button inside it
- This is invalid HTML and causes hydration mismatch
SOLUTION:
- Changed inner button to span element
- Added cursor-pointer for visual feedback
- Added role="button" for accessibility
- Added tabIndex={0} for keyboard navigation
- Added onKeyDown handler for Enter/Space key support
- Maintains full functionality and accessibility
LOCATION:
- frontend/src/app/documents/page.tsx:255-267
- Folder filter reset button
The fix ensures proper HTML structure while preserving all interactive functionality and accessibility features.
Документация проекта 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%