import { renderHeader } from '../components/header.js?v=20260330210201'; import { profile } from '../mock-data.js?v=20260330210201'; export const pageMeta = { id: 'profile-view', title: 'Профиль' }; export function render({ navigate }) { const badgeHelp = { official: { title: 'Официальный аккаунт', text: 'Эта настройка включает или отключает отметку официального аккаунта в профиле. Используйте её, когда нужно показать или скрыть подтверждённый статус.', }, shine: { title: 'Сияющий', text: 'Этот переключатель включает или отключает режим «Сияющий». Он управляет отображением дополнительного визуального акцента для профиля.', }, }; const screen = document.createElement('section'); screen.className = 'stack'; screen.append( renderHeader({ title: 'Профиль', rightActions: [ { label: 'Кошелёк', onClick: () => navigate('wallet-view') }, { label: 'Настройки', onClick: () => navigate('settings-view') }, ], }) ); const card = document.createElement('div'); card.className = 'card stack'; card.innerHTML = `
${profile.avatarInitials}

${profile.name}

${profile.login}

Телефон: ${profile.phone}
Адрес: ${profile.address}
Email: ${profile.email}
Соцсети: ${profile.socials}
`; const modal = document.createElement('div'); modal.className = 'profile-help-modal'; modal.hidden = true; modal.innerHTML = `
`; const titleEl = modal.querySelector('#profile-help-title'); const textEl = modal.querySelector('.profile-help-text'); const dialogEl = modal.querySelector('.profile-help-dialog'); function closeModal() { modal.hidden = true; } function openModal(type) { const content = badgeHelp[type]; if (!content) return; titleEl.textContent = content.title; textEl.textContent = content.text; modal.hidden = false; dialogEl.focus(); } card.querySelectorAll('.profile-badge-trigger').forEach((button) => { button.addEventListener('click', () => openModal(button.dataset.badge)); }); modal.addEventListener('click', (event) => { const target = event.target; if (target instanceof HTMLElement && (target.dataset.close === 'true' || target.classList.contains('profile-help-close'))) { closeModal(); } }); modal.addEventListener('keydown', (event) => { if (event.key === 'Escape') { closeModal(); } }); screen.append(card, modal); return screen; }