Fix settings language switcher rendering
Deploy / deploy (push) Successful in 2m38s
CI / Rust Checks (push) Successful in 5m32s
CI / UI Checks (push) Successful in 5s
CI / Deployment Manifests (push) Successful in 3s
CI / Frontend E2E (push) Successful in 4m41s

This commit is contained in:
github-ops
2026-06-19 19:34:58 +00:00
parent cbfa412ce0
commit 66dd0deee5
2 changed files with 14 additions and 30 deletions
+14
View File
@@ -181,6 +181,20 @@
</div>
<div class="field-hint" id="settings-profile-status" style="margin-bottom:12px;"></div>
<div class="field-group">
<label class="field-label" data-i18n="settings.lang.title">Language</label>
<div class="field-hint" data-i18n="settings.lang.subtitle">Interface display language</div>
<div class="lang-switcher">
<button class="lang-btn" data-lang="en" type="button" onclick="setLang('en')">
<span class="lang-flag">🇬🇧</span>
<span data-i18n="settings.lang.en">English</span>
</button>
<button class="lang-btn" data-lang="ru" type="button" onclick="setLang('ru')">
<span class="lang-flag">🇷🇺</span>
<span data-i18n="settings.lang.ru">Русский</span>
</button>
</div>
</div>
<div style="display:flex;justify-content:flex-end;">
<button class="btn-primary" id="settings-profile-save-btn" type="button" data-i18n="settings.profile.save">Save profile</button>
</div>
-30
View File
@@ -265,35 +265,6 @@ function bindPasswordSave() {
});
}
function injectLanguageSwitcher() {
var profileSection = document.getElementById('section-profile');
if (!profileSection) {
return;
}
var cardBody = profileSection.querySelector('.section-card-body');
if (!cardBody) {
return;
}
fetch('html/fragments/lang-switcher.html')
.then(function(response) { return response.text(); })
.then(function(html) {
var template = document.createElement('template');
template.innerHTML = html;
var fragment = template.content.cloneNode(true);
var saveRow = cardBody.querySelector('div[style*="justify-content:flex-end"]');
if (saveRow) {
saveRow.parentNode.insertBefore(fragment, saveRow);
} else {
cardBody.appendChild(fragment);
}
if (typeof applyLang === 'function') {
applyLang();
}
});
}
function bindSectionNavigation() {
var navItems = document.querySelectorAll('.settings-nav-item[data-section]');
navItems.forEach(function (button) {
@@ -401,7 +372,6 @@ async function loadWorkspaceSettings() {
}
async function initSettingsPage() {
injectLanguageSwitcher();
bindSectionNavigation();
await loadProfile();
await loadCapabilities();