@@ -34,6 +34,84 @@ public function setup_admin_hooks() {
3434 add_action ( 'wp_ajax_riverbank_dismiss_welcome_notice ' , array ( $ this , 'remove_welcome_notice ' ) );
3535 add_action ( 'wp_ajax_riverbank_set_otter_ref ' , array ( $ this , 'set_otter_ref ' ) );
3636 add_action ( 'admin_print_scripts ' , array ( $ this , 'add_nps_form ' ) );
37+
38+ add_action ( 'enqueue_block_editor_assets ' , array ( $ this , 'add_fse_design_pack_notice ' ) );
39+ add_action ( 'wp_ajax_riverbank_dismiss_design_pack_notice ' , array ( $ this , 'remove_design_pack_notice ' ) );
40+ }
41+ /**
42+ * Render design pack notice.
43+ *
44+ * @return void
45+ */
46+ public function add_fse_design_pack_notice () {
47+ if ( ! $ this ->should_render_design_pack_notice () ) {
48+ return ;
49+ }
50+
51+ Assets_Manager::enqueue_style ( Assets_Manager::ASSETS_SLUGS ['design-pack-notice ' ], 'design-pack-notice ' );
52+ Assets_Manager::enqueue_script (
53+ Assets_Manager::ASSETS_SLUGS ['design-pack-notice ' ],
54+ 'design-pack-notice ' ,
55+ true ,
56+ array (),
57+ array (
58+ 'nonce ' => wp_create_nonce ( 'riverbank-dismiss-design-pack-notice ' ),
59+ 'ajaxUrl ' => esc_url ( admin_url ( 'admin-ajax.php ' ) ),
60+ 'ajaxAction ' => 'riverbank_dismiss_design_pack_notice ' ,
61+ 'buttonLink ' => tsdk_utmify ( 'https://themeisle.com/plugins/fse-design-pack ' , 'editor ' , 'riverbank ' ),
62+ 'strings ' => array (
63+ 'dismiss ' => __ ( 'Dismiss ' , 'riverbank ' ),
64+ 'recommends ' => __ ( 'Riverbank recommends ' , 'riverbank ' ),
65+ 'learnMore ' => __ ( 'Learn More ' , 'riverbank ' ),
66+ 'noticeHtml ' => sprintf (
67+ /* translators: %s: FSE Design Pack: */
68+ __ ( '%s Access a collection of 40+ layout patterns ready to import to your website ' , 'riverbank ' ),
69+ '<strong>FSE Design Pack:</strong> '
70+ ),
71+ ),
72+ ),
73+ 'designPackNoticeData '
74+ );
75+
76+
77+ echo '<div id="riverbank-design-pack-notice"></div> ' ;
78+ }
79+
80+
81+ /**
82+ * Should we show the design pack notice?
83+ *
84+ * @return bool
85+ */
86+ private function should_render_design_pack_notice () {
87+ // Already using.
88+ if ( is_plugin_active ( 'fse-design-pack/fse-design-pack.php ' ) ) {
89+ return false ;
90+ }
91+
92+ // Notice was dismissed.
93+ if ( get_option ( Constants::CACHE_KEYS ['dismissed-fse-design-pack-notice ' ], 'no ' ) === 'yes ' ) {
94+ return false ;
95+ }
96+
97+ return true ;
98+ }
99+
100+
101+ /**
102+ * Dismiss the design pack notice.
103+ *
104+ * @return void
105+ */
106+ public function remove_design_pack_notice () {
107+ if ( ! isset ( $ _POST ['nonce ' ] ) ) {
108+ return ;
109+ }
110+ if ( ! wp_verify_nonce ( sanitize_text_field ( $ _POST ['nonce ' ] ), 'riverbank-dismiss-design-pack-notice ' ) ) {
111+ return ;
112+ }
113+ update_option ( Constants::CACHE_KEYS ['dismissed-fse-design-pack-notice ' ], 'yes ' );
114+ wp_die ();
37115 }
38116
39117 /**
0 commit comments