import { renderHeader } from '../components/header.js'; import { directMessages } from '../mock-data.js'; import { getChatMessages, isSessionInvalidError, setContacts, state, terminateCurrentSession, } from '../state.js'; import { loadCurrentRelations } from '../services/user-connections.js'; export const pageMeta = { id: 'messages-list', title: 'Личные сообщения' }; function formatChatRowTime(ts) { const value = Number(ts || 0); if (!Number.isFinite(value) || value <= 0) return '-'; return new Intl.DateTimeFormat('ru-RU', { day: '2-digit', month: '2-digit', hour: '2-digit', minute: '2-digit', }).format(new Date(value)); } export function render({ navigate }) { const screen = document.createElement('section'); screen.className = 'stack dm-screen dm-list-screen'; screen.append( renderHeader({ title: 'Личные сообщения', leftLabel: String(state.session.login || '').trim(), rightActions: [{ label: '+', onClick: () => navigate('contact-search-view') }], }), ); const list = document.createElement('div'); list.className = 'stack dm-list'; function renderRow(item) { const row = document.createElement('article'); row.className = 'list-item dm-dialog-card'; row.innerHTML = `