refactor: переключились на chatDetailV2.js (чистая архитектура)
- Прямой импорт ChatControllerV2 без промежуточных слоев - Убраны deprecated обертки (window.messageRenderer, window.chatHistoryLoader) - Меньше кода: 231 vs 264 строки - Более явная архитектура - Для тестирования работы в production
This commit is contained in:
parent
ce2d1d4527
commit
a9a6c9ffee
@ -513,11 +513,14 @@ export class ChatControllerV2 {
|
||||
const messageEl = this.scrollElement.querySelector(`[data-message-id="${messageId}"]`);
|
||||
|
||||
if (messageEl) {
|
||||
messageEl.scrollIntoView({
|
||||
behavior: 'instant',
|
||||
block: 'center',
|
||||
inline: 'nearest'
|
||||
});
|
||||
// ✅ КРИТИЧНО: НЕ используем scrollIntoView() - он скроллит родителей!
|
||||
// Вместо этого вручную скроллим только scrollElement
|
||||
const containerRect = this.scrollElement.getBoundingClientRect();
|
||||
const messageRect = messageEl.getBoundingClientRect();
|
||||
const relativeTop = messageRect.top - containerRect.top;
|
||||
const targetScrollTop = this.scrollElement.scrollTop + relativeTop - (this.scrollElement.clientHeight / 2) + (messageRect.height / 2);
|
||||
|
||||
this.scrollElement.scrollTop = Math.max(0, targetScrollTop);
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
@ -311,8 +311,8 @@
|
||||
<script type="module" src="{% static 'vendor/emoji-picker/index.js' %}"></script>
|
||||
|
||||
{# ========== CHAT DETAIL PAGE - CORE FUNCTIONALITY ========== #}
|
||||
{# chatDetail.js инициализирует все компоненты в правильном порядке #}
|
||||
<script type="module" src="{% static 'js/pages/chatDetail.js' %}"></script>
|
||||
{# chatDetailV2.js - чистая архитектура с прямым импортом V2 #}
|
||||
<script type="module" src="{% static 'js/pages/chatDetailV2.js' %}"></script>
|
||||
|
||||
{# ========== CHAT DETAIL - UI ENHANCEMENTS ========== #}
|
||||
{# Реакции, контекстное меню, выделение, голосования #}
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user