123456789101112131415161718192021222324252627282930313233343536373839404142434445464748 |
- export default class DarkMode {
- constructor(Dcat) {
- this.options = {
- sidebar_dark: Dcat.config.sidebar_dark,
- dark_mode: Dcat.config.dark_mode,
- class: {
- dark: 'dark-mode',
- sidebarLight: Dcat.config.sidebar_light_style || 'sidebar-light-primary',
- sidebarDark: 'sidebar-dark-white',
- }
- };
- Dcat.darkMode = this;
- }
- toggle() {
- if ($('body').hasClass(this.options.class.dark)) {
- this.display(false)
- } else {
- this.display(true)
- }
- }
- display(show) {
- let $document = $(document),
- $body = $('body'),
- $sidebar = $('.main-menu .main-sidebar'),
- options = this.options,
- cls = options.class;
- if (show) {
- $body.addClass(cls.dark);
- $sidebar.removeClass(cls.sidebarLight).addClass(cls.sidebarDark);
- $document.trigger('dark-mode.shown');
- return;
- }
- $body.removeClass(cls.dark);
- if (! options.sidebar_dark) {
- $sidebar.addClass(cls.sidebarLight).removeClass(cls.sidebarDark);
- }
- $document.trigger('dark-mode.hide');
- }
- }
|