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 02:57:25 -07:00
|
|
|
$strategy = Configure::read('CheeseCake.darkMode.strategy', 'class');
|
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 02:57:25 -07:00
|
|
|
<?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 02:57:25 -07:00
|
|
|
<?php else : ?>
|
|
|
|
|
document.documentElement.dataset.theme = 'dark';
|
|
|
|
|
<?php endif; ?>
|
|
|
|
|
|
2026-08-27 02:35:47 -07:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
if (toggleLightLink) {
|
|
|
|
|
toggleLightLink.addEventListener('click', function (e) {
|
|
|
|
|
e.preventDefault();
|
|
|
|
|
localStorage.theme = 'light';
|
2026-08-27 02:57:25 -07:00
|
|
|
<?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 02:57:25 -07:00
|
|
|
<?php else : ?>
|
|
|
|
|
document.documentElement.dataset.theme = 'light';
|
|
|
|
|
<?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 02:57:25 -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
|
|
|
|
|
|
|
|
<?php else : ?>
|
|
|
|
|
delete document.documentElement.dataset.theme;
|
|
|
|
|
<?php endif; ?>
|
2026-08-27 02:35:47 -07:00
|
|
|
});
|
|
|
|
|
}
|
|
|
|
|
})
|
|
|
|
|
</script>
|