Files

57 lines
2.1 KiB
PHP
Raw Permalink Normal View History

2026-08-27 02:35:47 -07:00
<?php
2026-08-27 02:57:25 -07:00
use Cake\Core\Configure;
2026-08-27 02:35:47 -07:00
/**
* @var \App\View\AppView $this
*/
2026-08-27 03:22:29 -07:00
$strategy = Configure::read('CheeseCake.darkMode.strategy', 'dataset');
2026-08-27 02:35:47 -07:00
?>
<script>
document.addEventListener('DOMContentLoaded', function (e) {
const toggleDarkLink = document.getElementById('toggle-dark-mode');
const toggleLightLink = document.getElementById('toggle-light-mode');
const toggleAutoLink = document.getElementById('toggle-auto-mode');
if (toggleDarkLink) {
toggleDarkLink.addEventListener('click', function (e) {
e.preventDefault();
localStorage.theme = 'dark';
2026-08-27 03:22:29 -07:00
console.debug('dark');
<?php if ($strategy === 'class') : ?>
2026-08-27 02:35:47 -07:00
document.documentElement.classList.add('dark');
document.documentElement.classList.remove('auto');
2026-08-27 03:22:29 -07:00
<?php else : ?>
2026-08-27 02:57:25 -07:00
document.documentElement.dataset.theme = 'dark';
2026-08-27 03:22:29 -07:00
<?php endif; ?>
2026-08-27 02:57:25 -07:00
2026-08-27 02:35:47 -07:00
});
}
if (toggleLightLink) {
toggleLightLink.addEventListener('click', function (e) {
e.preventDefault();
localStorage.theme = 'light';
2026-08-27 03:22:29 -07:00
console.debug('light');
<?php if ($strategy === 'class') : ?>
2026-08-27 02:35:47 -07:00
document.documentElement.classList.remove('auto');
document.documentElement.classList.remove('dark');
2026-08-27 03:22:29 -07:00
<?php else : ?>
2026-08-27 02:57:25 -07:00
document.documentElement.dataset.theme = 'light';
2026-08-27 03:22:29 -07:00
<?php endif; ?>
2026-08-27 02:35:47 -07:00
});
}
if (toggleAutoLink) {
toggleAutoLink.addEventListener('click', function (e) {
e.preventDefault();
localStorage.theme = 'auto';
2026-08-27 03:22:29 -07:00
<?php if ($strategy === 'class') : ?>
2026-08-27 02:35:47 -07:00
document.documentElement.classList.add('auto');
document.documentElement.classList.remove('dark');
2026-08-27 02:57:25 -07:00
2026-08-27 03:22:29 -07:00
<?php else : ?>
2026-08-27 02:57:25 -07:00
delete document.documentElement.dataset.theme;
2026-08-27 03:22:29 -07:00
<?php endif; ?>
2026-08-27 02:35:47 -07:00
});
}
})
2026-08-27 03:22:29 -07:00
</script>