import { renderHeader } from '../components/header.js'; import { saveEntryLanguage, state } from '../state.js'; export const pageMeta = { id: 'language-view', title: 'Язык' }; function resolveReturnPage() { const stored = String(sessionStorage.getItem('shine-language-return-page') || '').trim(); return stored === 'start-view' ? 'start-view' : 'settings-view'; } export function render({ navigate }) { const screen = document.createElement('section'); screen.className = 'stack language-screen'; const returnPage = resolveReturnPage(); screen.append( renderHeader({ title: 'Язык / Language', leftAction: { label: '←', onClick: () => { sessionStorage.removeItem('shine-language-return-page'); navigate(returnPage); } }, }), ); const card = document.createElement('div'); card.className = 'card stack language-choice-card'; card.innerHTML = `

Выберите язык интерфейса

`; card.querySelectorAll('[data-language]').forEach((button) => { button.addEventListener('click', () => { const language = String(button.dataset.language || 'ru'); saveEntryLanguage(language); card.querySelectorAll('[data-language]').forEach((item) => { const selected = item === button; item.classList.toggle('is-selected', selected); item.setAttribute('aria-checked', String(selected)); }); sessionStorage.removeItem('shine-language-return-page'); navigate(returnPage); }); }); screen.append(card); return screen; }