The lobby chat was a standalone card sitting above the per-player log tabs. Folds it into the same tab bar as the first (default-active) tab instead, so the session log view has one consistent tab strip. The tab-switching script now toggles by an .admin-tab-panel class instead of assuming every panel's id starts with "player-", since that's no longer true. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
28 lines
996 B
JavaScript
28 lines
996 B
JavaScript
document.addEventListener('DOMContentLoaded', () => {
|
|
const buttons = document.querySelectorAll('[data-tab-target]');
|
|
if (!buttons.length) {
|
|
return;
|
|
}
|
|
|
|
const activate = (id) => {
|
|
document.querySelectorAll('.admin-tab-panel').forEach(el => el.style.display = 'none');
|
|
const target = document.getElementById(id);
|
|
if (target) {
|
|
target.style.display = 'block';
|
|
}
|
|
|
|
buttons.forEach(btn => {
|
|
const active = btn.dataset.tabTarget === id;
|
|
btn.style.background = active ? '#fff' : '#f8fafc';
|
|
btn.style.color = active ? '#1e40af' : '#64748b';
|
|
btn.style.fontWeight = active ? '600' : '400';
|
|
btn.style.borderColor = active ? '#3b82f6' : '#e2e8f0';
|
|
btn.style.borderBottom = active ? '1px solid #fff' : '1px solid #e2e8f0';
|
|
});
|
|
};
|
|
|
|
buttons.forEach(btn => {
|
|
btn.addEventListener('click', () => activate(btn.dataset.tabTarget));
|
|
});
|
|
});
|