(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();
});
})();