first commit
This commit is contained in:
@@ -0,0 +1,44 @@
|
||||
/* global twentytwentyoneIsDarkMode, setTimeout */
|
||||
|
||||
// Check the color scheme preference and inject the classes if necessary.
|
||||
if ( document.body.classList.contains( 'twentytwentyone-supports-dark-theme' ) ) {
|
||||
twentytwentyoneDarkModeEditorInit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Once the editor loads, add the dark mode class.
|
||||
*
|
||||
* Wait for the editor to load by periodically checking for an element, then we add the classes.
|
||||
*
|
||||
* @since 1.0.0
|
||||
*
|
||||
* @param {number} attempt Track the number of tries
|
||||
* @return {void}
|
||||
*/
|
||||
function twentytwentyoneDarkModeEditorInit( attempt ) {
|
||||
var container = document.querySelector( '.block-editor__typewriter' ),
|
||||
maxAttempts = 8;
|
||||
|
||||
// Set the initial attempt if it's undefined.
|
||||
attempt = attempt || 0;
|
||||
|
||||
if ( twentytwentyoneIsDarkMode() ) {
|
||||
if ( null === container ) {
|
||||
// Try again.
|
||||
if ( attempt < maxAttempts ) {
|
||||
setTimeout(
|
||||
function() {
|
||||
twentytwentyoneDarkModeEditorInit( attempt + 1 );
|
||||
},
|
||||
// Double the delay, give the server some time to breathe.
|
||||
25 * Math.pow( 2, attempt )
|
||||
);
|
||||
}
|
||||
return;
|
||||
}
|
||||
|
||||
document.body.classList.add( 'is-dark-theme' );
|
||||
document.documentElement.classList.add( 'is-dark-theme' );
|
||||
container.classList.add( 'is-dark-theme' );
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user