feat(version): единый файл версий и отображение client/server в настройках

This commit is contained in:
AidarKC
2026-04-23 15:37:39 +03:00
parent e9f58ca004
commit ecb018b32c
6 changed files with 67 additions and 1 deletions
+38
View File
@@ -13,6 +13,7 @@ export const pageMeta = { id: 'settings-view', title: 'Настройки' };
export function render({ navigate }) {
const screen = document.createElement('section');
screen.className = 'stack';
let isDisposed = false;
screen.append(
renderHeader({
@@ -119,9 +120,46 @@ export function render({ navigate }) {
}
});
const versionCard = document.createElement('div');
versionCard.className = 'card stack';
const title = document.createElement('p');
title.className = 'field-label';
title.textContent = 'Версии';
const clientVersion = document.createElement('p');
clientVersion.className = 'meta-muted';
clientVersion.textContent = `Клиент: ${String(window.__SHINE_CLIENT_VERSION__ || 'n/a').trim() || 'n/a'}`;
const uiBuild = document.createElement('p');
uiBuild.className = 'meta-muted';
uiBuild.textContent = `Сборка UI: ${String(window.__SHINE_BUILD_HASH__ || 'n/a').trim() || 'n/a'}`;
const serverVersion = document.createElement('p');
serverVersion.className = 'meta-muted';
serverVersion.textContent = 'Сервер: загружается...';
versionCard.append(title, clientVersion, uiBuild, serverVersion);
void (async () => {
try {
const resp = await authService.ws.request('GetServerInfo', {});
const value = String(resp?.payload?.version || '').trim() || 'n/a';
if (!isDisposed) {
serverVersion.textContent = `Сервер: ${value}`;
}
} catch {
if (!isDisposed) {
serverVersion.textContent = 'Сервер: недоступно';
}
}
})();
screen.append(card);
screen.cleanup = () => {
isDisposed = true;
unsubscribeInstallAvailability();
};
screen.append(versionCard);
return screen;
}