fix(auth): вход сразу по логину, регистрацию отправлять при любом балансе (проверено)

This commit is contained in:
AidarKC 2026-04-26 18:13:37 +03:00
parent 3d5b5b2214
commit 3e10407afd
4 changed files with 5 additions and 16 deletions

View File

@ -1,2 +1,2 @@
client.version=1.2.10 client.version=1.2.11
server.version=1.2.10 server.version=1.2.11

View File

@ -58,7 +58,7 @@ export function render({ navigate }) {
backButton.className = 'ghost-btn'; backButton.className = 'ghost-btn';
backButton.type = 'button'; backButton.type = 'button';
backButton.textContent = 'Назад'; backButton.textContent = 'Назад';
backButton.addEventListener('click', () => navigate('login-view')); backButton.addEventListener('click', () => navigate('start-view'));
const enterButton = document.createElement('button'); const enterButton = document.createElement('button');
enterButton.className = 'primary-btn'; enterButton.className = 'primary-btn';
@ -108,7 +108,7 @@ export function render({ navigate }) {
screen.append( screen.append(
renderHeader({ renderHeader({
title: 'Войти по логину', title: 'Войти по логину',
leftAction: { label: '←', onClick: () => navigate('login-view') }, leftAction: { label: '←', onClick: () => navigate('start-view') },
}), }),
form, form,
actions, actions,

View File

@ -10,8 +10,6 @@ import { deriveWalletFromPassword, formatSol, getBalanceSol } from '../services/
export const pageMeta = { id: 'registration-payment-view', title: 'Оплата регистрации', showAppChrome: false }; export const pageMeta = { id: 'registration-payment-view', title: 'Оплата регистрации', showAppChrome: false };
const MIN_REGISTER_BALANCE_SOL = 0.01;
function parseBalanceSol(value) { function parseBalanceSol(value) {
const parsed = Number.parseFloat(String(value || '').replace(',', '.')); const parsed = Number.parseFloat(String(value || '').replace(',', '.'));
return Number.isFinite(parsed) ? parsed : 0; return Number.isFinite(parsed) ? parsed : 0;
@ -118,14 +116,6 @@ export function render({ navigate }) {
submitButton.addEventListener('click', async () => { submitButton.addEventListener('click', async () => {
status.style.display = 'none'; status.style.display = 'none';
const balanceSol = parseBalanceSol(state.registrationPayment.balanceSOL);
if (balanceSol < MIN_REGISTER_BALANCE_SOL) {
status.className = 'status-line is-unavailable';
status.textContent = `Недостаточный баланс для регистрации: ${formatSol(balanceSol, 6)} SOL. Нужно минимум ${MIN_REGISTER_BALANCE_SOL.toFixed(2)} SOL.`;
status.style.display = '';
return;
}
const cryptoState = getCryptoRuntimeState(); const cryptoState = getCryptoRuntimeState();
if (!cryptoState.hasCrypto || !cryptoState.hasGetRandomValues || !cryptoState.hasSubtle) { if (!cryptoState.hasCrypto || !cryptoState.hasGetRandomValues || !cryptoState.hasSubtle) {
status.className = 'status-line is-unavailable'; status.className = 'status-line is-unavailable';
@ -195,4 +185,3 @@ export function render({ navigate }) {
return screen; return screen;
} }

View File

@ -24,7 +24,7 @@ export function render({ navigate }) {
loginButton.className = 'primary-btn'; loginButton.className = 'primary-btn';
loginButton.type = 'button'; loginButton.type = 'button';
loginButton.textContent = 'Войти'; loginButton.textContent = 'Войти';
loginButton.addEventListener('click', () => navigate('login-view')); loginButton.addEventListener('click', () => navigate('login-password-view'));
const registerButton = document.createElement('button'); const registerButton = document.createElement('button');
registerButton.className = 'ghost-btn'; registerButton.className = 'ghost-btn';