Server IP : 104.21.93.192 / Your IP : 216.73.216.73 Web Server : LiteSpeed System : Linux premium900.web-hosting.com 4.18.0-553.22.1.lve.1.el8.x86_64 #1 SMP Tue Oct 8 15:52:54 UTC 2024 x86_64 User : redwjova ( 1790) PHP Version : 8.1.32 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/redwjova/clevorio.com/wp-content/themes/smart-mag/inc/ |
Upload File : |
<?php /** * Extra functions related to dark mode. */ class Bunyad_Theme_DarkMode { public function __construct() { add_action('bunyad_theme_init', [$this, 'init']); } public function init() { add_action('wp_head', [$this, 'add_js']); // Add the root class. add_filter('bunyad_html_root_class', [$this, 'add_root_class']); } /** * This CANNOT be an enqueue as it's required inline early as possible. Otherwise * the dark mode will have a flash of light mode. */ public function add_js() { if (Bunyad::amp()->active()) { return; } $scheme_key = apply_filters('bunyad_scheme_store_key', 'bunyad-scheme'); // Auto-detection for dark mode. $auto_detect = ''; if (Bunyad::options()->color_scheme_detect) { $auto_detect = " if (!scheme && window.matchMedia && window.matchMedia('(prefers-color-scheme: dark)').matches) { scheme ='dark'; d.dataset.autoDark = 1; } "; } echo " <script> var BunyadSchemeKey = '" . esc_js($scheme_key) . "'; (() => { const d = document.documentElement; const c = d.classList; var scheme = localStorage.getItem(BunyadSchemeKey); {$auto_detect} if (scheme) { d.dataset.origClass = c; scheme === 'dark' ? c.remove('s-light', 'site-s-light') : c.remove('s-dark', 'site-s-dark'); c.add('site-s-' + scheme, 's-' + scheme); } })(); </script> "; } /** * Filter callback: Add scheme classes for the HTML root element. * * @param string $classes * @return string */ public function add_root_class($classes) { $scheme_class = 's-light site-s-light'; if (Bunyad::options()->color_scheme === 'dark') { $scheme_class = 's-dark site-s-dark'; } if ($scheme_class) { $classes .= $classes ? ' ' : ''; $classes .= $scheme_class; } return $classes; } } // init and make available in Bunyad::get('dark_mode') Bunyad::register('dark_mode', [ 'class' => 'Bunyad_Theme_DarkMode', 'init' => true ]);