Themes: Show a disabled "Activated" button instead of "Activate" for the active theme on Add Themes screen.

Additionally, switch the "Live Preview" label for the active theme to "Customize", for consistency with the Themes screen.

Props afercia, SergeyBiryukov.
Fixes #50334.
Built from https://develop.svn.wordpress.org/trunk@47924


git-svn-id: http://core.svn.wordpress.org/trunk@47698 1a063a9b-81f0-0310-95a4-ce76da25c4cd
This commit is contained in:
Sergey Biryukov 2020-06-08 18:16:10 +00:00
parent 5efaf888a5
commit 4adfd75159
4 changed files with 28 additions and 6 deletions

View File

@ -28,11 +28,16 @@ themes.Model = Backbone.Model.extend({
initialize: function() { initialize: function() {
var description; var description;
// If theme is already installed, set an attribute. // If the theme is already installed, set an attribute.
if ( _.indexOf( themes.data.installedThemes, this.get( 'slug' ) ) !== -1 ) { if ( _.indexOf( themes.data.installedThemes, this.get( 'slug' ) ) !== -1 ) {
this.set({ installed: true }); this.set({ installed: true });
} }
// If the theme is active, set an attribute.
if ( themes.data.activeTheme === this.get( 'slug' ) ) {
this.set({ active: true });
}
// Set the attributes. // Set the attributes.
this.set({ this.set({
// `slug` is for installation, `id` is for existing. // `slug` is for installation, `id` is for existing.

File diff suppressed because one or more lines are too long

View File

@ -72,6 +72,7 @@ wp_localize_script(
'selectFeatureFilter' => __( 'Select one or more Theme features to filter by' ), 'selectFeatureFilter' => __( 'Select one or more Theme features to filter by' ),
), ),
'installedThemes' => array_keys( $installed_themes ), 'installedThemes' => array_keys( $installed_themes ),
'activeTheme' => get_stylesheet(),
) )
); );
@ -289,10 +290,18 @@ if ( $tab ) {
$aria_label = sprintf( _x( 'Activate %s', 'theme' ), '{{ data.name }}' ); $aria_label = sprintf( _x( 'Activate %s', 'theme' ), '{{ data.name }}' );
?> ?>
<# if ( data.activate_url ) { #> <# if ( data.activate_url ) { #>
<a class="button button-primary activate" href="{{ data.activate_url }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Activate' ); ?></a> <# if ( ! data.active ) { #>
<a class="button button-primary activate" href="{{ data.activate_url }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Activate' ); ?></a>
<# } else { #>
<button class="button button-primary disabled"><?php _ex( 'Activated', 'theme' ); ?></button>
<# } #>
<# } #> <# } #>
<# if ( data.customize_url ) { #> <# if ( data.customize_url ) { #>
<a class="button load-customize" href="{{ data.customize_url }}"><?php _e( 'Live Preview' ); ?></a> <# if ( ! data.active ) { #>
<a class="button load-customize" href="{{ data.customize_url }}"><?php _e( 'Live Preview' ); ?></a>
<# } else { #>
<a class="button load-customize" href="{{ data.customize_url }}"><?php _e( 'Customize' ); ?></a>
<# } #>
<# } else { #> <# } else { #>
<button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button> <button class="button preview install-theme-preview"><?php _e( 'Preview' ); ?></button>
<# } #> <# } #>
@ -343,7 +352,15 @@ if ( $tab ) {
<button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button> <button class="next-theme"><span class="screen-reader-text"><?php _e( 'Next theme' ); ?></span></button>
<# if ( data.installed ) { #> <# if ( data.installed ) { #>
<# if ( data.compatible_wp && data.compatible_php ) { #> <# if ( data.compatible_wp && data.compatible_php ) { #>
<a class="button button-primary activate" href="{{ data.activate_url }}"><?php _e( 'Activate' ); ?></a> <?php
/* translators: %s: Theme name. */
$aria_label = sprintf( _x( 'Activate %s', 'theme' ), '{{ data.name }}' );
?>
<# if ( ! data.active ) { #>
<a class="button button-primary activate" href="{{ data.activate_url }}" aria-label="<?php echo esc_attr( $aria_label ); ?>"><?php _e( 'Activate' ); ?></a>
<# } else { #>
<button class="button button-primary disabled"><?php _ex( 'Activated', 'theme' ); ?></button>
<# } #>
<# } else { #> <# } else { #>
<a class="button button-primary disabled" ><?php _ex( 'Cannot Activate', 'theme' ); ?></a> <a class="button button-primary disabled" ><?php _ex( 'Cannot Activate', 'theme' ); ?></a>
<# } #> <# } #>

View File

@ -13,7 +13,7 @@
* *
* @global string $wp_version * @global string $wp_version
*/ */
$wp_version = '5.5-alpha-47923'; $wp_version = '5.5-alpha-47924';
/** /**
* Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema. * Holds the WordPress DB revision, increments when changes are made to the WordPress DB schema.