Сделал адекватное отображение ключей / и при регистрации ключи спрашивают какие сохранять

(что то работает что то сложно)
This commit is contained in:
AidarKC
2026-03-30 03:11:09 +03:00
parent 089146a137
commit eb5593c7be
35 changed files with 396 additions and 247 deletions
+50 -34
View File
@@ -1,37 +1,46 @@
import { navigate, getRoute, PRE_AUTH_PAGES } from './router.js?v=20260327192619';
import { renderToolbar } from './components/toolbar.js?v=20260327192619';
import { renderPageLabel } from './components/page-label.js?v=20260327192619';
import { authService, authorizeSession, refreshSessions, state, togglePageLabel } from './state.js?v=20260327192619';
import { navigate, getRoute, PRE_AUTH_PAGES } from './router.js?v=20260330001044';
import { renderToolbar } from './components/toolbar.js?v=20260330001044';
import { renderPageLabel } from './components/page-label.js?v=20260330001044';
import {
authService,
authorizeSession,
isSessionInvalidError,
refreshSessions,
setSessionResetHandler,
state,
terminateCurrentSession,
togglePageLabel,
} from './state.js?v=20260330001044';
import * as startView from './pages/start-view.js?v=20260327192619';
import * as entrySettingsView from './pages/entry-settings-view.js?v=20260327192619';
import * as registerView from './pages/register-view.js?v=20260327192619';
import * as registrationPaymentView from './pages/registration-payment-view.js?v=20260327192619';
import * as registrationKeysView from './pages/registration-keys-view.js?v=20260327192619';
import * as topupView from './pages/topup-view.js?v=20260327192619';
import * as loginView from './pages/login-view.js?v=20260327192619';
import * as loginCameraView from './pages/login-camera-view.js?v=20260327192619';
import * as loginPasswordView from './pages/login-password-view.js?v=20260327192619';
import * as keyStorageView from './pages/key-storage-view.js?v=20260327192619';
import * as startView from './pages/start-view.js?v=20260330001044';
import * as entrySettingsView from './pages/entry-settings-view.js?v=20260330001044';
import * as registerView from './pages/register-view.js?v=20260330001044';
import * as registrationPaymentView from './pages/registration-payment-view.js?v=20260330001044';
import * as registrationKeysView from './pages/registration-keys-view.js?v=20260330001044';
import * as topupView from './pages/topup-view.js?v=20260330001044';
import * as loginView from './pages/login-view.js?v=20260330001044';
import * as loginCameraView from './pages/login-camera-view.js?v=20260330001044';
import * as loginPasswordView from './pages/login-password-view.js?v=20260330001044';
import * as keyStorageView from './pages/key-storage-view.js?v=20260330001044';
import * as profileView from './pages/profile-view.js?v=20260327192619';
import * as walletView from './pages/wallet-view.js?v=20260327192619';
import * as settingsView from './pages/settings-view.js?v=20260327192619';
import * as serverSettingsView from './pages/server-settings-view.js?v=20260327192619';
import * as deviceView from './pages/device-view.js?v=20260327192619';
import * as connectDeviceView from './pages/connect-device-view.js?v=20260327192619';
import * as deviceQrView from './pages/device-qr-view.js?v=20260327192619';
import * as deviceCameraView from './pages/device-camera-view.js?v=20260327192619';
import * as showKeysView from './pages/show-keys-view.js?v=20260327192619';
import * as deviceSessionView from './pages/device-session-view.js?v=20260327192619';
import * as languageView from './pages/language-view.js?v=20260327192619';
import * as messagesList from './pages/messages-list.js?v=20260327192619';
import * as contactSearchView from './pages/contact-search-view.js?v=20260327192619';
import * as chatView from './pages/chat-view.js?v=20260327192619';
import * as channelsList from './pages/channels-list.js?v=20260327192619';
import * as channelView from './pages/channel-view.js?v=20260327192619';
import * as networkView from './pages/network-view.js?v=20260327192619';
import * as notificationsView from './pages/notifications-view.js?v=20260327192619';
import * as profileView from './pages/profile-view.js?v=20260330001044';
import * as walletView from './pages/wallet-view.js?v=20260330001044';
import * as settingsView from './pages/settings-view.js?v=20260330001044';
import * as serverSettingsView from './pages/server-settings-view.js?v=20260330001044';
import * as deviceView from './pages/device-view.js?v=20260330001044';
import * as connectDeviceView from './pages/connect-device-view.js?v=20260330001044';
import * as deviceQrView from './pages/device-qr-view.js?v=20260330001044';
import * as deviceCameraView from './pages/device-camera-view.js?v=20260330001044';
import * as showKeysView from './pages/show-keys-view.js?v=20260330001044';
import * as deviceSessionView from './pages/device-session-view.js?v=20260330001044';
import * as languageView from './pages/language-view.js?v=20260330001044';
import * as messagesList from './pages/messages-list.js?v=20260330001044';
import * as contactSearchView from './pages/contact-search-view.js?v=20260330001044';
import * as chatView from './pages/chat-view.js?v=20260330001044';
import * as channelsList from './pages/channels-list.js?v=20260330001044';
import * as channelView from './pages/channel-view.js?v=20260330001044';
import * as networkView from './pages/network-view.js?v=20260330001044';
import * as notificationsView from './pages/notifications-view.js?v=20260330001044';
const routes = {
'start-view': startView,
@@ -120,12 +129,19 @@ async function tryAutoLogin() {
const resumed = await authService.resumeSession(state.session.login, state.session.sessionId);
authorizeSession(resumed);
await refreshSessions();
} catch {
// silent fallback to auth screens
} catch (error) {
if (isSessionInvalidError(error)) {
await terminateCurrentSession({
infoMessage: 'Сессия на этом устройстве уже завершена. Выполните вход заново.',
});
}
}
}
async function init() {
setSessionResetHandler(() => {
navigate('start-view');
});
await tryAutoLogin();
if (!window.location.hash) {