SHiNE-server/shine-UI/js/pages/device-qr-view.js
AidarKC cf5460c5c7 Промежуточная версия
в которой надо дорабоать

1. Исправить ошибки и сделать что бы работала вторая слева вкладка. ТОесть АПИ для сервера я сделал (пока они возвращают весь список сообщений целиком - всем большим списком сообщений в канал - для мвп это устраивает,и по этому только три АПИ функции добавилось)

  Там какието ошибки на клиенте ( я только сгенерил код - но гдето вылетает) по UI можешь исправлять переделывать - моешь оставить калечное как есть - мне пока не важно. Важно увидить что каналы и сообщения и публичная переписка в каналах блокчейна работает

2. потестировать и сделать корректное завершение сессии (там есть глюки при завершении сесии)
2026-04-03 11:45:42 +03:00

37 lines
1.4 KiB
JavaScript

import { renderHeader } from '../components/header.js?v=20260403081123';
import { profile } from '../mock-data.js?v=20260403081123';
import { state } from '../state.js?v=20260403081123';
export const pageMeta = { id: 'device-qr-view', title: 'Показать QR-код' };
export function render({ navigate }) {
const screen = document.createElement('section');
screen.className = 'stack';
const selectedKeys = [];
if (state.deviceConnect.root) selectedKeys.push('root key');
if (state.deviceConnect.blockchain) selectedKeys.push('blockchain key');
if (state.deviceConnect.device) selectedKeys.push('device key');
screen.append(
renderHeader({
title: 'Показать QR-код',
leftAction: { label: '←', onClick: () => navigate('connect-device-view') },
}),
);
const card = document.createElement('div');
card.className = 'card stack qr-card';
card.innerHTML = `
<img class="qr-image" src="img/device-qr-64.svg" width="64" height="64" alt="QR-код для подключения" />
<p class="meta-muted">Логин пользователя: ${profile.login}</p>
<p class="meta-muted">Передаваемые ключи: ${selectedKeys.join(', ')}</p>
<button class="primary-btn" type="button" id="qr-ok">OK</button>
`;
card.querySelector('#qr-ok').addEventListener('click', () => navigate('connect-device-view'));
screen.append(card);
return screen;
}