Skip to content
This repository was archived by the owner on Dec 2, 2022. It is now read-only.

Commit d6525f9

Browse files
committed
Now properly only shows once for the user. But it won't show ever if the new Gutenberg welcome guide displays.
1 parent 1a79521 commit d6525f9

File tree

7 files changed

+243
-197
lines changed

7 files changed

+243
-197
lines changed

redux-templates/assets/js/redux-templates.js

+190-181
Large diffs are not rendered by default.

redux-templates/assets/js/redux-templates.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

redux-templates/assets/js/redux-templates.min.js

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

redux-templates/assets/js/redux-templates.min.js.map

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

redux-templates/classes/class-api.php

+26
Original file line numberDiff line numberDiff line change
@@ -738,6 +738,28 @@ public function delete_saved_block( \WP_REST_Request $request ) {
738738
wp_send_json_success( $deleted_block );
739739
}
740740

741+
/**
742+
* Record that the user has used the welcome guide.
743+
*
744+
* @param \WP_REST_Request $request WP Rest request.
745+
*
746+
* @since 4.0.0
747+
*/
748+
public function welcome_guide( \WP_REST_Request $request ) {
749+
$parameters = $request->get_params();
750+
$attributes = $request->get_attributes();
751+
if ( ! isset( $parameters['uid'] ) ) {
752+
return wp_send_json_error(
753+
array(
754+
'status' => 'error',
755+
'message' => 'User ID required.',
756+
)
757+
);
758+
}
759+
update_user_meta( $parameters['uid'], '_redux_welcome_guide', '1' );
760+
wp_send_json_success( array( 'status' => 'success' ) );
761+
}
762+
741763
/**
742764
* Method used to register all rest endpoint hooks.
743765
*
@@ -786,6 +808,10 @@ public function register_api_hooks() {
786808
'method' => 'GET',
787809
'callback' => 'plugin_install',
788810
),
811+
'welcome' => array(
812+
'method' => 'POST',
813+
'callback' => 'welcome_guide',
814+
),
789815
);
790816
$fs = \Redux_Filesystem::get_instance();
791817

redux-templates/classes/class-init.php

+14-13
Original file line numberDiff line numberDiff line change
@@ -137,30 +137,31 @@ public function editor_assets() {
137137
'tos' => \Redux_Connection_Banner::tos_blurb( 'import_wizard' ),
138138
);
139139

140-
// phpcs:ignore
141-
// delete_user_meta( get_current_user_id(), '_redux_welcome_guide' ); // For testing.
142-
if ( \Redux_Helpers::is_gutenberg_page() ) {
143-
$launched = get_user_meta( get_current_user_id(), '_redux_welcome_guide', true );
144-
if ( '1' !== $launched ) {
145-
$global_vars['welcome'] = 1;
146-
update_user_meta( get_current_user_id(), '_redux_welcome_guide', '1' );
147-
}
148-
}
149-
150140
if ( ! $global_vars['mokama'] ) {
151-
// phpcs:disable Squiz.PHP.CommentedOutCode
152141

153-
// delete_user_meta( get_current_user_id(), '_redux_templates_counts'); // To test left.
142+
// phpcs:disable Squiz.PHP.CommentedOutCode
143+
// delete_user_meta( get_current_user_id(), '_redux_templates_counts'); // To test left.
154144
if ( ! \Redux_Functions_Ex::activated() ) {
155145
$count = get_user_meta( get_current_user_id(), '_redux_templates_counts', true );
156146
if ( '' === $count ) {
157147
$count = self::$default_left;
158-
update_user_meta( get_current_user_id(), '_redux_templates_counts', $count );
148+
//update_user_meta( get_current_user_id(), '_redux_templates_counts', $count );
159149
}
160150
$global_vars['left'] = $count;
161151
} else {
162152
$global_vars['left'] = 999;
163153
}
154+
155+
// phpcs:ignore
156+
// delete_user_meta( get_current_user_id(), '_redux_welcome_guide' ); // For testing.
157+
if ( \Redux_Helpers::is_gutenberg_page() && $global_vars['left'] === self::$default_left ) {
158+
// We don't want to show unless Gutenberg is running and they haven't tried the library yet.
159+
$launched = get_user_meta( get_current_user_id(), '_redux_welcome_guide', true );
160+
if ( '1' !== $launched ) {
161+
$global_vars['welcome'] = 1;
162+
}
163+
}
164+
164165
}
165166

166167
if ( ! $global_vars['mokama'] ) {

redux-templates/src/components/welcome-guide/index.js

+10
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
const { useState } = wp.element;
55
import { useSelect } from '@wordpress/data';
66
import { ExternalLink, Guide } from '@wordpress/components';
7+
const {apiFetch} = wp;
78
import { __ } from '@wordpress/i18n';
89

910
/**
@@ -25,7 +26,9 @@ export default function WelcomeGuide() {
2526
select( 'core/edit-post' ).isFeatureActive( 'welcomeGuide' ),
2627
[]
2728
);
29+
2830
if ( isActive ) { // Don't want to show during the WP guide.
31+
delete redux_templates.welcome; // In fact, we don't want to show it until the next page load!
2932
return null;
3033
}
3134

@@ -39,6 +42,13 @@ export default function WelcomeGuide() {
3942
contentLabel={ __( 'Say hello to the Redux template library', redux_templates.i18n ) }
4043
onFinish={ () => {
4144
setIsOpen( false );
45+
const options = {
46+
method: 'POST',
47+
path: 'redux/v1/templates/welcome/?uid=' + window.userSettings.uid,
48+
}
49+
apiFetch(options).then(response => {
50+
}).catch(error => {
51+
});
4252
} }
4353
pages={ [
4454
{

0 commit comments

Comments
 (0)