import { renderHeader } from '../components/header.js?v=20260327192619';
import { profile } from '../mock-data.js?v=20260327192619';
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;
}