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

Commit 562d110

Browse files
committed
Add the Redux Welcome Guide in Gutenberg.
1 parent 5bf5b6f commit 562d110

File tree

16 files changed

+424
-10
lines changed

16 files changed

+424
-10
lines changed

redux-core/inc/classes/class-redux-helpers.php

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1989,5 +1989,25 @@ public static function support_args() {
19891989

19901990
die();
19911991
}
1992+
1993+
/**
1994+
* Detect if Gutenberg is running on the current page.
1995+
*
1996+
* @return bool
1997+
*/
1998+
public static function is_gutenberg_page() {
1999+
if ( function_exists( 'is_gutenberg_page' ) && is_gutenberg_page() ) {
2000+
// The Gutenberg plugin is on.
2001+
return true;
2002+
}
2003+
$current_screen = get_current_screen();
2004+
if ( method_exists( $current_screen, 'is_block_editor' ) && $current_screen->is_block_editor() ) {
2005+
// Gutenberg page on 5+.
2006+
return true;
2007+
}
2008+
return false;
2009+
}
2010+
2011+
19922012
}
19932013
}
330 KB
Loading
140 KB
Loading
545 KB
Loading

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

Lines changed: 182 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -528,6 +528,21 @@ exports.push([module.i, ".redux-templates-modal-overlay {\n position: fixed;\n
528528

529529

530530

531+
/***/ }),
532+
533+
/***/ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./redux-templates/src/plugins/welcome-guide/style.scss":
534+
/*!*******************************************************************************************************************************************!*\
535+
!*** ./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./redux-templates/src/plugins/welcome-guide/style.scss ***!
536+
\*******************************************************************************************************************************************/
537+
/*! no static exports found */
538+
/***/ (function(module, exports, __webpack_require__) {
539+
540+
exports = module.exports = __webpack_require__(/*! ../../../../node_modules/css-loader/dist/runtime/api.js */ "./node_modules/css-loader/dist/runtime/api.js")(false);
541+
// Module
542+
exports.push([module.i, ".redux-edit-post-welcome-guide {\n width: 412px; }\n .redux-edit-post-welcome-guide__image {\n background: #00a0d2;\n width: 412px;\n border-bottom: 1px solid #ddd; }\n .redux-edit-post-welcome-guide__image__prm-r {\n display: none; }\n @media (prefers-reduced-motion: reduce) {\n .redux-edit-post-welcome-guide__image__prm-r {\n display: block; }\n .redux-edit-post-welcome-guide__image__prm-np {\n display: none; } }\n .redux-edit-post-welcome-guide__heading {\n font-family: \"Noto Serif\", serif;\n font-size: 24px;\n line-height: 1.4;\n margin: 0 0 16px 0;\n padding: 0 32px; }\n .redux-edit-post-welcome-guide__text {\n font-size: 16px;\n line-height: 1.4;\n margin: 0 0 24px 0;\n padding: 0 32px;\n font-weight: normal; }\n .redux-edit-post-welcome-guide__inserter-icon {\n margin: 0 4px;\n vertical-align: text-top; }\n", ""]);
543+
544+
545+
531546
/***/ }),
532547

533548
/***/ "./redux-templates/assets/img/icon-color.svg":
@@ -6647,6 +6662,7 @@ __webpack_require__.r(__webpack_exports__);
66476662
/* harmony import */ var _modal_manager__WEBPACK_IMPORTED_MODULE_12__ = __webpack_require__(/*! ./modal-manager */ "./redux-templates/src/modal-manager/index.js");
66486663
/* harmony import */ var _modal_library__WEBPACK_IMPORTED_MODULE_13__ = __webpack_require__(/*! ./modal-library */ "./redux-templates/src/modal-library/index.js");
66496664
/* harmony import */ var _custom_css__WEBPACK_IMPORTED_MODULE_14__ = __webpack_require__(/*! ./custom-css */ "./redux-templates/src/custom-css/index.js");
6665+
/* harmony import */ var _plugins_welcome_guide__WEBPACK_IMPORTED_MODULE_15__ = __webpack_require__(/*! ./plugins/welcome-guide */ "./redux-templates/src/plugins/welcome-guide/index.js");
66506666
/**
66516667
* Library Button
66526668
*/
@@ -6673,6 +6689,7 @@ __webpack_require__.r(__webpack_exports__);
66736689

66746690

66756691

6692+
66766693
Object(_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0__["default"])(() => {
66776694
setTimeout(() => {
66786695
const challengeDiv = document.createElement('div');
@@ -6699,6 +6716,7 @@ Object(_wordpress_dom_ready__WEBPACK_IMPORTED_MODULE_0__["default"])(() => {
66996716

67006717
Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["render"])(wp.element.createElement(_challenge__WEBPACK_IMPORTED_MODULE_11__["default"], null), challengeWrapperDiv);
67016718
Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["render"])(wp.element.createElement(_challenge_tooltip_TooltipBox__WEBPACK_IMPORTED_MODULE_9__["default"], null), challengeDiv);
6719+
Object(_wordpress_element__WEBPACK_IMPORTED_MODULE_1__["render"])(wp.element.createElement(_plugins_welcome_guide__WEBPACK_IMPORTED_MODULE_15__["default"], null), challengeDiv);
67026720
Object(_stores_helper__WEBPACK_IMPORTED_MODULE_10__["handlingLocalStorageData"])();
67036721
}, 500);
67046722
});
@@ -10576,6 +10594,170 @@ function Sidebar(props) {
1057610594

1057710595
/***/ }),
1057810596

