// /settings.html — operator-local preferences page.
//
// Extracted from the dashboard S3TT1NGS tab. The browser-notification
// toggle: NOTIF.bind() wires the enable / mute / unmute buttons and
// persists state to localStorage. The dashboard's NOTIF.show() calls
// (approvals / questions) read that same localStorage state + the
// browser-level permission, so firing still works from the dashboard
// even though the toggle UI now lives on its own page.
//
// The agent-terminal-verbosity toggle below is a second, unrelated
// browser-local preference — @hive/shared/prefs.js owns the key name +
// get/set so this page and every per-agent page's app.js agree on it
// without a backend field. Both preferences are per-origin localStorage,
// so they only apply within this browser (per the page's own copy).
//
// initServerWarnings() renders the shared top-of-page warnings banner,
// matching the other stand-alone pages (FL0W / L0GS / H0M3).
import { NOTIF, initServerWarnings } from './common.js';
import { getExpandDetailsPref, setExpandDetailsPref } from '@hive/shared/prefs.js';
initServerWarnings();
NOTIF.bind();
(function bindExpandDetailsToggle() {
const btn = document.getElementById('expand-details-toggle');
if (!btn) return;
function render() {
const on = getExpandDetailsPref();
btn.textContent = on ? '☑ expand tool output panels' : '☐ expand tool output panels';
btn.setAttribute('aria-checked', String(on));
}
btn.addEventListener('click', () => {
setExpandDetailsPref(!getExpandDetailsPref());
render();
});
render();
})();