/** * Internal dependencies */ import './style.scss'; /** * WordPress dependencies */ const { jQuery: $, canvasLocalize, } = window; const { __, } = wp.i18n; /** * Add schemes button to Gutenberg settings */ $( document ).on( 'DOMContentLoaded', () => { wp.data.subscribe(function () { setTimeout(function () { if (!document.getElementById('canvas-settings-toogle-scheme')) { const $settings = $( '.edit-post-header__settings' ); if ( $settings.length ) { $settings.find( '.edit-post-more-menu' ).before( `
` ); } } }, 1) }); // Subscribe change scheme. wp.data.subscribe( function() { var scheme = wp.data.select( 'canvas/scheme' ).getScheme(); $('.canvas-settings-toogle-scheme').attr( 'scheme', scheme ); // Alt version. $('.block-editor-writing-flow').attr( 'site-data-scheme', scheme ); // New version. $('.block-editor-writing-flow').attr( 'data-site-scheme', scheme ); if ( 'dark' === scheme ) { $('.block-editor-writing-flow').attr( 'data-scheme', canvasLocalize.schemeDarkSlug ); } else { $('.block-editor-writing-flow').attr( 'data-scheme', canvasLocalize.schemeDefaultSlug ); } } ); // Change global scheme. $( document ).on( 'click', '.canvas-settings-toogle-scheme', ( e ) => { e.preventDefault(); $('.block-editor-writing-flow').addClass( 'canvas-sceme-toggled' ); var scheme = wp.data.select( 'canvas/scheme' ).getScheme(); if ( 'dark' === scheme ) { wp.data.dispatch('canvas/scheme').updateScheme(''); } else { wp.data.dispatch('canvas/scheme').updateScheme('dark'); } setTimeout( () => { $('.block-editor-writing-flow').removeClass( 'canvas-sceme-toggled' ); }, 100 ); } ); } );