10597+
/***/ "./redux-templates/src/plugins/welcome-guide/images.js":
10598+
/*!*************************************************************!*\
10599+
!*** ./redux-templates/src/plugins/welcome-guide/images.js ***!
10600+
\*************************************************************/
10601+
/*! exports provided: GuideImage1, GuideImage2, GuideImage3 */
10602+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
10603+
10604+
"use strict";
10605+
__webpack_require__.r(__webpack_exports__);
10606+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GuideImage1", function() { return GuideImage1; });
10607+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GuideImage2", function() { return GuideImage2; });
10608+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "GuideImage3", function() { return GuideImage3; });
10609+
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10610+
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_0__);
10611+
function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
10612+
10613+
/**
10614+
* WordPress dependencies
10615+
*/
10616+
10617+
const GuideImage1 = props => wp.element.createElement(React.Fragment, null, wp.element.createElement("img", _extends({
10618+
className: "redux-edit-post-welcome-guide__image redux-edit-post-welcome-guide__image__prm-np",
10619+
alt: "",
10620+
src: `${redux_templates.plugin}assets/img/welcome-guide-1.png`
10621+
}, props)));
10622+
const GuideImage2 = props => wp.element.createElement(React.Fragment, null, wp.element.createElement("img", _extends({
10623+
className: "redux-edit-post-welcome-guide__image redux-edit-post-welcome-guide__image__prm-np",
10624+
alt: "",
10625+
src: `${redux_templates.plugin}assets/img/welcome-guide-2.gif`
10626+
}, props)));
10627+
const GuideImage3 = props => wp.element.createElement(React.Fragment, null, wp.element.createElement("img", _extends({
10628+
className: "redux-edit-post-welcome-guide__image redux-edit-post-welcome-guide__image__prm-np",
10629+
alt: "",
10630+
src: `${redux_templates.plugin}assets/img/welcome-guide-3.png`
10631+
}, props)));
10632+
10633+
/***/ }),
10634+
10635+
/***/ "./redux-templates/src/plugins/welcome-guide/index.js":
10636+
/*!************************************************************!*\
10637+
!*** ./redux-templates/src/plugins/welcome-guide/index.js ***!
10638+
\************************************************************/
10639+
/*! exports provided: default */
10640+
/***/ (function(module, __webpack_exports__, __webpack_require__) {
10641+
10642+
"use strict";
10643+
__webpack_require__.r(__webpack_exports__);
10644+
/* harmony export (binding) */ __webpack_require__.d(__webpack_exports__, "default", function() { return WelcomeGuide; });
10645+
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! @wordpress/data */ "@wordpress/data");
10646+
/* harmony import */ var _wordpress_data__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__);
10647+
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! @wordpress/components */ "@wordpress/components");
10648+
/* harmony import */ var _wordpress_components__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__);
10649+
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! @wordpress/i18n */ "@wordpress/i18n");
10650+
/* harmony import */ var _wordpress_i18n__WEBPACK_IMPORTED_MODULE_2___default = /*#__PURE__*/__webpack_require__.n(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__);
10651+
/* harmony import */ var _images__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ./images */ "./redux-templates/src/plugins/welcome-guide/images.js");
10652+
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ./style.scss */ "./redux-templates/src/plugins/welcome-guide/style.scss");
10653+
/* harmony import */ var _style_scss__WEBPACK_IMPORTED_MODULE_4___default = /*#__PURE__*/__webpack_require__.n(_style_scss__WEBPACK_IMPORTED_MODULE_4__);
10654+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
10655+
10656+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10657+
10658+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
10659+
10660+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
10661+
10662+
function _iterableToArrayLimit(arr, i) { if (typeof Symbol === "undefined" || !(Symbol.iterator in Object(arr))) return; var _arr = []; var _n = true; var _d = false; var _e = undefined; try { for (var _i = arr[Symbol.iterator](), _s; !(_n = (_s = _i.next()).done); _n = true) { _arr.push(_s.value); if (i && _arr.length === i) break; } } catch (err) { _d = true; _e = err; } finally { try { if (!_n && _i["return"] != null) _i["return"](); } finally { if (_d) throw _e; } } return _arr; }
10663+
10664+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
10665+
10666+
/**
10667+
* WordPress dependencies
10668+
*/
10669+
const useState = wp.element.useState;
10670+
10671+
10672+
10673+
/**
10674+
* Internal dependencies
10675+
*/
10676+
10677+
10678+
10679+
function WelcomeGuide() {
10680+
const _useState = useState(true),
10681+
_useState2 = _slicedToArray(_useState, 2),
10682+
isOpen = _useState2[0],
10683+
setIsOpen = _useState2[1];
10684+
10685+
const isActive = Object(_wordpress_data__WEBPACK_IMPORTED_MODULE_0__["useSelect"])(select => select('core/edit-post').isFeatureActive('welcomeGuide'), []);
10686+
10687+
if (isActive) {
10688+
// Don't want to show during the WP guide.
10689+
return null;
10690+
}
10691+
10692+
if (!isOpen || 'undefined' === typeof redux_templates.welcome) {
10693+
return null;
10694+
}
10695+
10696+
return wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["Guide"], {
10697+
className: "redux-edit-post-welcome-guide",
10698+
contentLabel: Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Say hello to the Redux template library', redux_templates.i18n),
10699+
onFinish: () => {
10700+
setIsOpen(false);
10701+
},
10702+
pages: [{
10703+
image: wp.element.createElement(_images__WEBPACK_IMPORTED_MODULE_3__["GuideImage1"], null),
10704+
content: wp.element.createElement(React.Fragment, null, wp.element.createElement("h1", {
10705+
className: "redux-edit-post-welcome-guide__heading"
10706+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Try the Redux Template Library', redux_templates.i18n)), wp.element.createElement("h3", {
10707+
className: "redux-edit-post-welcome-guide__text"
10708+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Redux brings you over 1,000 importable templates and blocks that allow you to build Gutenberg powered pages and websites in minutes not days.', redux_templates.i18n)))
10709+
}, {
10710+
image: wp.element.createElement(_images__WEBPACK_IMPORTED_MODULE_3__["GuideImage2"], null),
10711+
content: wp.element.createElement(React.Fragment, null, wp.element.createElement("h1", {
10712+
className: "redux-edit-post-welcome-guide__heading"
10713+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Using the Template Library', redux_templates.i18n)), wp.element.createElement("h3", {
10714+
className: "redux-edit-post-welcome-guide__text"
10715+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('To use the template library click on the library button then pick your favourite template and import! Redux allows you to import beautiful Gutenberg pages in seconds.', redux_templates.i18n)))
10716+
}, {
10717+
image: wp.element.createElement(_images__WEBPACK_IMPORTED_MODULE_3__["GuideImage3"], null),
10718+
content: wp.element.createElement(React.Fragment, null, wp.element.createElement("h1", {
10719+
className: "redux-edit-post-welcome-guide__heading"
10720+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Import 5 templates for free or go Pro!', redux_templates.i18n)), wp.element.createElement("h3", {
10721+
className: "redux-edit-post-welcome-guide__text"
10722+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Redux allows you 5 free imports or you can go Pro now and import unlimited templates for just $49/year (limited time only).', redux_templates.i18n), wp.element.createElement("br", null), wp.element.createElement("br", null), wp.element.createElement("center", null, wp.element.createElement(_wordpress_components__WEBPACK_IMPORTED_MODULE_1__["ExternalLink"], {
10723+
href: `${redux_templates.u}welcome-guide`
10724+
}, Object(_wordpress_i18n__WEBPACK_IMPORTED_MODULE_2__["__"])('Learn more at Redux.io', redux_templates.i18n)))))
10725+
}]
10726+
});
10727+
}
10728+
10729+
/***/ }),
10730+
10731+
/***/ "./redux-templates/src/plugins/welcome-guide/style.scss":
10732+
/*!**************************************************************!*\
10733+
!*** ./redux-templates/src/plugins/welcome-guide/style.scss ***!
10734+
\**************************************************************/
10735+
/*! no static exports found */
10736+
/***/ (function(module, exports, __webpack_require__) {
10737+
10738+
10739+
var content = __webpack_require__(/*! !../../../../node_modules/css-loader/dist/cjs.js!../../../../node_modules/sass-loader/dist/cjs.js!./style.scss */ "./node_modules/css-loader/dist/cjs.js!./node_modules/sass-loader/dist/cjs.js!./redux-templates/src/plugins/welcome-guide/style.scss");
10740+
10741+
if(typeof content === 'string') content = [[module.i, content, '']];
10742+
10743+
var transform;
10744+
var insertInto;
10745+
10746+
10747+
10748+
var options = {"hmr":true}
10749+
10750+
options.transform = transform
10751+
options.insertInto = undefined;
10752+
10753+
var update = __webpack_require__(/*! ../../../../node_modules/style-loader/lib/addStyles.js */ "./node_modules/style-loader/lib/addStyles.js")(content, options);
10754+
10755+
if(content.locals) module.exports = content.locals;
10756+
10757+
if(false) {}
10758+
10759+
/***/ }),
10760+
1057910761
/***/ "./redux-templates/src/stores/actionHelper.js":
1058010762
/*!****************************************************!*\
1058110763
!*** ./redux-templates/src/stores/actionHelper.js ***!

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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
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

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 4 additions & 4 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

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

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)