import { renderHeader } from '../components/header.js?v=20260327192619'; import { wallet } from '../mock-data.js?v=20260327192619'; export const pageMeta = { id: 'wallet-view', title: 'Кошелёк' }; export function render({ navigate }) { const screen = document.createElement('section'); screen.className = 'stack'; let statusText = 'Данные демонстрационные'; const status = document.createElement('p'); status.className = 'meta-muted'; const updateStatus = (text) => { statusText = text; status.textContent = statusText; }; screen.append( renderHeader({ title: 'Кошелёк', leftAction: { label: '←', onClick: () => navigate('profile-view') }, }) ); const card = document.createElement('div'); card.className = 'card stack'; card.innerHTML = `

Баланс

${wallet.balanceSOL} SOL

Обновлено: ${wallet.updatedAt}

Публичный адрес

${wallet.publicAddress}

`; const actions = document.createElement('div'); actions.className = 'stack'; actions.innerHTML = `
`; actions.querySelector('#copy-address').addEventListener('click', async () => { try { await navigator.clipboard.writeText(wallet.publicAddress); updateStatus('Адрес скопирован в буфер обмена'); } catch { updateStatus('Не удалось скопировать в этом браузере'); } }); actions.querySelector('#refresh-balance').addEventListener('click', () => { updateStatus(`Баланс обновлен: ${wallet.balanceSOL} SOL`); }); actions.querySelector('#send-sol').addEventListener('click', () => { updateStatus('Демо-функция: перевод будет добавлен позже'); }); actions.querySelector('#topup-sol').addEventListener('click', () => { updateStatus('Демо-функция: пополнение будет добавлено позже'); }); updateStatus(statusText); screen.append(card, actions, status); return screen; }