mirror of
https://github.com/WordPress/WordPress.git
synced 2024-10-30 23:39:42 +01:00
e0669ddaae
For a full list of changes since [49330], see 5759e96...e7d5991
.
Props poena, luminuu, ryelle, kjellr, aristath, justinahinon, felipeelia, joostdevalk.
See #51526.
Built from https://develop.svn.wordpress.org/trunk@49478
git-svn-id: http://core.svn.wordpress.org/trunk@49237 1a063a9b-81f0-0310-95a4-ce76da25c4cd
62 lines
2.2 KiB
JavaScript
62 lines
2.2 KiB
JavaScript
/* global twentytwentyoneGetHexLum, backgroundColorNotice */
|
|
|
|
( function() {
|
|
/**
|
|
* Add/remove the notice.
|
|
*
|
|
* @param {boolean} enable - Whether we want to enable or disable the notice.
|
|
*
|
|
* @return {void}
|
|
*/
|
|
function twentytwentyoneBackgroundColorNotice( enable ) {
|
|
if ( enable ) {
|
|
wp.customize( 'background_color' ).notifications.add( 'backgroundColorNotice', new wp.customize.Notification( 'backgroundColorNotice', {
|
|
type: 'info',
|
|
message: backgroundColorNotice.message
|
|
} ) );
|
|
} else {
|
|
wp.customize( 'background_color' ).notifications.remove( 'backgroundColorNotice' );
|
|
}
|
|
}
|
|
|
|
// Wait until the customizer has finished loading.
|
|
wp.customize.bind( 'ready', function() {
|
|
var supportsDarkMode = ( 127 <= twentytwentyoneGetHexLum( wp.customize( 'background_color' ).get() ) && wp.customize( 'respect_user_color_preference' ).get() );
|
|
|
|
// Hide the "respect_user_color_preference" setting if the background-color is dark.
|
|
if ( 127 > twentytwentyoneGetHexLum( wp.customize( 'background_color' ).get() ) ) {
|
|
wp.customize.control( 'respect_user_color_preference' ).deactivate();
|
|
}
|
|
|
|
// Add notice on init if needed.
|
|
if ( wp.customize( 'respect_user_color_preference' ) ) {
|
|
twentytwentyoneBackgroundColorNotice( true );
|
|
}
|
|
|
|
// Handle changes to the background-color.
|
|
wp.customize( 'background_color', function( setting ) {
|
|
setting.bind( function( value ) {
|
|
if ( 127 > twentytwentyoneGetHexLum( value ) ) {
|
|
wp.customize.control( 'respect_user_color_preference' ).deactivate();
|
|
supportsDarkMode = false;
|
|
} else {
|
|
wp.customize.control( 'respect_user_color_preference' ).activate();
|
|
supportsDarkMode = wp.customize( 'respect_user_color_preference' ).get();
|
|
}
|
|
} );
|
|
} );
|
|
|
|
// Handle changes to the "respect_user_color_preference" setting.
|
|
wp.customize( 'respect_user_color_preference', function( setting ) {
|
|
setting.bind( function( value ) {
|
|
supportsDarkMode = value && 127 < twentytwentyoneGetHexLum( wp.customize( 'background_color' ).get() );
|
|
if ( ! supportsDarkMode ) {
|
|
twentytwentyoneBackgroundColorNotice( false );
|
|
} else {
|
|
twentytwentyoneBackgroundColorNotice( true );
|
|
}
|
|
} );
|
|
} );
|
|
} );
|
|
}() );
|