UI: обновить экраны входа

This commit is contained in:
AidarKC 2026-06-20 20:15:40 +04:00
parent fec5e49304
commit d0e7998650
3 changed files with 19 additions and 16 deletions

View File

@ -1,2 +1,2 @@
client.version=1.2.225 client.version=1.2.226
server.version=1.2.211 server.version=1.2.212

View File

@ -60,7 +60,7 @@ function resetCodeCard(resultWrap, shortCodeEl, statusHintEl, onlineHintEl, expi
export function render({ navigate }) { export function render({ navigate }) {
const screen = document.createElement('section'); const screen = document.createElement('section');
screen.className = 'stack'; screen.className = 'stack auth-screen auth-screen--lower';
let pollTimer = 0; let pollTimer = 0;
let countdownTimer = 0; let countdownTimer = 0;
let activePairingId = ''; let activePairingId = '';
@ -77,6 +77,10 @@ export function render({ navigate }) {
}), }),
); );
const panel = document.createElement('section');
panel.className = 'login-panel login-panel--wide stack';
panel.innerHTML = '<h1 class="login-panel-title">Войти через другое устройство</h1>';
const formCard = document.createElement('div'); const formCard = document.createElement('div');
formCard.className = 'card stack'; formCard.className = 'card stack';
formCard.innerHTML = ` formCard.innerHTML = `
@ -387,6 +391,7 @@ export function render({ navigate }) {
resultActions.append(cancelBtn); resultActions.append(cancelBtn);
resultWrap.append(resultActions); resultWrap.append(resultActions);
screen.append(formCard, status, resultWrap); panel.append(formCard, status, resultWrap);
screen.append(panel);
return screen; return screen;
} }

View File

@ -4,29 +4,23 @@ export const pageMeta = { id: 'login-view', title: 'Войти', showAppChrome:
export function render({ navigate }) { export function render({ navigate }) {
const screen = document.createElement('section'); const screen = document.createElement('section');
screen.className = 'stack'; screen.className = 'stack auth-screen auth-screen--lower';
const cameraButton = document.createElement('button');
cameraButton.className = 'primary-btn';
cameraButton.type = 'button';
cameraButton.textContent = 'Отсканировать QR-код';
cameraButton.addEventListener('click', () => navigate('login-camera-view'));
const loginButton = document.createElement('button'); const loginButton = document.createElement('button');
loginButton.className = 'ghost-btn'; loginButton.className = 'ghost-btn';
loginButton.type = 'button'; loginButton.type = 'button';
loginButton.textContent = 'Войти по логину'; loginButton.textContent = 'Войти по паролю';
loginButton.addEventListener('click', () => navigate('login-password-view')); loginButton.addEventListener('click', () => navigate('login-password-view'));
const otherDeviceButton = document.createElement('button'); const otherDeviceButton = document.createElement('button');
otherDeviceButton.className = 'text-btn'; otherDeviceButton.className = 'ghost-btn';
otherDeviceButton.type = 'button'; otherDeviceButton.type = 'button';
otherDeviceButton.textContent = 'Войти через другое устройство'; otherDeviceButton.textContent = 'Войти через другое устройство';
otherDeviceButton.addEventListener('click', () => navigate('login-other-device-view')); otherDeviceButton.addEventListener('click', () => navigate('login-other-device-view'));
const actions = document.createElement('div'); const actions = document.createElement('div');
actions.className = 'auth-actions login-actions-wide'; actions.className = 'auth-actions login-actions-wide';
actions.append(cameraButton, loginButton, otherDeviceButton); actions.append(loginButton, otherDeviceButton);
const backButton = document.createElement('button'); const backButton = document.createElement('button');
backButton.className = 'ghost-btn'; backButton.className = 'ghost-btn';
@ -34,13 +28,17 @@ export function render({ navigate }) {
backButton.textContent = 'Назад'; backButton.textContent = 'Назад';
backButton.addEventListener('click', () => navigate('start-view')); backButton.addEventListener('click', () => navigate('start-view'));
const panel = document.createElement('section');
panel.className = 'login-panel stack';
panel.innerHTML = '<h1 class="login-panel-title">Войти</h1>';
panel.append(actions, backButton);
screen.append( screen.append(
renderHeader({ renderHeader({
title: 'Войти', title: 'Войти',
leftAction: { label: '←', onClick: () => navigate('start-view') }, leftAction: { label: '←', onClick: () => navigate('start-view') },
}), }),
actions, panel,
backButton,
); );
return screen; return screen;