(function () { const DIM_STORAGE_KEY = 'linnbunny-dimmed'; function applyDimMode() { const isDimmed = localStorage.getItem(DIM_STORAGE_KEY) === '1'; document.body.classList.toggle('dimmed', isDimmed); return isDimmed; } function refreshDimButton() { const dimBtn = document.getElementById('dimBtn'); if (!dimBtn) return; const isDimmed = document.body.classList.contains('dimmed'); dimBtn.setAttribute('aria-pressed', isDimmed ? 'true' : 'false'); dimBtn.innerHTML = isDimmed ? 'Undim background' : 'Dim background'; } function initDimModeToggle() { applyDimMode(); refreshDimButton(); const dimBtn = document.getElementById('dimBtn'); if (!dimBtn) return; dimBtn.addEventListener('click', () => { const isDimmed = !document.body.classList.contains('dimmed'); document.body.classList.toggle('dimmed', isDimmed); localStorage.setItem(DIM_STORAGE_KEY, isDimmed ? '1' : '0'); refreshDimButton(); }); } function initGlobalFidget() { if (typeof window.initFidgetBox !== 'function' || typeof window.Matter === 'undefined') { return; } initFidgetBox('/static/images/mya.png', { corner: 'bottom-right', width: 180, height: 220, zIndex: 9999, peekX: 30, peekY: 28, }); } function initResetMyaButton() { const resetBtn = document.getElementById('resetMyaBtn'); if (!resetBtn) return; resetBtn.addEventListener('click', () => { if (typeof window.resetFidgetBoxToCenter === 'function') { window.resetFidgetBoxToCenter(); } }); } document.addEventListener('DOMContentLoaded', () => { initDimModeToggle(); initGlobalFidget(); initResetMyaButton(); }); })();