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;
}