fix: settings nav uses onclick scroll instead of hash (avoid router conflict)
This commit is contained in:
@@ -123,6 +123,17 @@ const PageSettings = {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
document.querySelectorAll('.settings-nav-item').forEach(el => {
|
||||||
|
el.addEventListener('click', (e) => {
|
||||||
|
e.preventDefault();
|
||||||
|
const id = el.getAttribute('data-target');
|
||||||
|
const section = document.getElementById(id);
|
||||||
|
if (section) section.scrollIntoView({ behavior: 'smooth', block: 'start' });
|
||||||
|
document.querySelectorAll('.settings-nav-item').forEach(s => s.classList.remove('active'));
|
||||||
|
el.classList.add('active');
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
document.getElementById('settings-test-mode')?.addEventListener('change', async (e) => {
|
document.getElementById('settings-test-mode')?.addEventListener('change', async (e) => {
|
||||||
const on = e.target.checked;
|
const on = e.target.checked;
|
||||||
await API.updateConfig({ ui_test_mode: on });
|
await API.updateConfig({ ui_test_mode: on });
|
||||||
@@ -197,7 +208,7 @@ const PageSettings = {
|
|||||||
];
|
];
|
||||||
|
|
||||||
return '<div class="settings-layout"><div class="settings-nav">' +
|
return '<div class="settings-layout"><div class="settings-nav">' +
|
||||||
sections.map(s => '<a class="settings-nav-item" href="#' + s.id + '">' + s.label + '</a>').join('') +
|
sections.map(s => '<a class="settings-nav-item" data-target="' + s.id + '">' + s.label + '</a>').join('') +
|
||||||
'</div><div class="settings-main"><div class="animated"><h2 style="font-size:24px;font-weight:700;margin-bottom:24px">设置</h2>' +
|
'</div><div class="settings-main"><div class="animated"><h2 style="font-size:24px;font-weight:700;margin-bottom:24px">设置</h2>' +
|
||||||
|
|
||||||
'<div class="settings-section" id="sec-forward"><h3>数据转发</h3><p style="font-size:12px;color:var(--text-tertiary);margin-bottom:12px">将收到的游戏原始 UDP 数据包完整转发到下游物理外设</p><div id="forward-list">' + this._forwardListHtml(forwards) + '</div><div style="display:flex;gap:8px;margin-top:8px"><button id="btn-add-forward" class="btn btn-sm btn-secondary">+ 添加目标</button><button id="btn-save-forwards" class="btn btn-sm btn-primary">保存并生效</button></div></div>' +
|
'<div class="settings-section" id="sec-forward"><h3>数据转发</h3><p style="font-size:12px;color:var(--text-tertiary);margin-bottom:12px">将收到的游戏原始 UDP 数据包完整转发到下游物理外设</p><div id="forward-list">' + this._forwardListHtml(forwards) + '</div><div style="display:flex;gap:8px;margin-top:8px"><button id="btn-add-forward" class="btn btn-sm btn-secondary">+ 添加目标</button><button id="btn-save-forwards" class="btn btn-sm btn-primary">保存并生效</button></div></div>' +
|
||||||
|
|||||||
Reference in New Issue
Block a user