Проблемы: - События накладывались друг на друга - Пилюли событий были раздуты - CSS вместо SCSS - Inline styles захламляли JS Решение: 1. Новый SCSS модуль _calendar-events.scss - Компактные события: 10px шрифт, 2px padding, 18px min-height - Двухцветная схема через data-атрибуты - Управление стеком: max-height 72px (~4 события) - Hover, анимации, адаптивность - Кастомные scrollbar для popover 2. Упрощённый JavaScript - Только цвета через inline styles - Всё остальное через SCSS (padding, border, shadow) - Data-атрибуты: [data-has-calendar-color], [data-recurrence] - Убраны все inline hover-листенеры 3. Оптимизация FullCalendar - dayMaxEvents: true - автоматически '+N еще' - dayMaxEventRows: 4 - максимум 4 строки - eventMaxStack: 3 - до 3 в стеке - Ячейка дня: min-height 80px - События: max-height 72px контейнера 4. Компактный дизайн - Граница календаря: 3px (было 4px) - Padding: 2px 4px (было 6px 4px) - Font-size: 10px (было 11px) - Line-clamp: 2 строки (было 3) - Margin: 1px 2px (плотнее) 5. Производительность - will-change для GPU ускорения - Убраны лишние event listeners - CSS animations вместо JS - Transition только на hover Результат: ✅ События компактные и не накладываются ✅ Читаемость сохранена (белый текст + тень) ✅ Двухцветная схема работает (граница + фон) ✅ +N еще при >4 событиях в день ✅ SCSS архитектура (не inline CSS) ✅ Быстрые hover эффекты через CSS
Завершенные задачи
Эта папка содержит документацию по завершенным задачам проекта.
📊 Категории
🔄 Рефакторинг (5 файлов)
- BASE_TEMPLATE_REFACTORING_COMPLETE.md - базовые шаблоны
- CHAT_LIST_REFACTORING_COMPLETE.md - список чатов
- DOCUMENTS_REFACTORING_COMPLETE.md - модуль документов
- JS_MODULES_REFACTORING_COMPLETE.md - JavaScript модули
- REFACTORING_SUMMARY.md - общая сводка
🐛 Исправления (7 файлов)
- CHAT_CACHING_FIX.md - кэширование чатов
- CHAT_LIST_BUGS_FIX.md - баги списка чатов
- FOUC_FIX.md - Flash of Unstyled Content
- MESSAGE_NEWLINES_FIX.md - переносы строк в сообщениях
- POLL_WEBSOCKET_FIX.md - WebSocket для опросов
- WEBSOCKET_ERROR_FIX.md - ошибки WebSocket
- WEBSOCKET_KEEPALIVE_FIX.md - keepalive соединения
✨ Реализованные фичи (10+ файлов)
- AVATAR_CROPPER_IMPLEMENTATION.md - обрезка аватаров
- FEED_AJAX_REFACTORING.md - AJAX лента новостей
- FORWARDED_MESSAGE_METADATA.md - метаданные пересылки
- MESSAGE_EDITING_FULL_RERENDER.md - полный рендеринг при редактировании
- MESSAGE_RENDERING_REFACTORING.md - рендеринг сообщений
- MESSAGE_SELECTION_FORWARDING.md - выбор и пересылка сообщений
- MESSAGE_SENDING_REFACTORING.md - отправка сообщений
- POLLS_IMPLEMENTATION.md - система опросов
- POLL_VOTERS_LIST.md - список проголосовавших
- REACTIONS_FROM_DATABASE.md - реакции из БД
- REPLY_UPDATE_ON_EDIT.md - обновление ответов
- и другие...
📝 Примечание
Все задачи в этой папке завершены и работают в production. Файлы сохранены для истории и справки.