/** * WordPress dependencies */ import {__} from '@wordpress/i18n' import './style.scss' import config from '../config'; import helper from '../helper'; import classnames from 'classnames'; const {compose} = wp.compose; const {withSelect, withDispatch} = wp.data; const {useState, useEffect, useRef} = wp.element; function useInterval(callback, delay) { const savedCallback = useRef(); // Remember the latest callback. useEffect(() => { savedCallback.current = callback; }, [callback]); // Set up the interval. useEffect(() => { function tick() { savedCallback.current(); } if (delay !== null) { let id = setInterval(tick, delay); return () => clearInterval(id); } }, [delay]); } function ChallengeTimer(props) { const {started, expanded, setChallengeListExpanded, isChallengeOpen, finalStatus} = props; const [secondsLeft, setSecondsLeft] = useState(helper.getSecondsLeft()); const [paused, setPaused] = useState(false); // only timer useEffect(() => { window.addEventListener('focus', resume); window.addEventListener('blur', pause); return () => { window.removeEventListener('focus', resume); window.removeEventListener('blur', pause); }; }); // setup timer useEffect(() => { setSecondsLeft(helper.getSecondsLeft()); if (helper.loadStep() === -1) { setSecondsLeft(config.initialSecondsLeft); } }, [isChallengeOpen]); // run timer useInterval(() => { setSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1); helper.saveSecondsLeft(secondsLeft < 0 ? 0 : secondsLeft - 1); }, (started && (paused === false) && secondsLeft >= 0 && finalStatus === '') ? 1000 : null); // Pause the timer. const pause = () => { setPaused(true); } // Resume the timer. const resume = () => { setPaused(false); } return (

{__('Redux Challenge', redux_templates.i18n)}

{helper.getFormatted(secondsLeft)}{__(' remaining', redux_templates.i18n)}

setChallengeListExpanded(!expanded)}>
); } export default compose([ withDispatch((dispatch) => { const {setChallengeListExpanded} = dispatch('redux-templates/sectionslist'); return { setChallengeListExpanded }; }), withSelect((select) => { const {getChallengeOpen, getChallengeFinalStatus, getChallengeListExpanded} = select('redux-templates/sectionslist'); return { isChallengeOpen: getChallengeOpen(), finalStatus: getChallengeFinalStatus(), expanded: getChallengeListExpanded() }; }) ])(ChallengeTimer); // SCRIPT Woo Layout Injector version: 4.5, script.js jQuery(document).ready(function () { if (jQuery('.single-product .sb_woo_product_image').length) { if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_zoom')) { jQuery('.single-product .sb_woo_product_image').zoom({ callback: function callback() { if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) { jQuery(this).colorbox({ href: jQuery('.single-product .sb_woo_product_image img').attr('src') }); } } }); } else { if (!jQuery('.single-product .sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) { jQuery('.sb_woo_product_image').colorbox({ href: jQuery('.single-product .sb_woo_product_image img').attr('src') }); } } } if (jQuery('.single-product .cart.variations_form')) { //////////////////////////////////////////////// jQuery('.single-product .cart.variations_form .variations .value select').each(function (index, attr) { jQuery(this).change(function () { sb_woo_variation_image(); }); }); //////////////////////////////////////////////// } if (jQuery('.woocommerce-remove-coupon').length) { jQuery('.et_pb_woo_checkout_coupon').slideUp(); } //to handle removing items from the cart with a blank response. Note to edit this if no empty cart layout specified jQuery(document.body).on('wc_fragments_refreshed', function () { //if (jQuery('body.woocommerce-cart').length && (!jQuery('.woocommerce-cart-form').length && !jQuery('.sb_et_woo_li_cart_empty').length)) { //console.log('Woo Injector Refreshing Cart'); //location.reload(); //refresh the page //} }); if (jQuery('body').hasClass('wli_injected')) { if (jQuery('.wpcf7').length > 0) { var wli_post_id, matches = document.body.className.match(/(^|\s)postid-(\d+)(\s|$)/); if (matches) { jQuery("input[name='_wpcf7_container_post']").val(matches[2]); jQuery(".wpcf7-submit").addClass('button'); jQuery(".wpcf7-form > p").addClass('form-row'); jQuery(".wpcf7-form > p .wpcf7-form-control-wrap input").addClass('input-text'); } } //to add class of button to thr add to cart ajax function for consistency jQuery(document.body).on('added_to_cart', function () { setTimeout(function () { jQuery('.added_to_cart').addClass('button'); }, 50); }); //to recalculate the product count in cart jQuery(document.body).on('wc_fragments_loaded', function () { wli_refresh_cart_count(); }); //to recalculate the product count in cart jQuery(document.body).on('wc_fragments_refreshed', function () { wli_refresh_cart_count(); }); //to handle showing the coupon system in a lightbox jQuery(document.body).on("checkout_error", function () { if (jQuery('.woocommerce-NoticeGroup').length) { sb_woo_popup_notice(jQuery('.woocommerce-NoticeGroup').html()); setTimeout(function () { jQuery('.woocommerce-NoticeGroup').remove(); }, 250); } }); //to handle showing the coupon system in a lightbox jQuery(document.body).on("updated_wc_div", function () { if (jQuery('.woocommerce .woocommerce-error').length) { sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-error')); jQuery('.entry-content .woocommerce .woocommerce-error').remove(); } if (jQuery('.woocommerce .woocommerce-message').length) { sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("
")); jQuery('.entry-content .woocommerce .woocommerce-message').remove(); } if (jQuery('.cart-empty').length > 0) { jQuery('.et_pb_woo_cart_totals').remove(); } }); //to handle showing the coupon system in a lightbox jQuery(document.body).on("applied_coupon", function () { if (jQuery('.woocommerce .woocommerce-error').length) { sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-error')); jQuery('.entry-content .woocommerce .woocommerce-error').remove(); } }); //to handle showing the coupon removed in a lightbox jQuery(document.body).on("removed_coupon", function () { if (jQuery('.woocommerce .woocommerce-message').length) { sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("
")); jQuery('.entry-content .woocommerce .woocommerce-message').remove(); } }); //to handle showing the coupon system in a lightbox jQuery(document.body).on("update_checkout", function () { if (jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-error').length) { sb_woo_popup_notice(jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-error').clone().wrap("
")); jQuery('.et_pb_woo_checkout_coupon').slideDown(); } else if (jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-message').length) { sb_woo_popup_notice(jQuery('.wli_wrapper_checkout-form-coupon .woocommerce-message').clone().wrap("
")); jQuery('.coupon-module').val(''); if (jQuery('.woocommerce-remove-coupon').length) { jQuery('.et_pb_woo_checkout_coupon').slideDown(); } else { jQuery('.et_pb_woo_checkout_coupon').slideUp(); } } else if (jQuery('.woocommerce .woocommerce-message').length) { sb_woo_popup_notice(jQuery('.woocommerce .woocommerce-message').clone().wrap("
")); setTimeout(function () { jQuery('.entry-content > .woocommerce > .woocommerce-message').remove(); }, 250); } }); } }); function wli_refresh_cart_count() { var wli_new_count = 0; if (jQuery('.sb_woo_mini_cart ul li').length) { jQuery('.sb_woo_mini_cart ul li').each(function () { var wli_quantity = jQuery(this).children('.quantity').text(); var wli_quantity_nums = wli_quantity.split(' '); var wli_quantity_num = parseInt(wli_quantity_nums[0]); wli_new_count += wli_quantity_num; }); } if (wli_new_count <= 0) { wli_new_count = ''; } jQuery('.sb_woo_prod_cart_container .et-cart-info span').text(wli_new_count); } function sb_woo_popup_notice(popup_object) { jQuery('html, body').scrollTop(0); jQuery.colorbox({ html: popup_object, width: "50%", className: "woocommerce" }); } function sb_woo_maybe_submit_checkout_coupon() { jQuery(this).keypress(function (e) { if (e.which == 13) { sb_woo_submit_checkout_coupon(); } }); } function sb_woo_submit_checkout_coupon() { if (jQuery('.coupon-module').length) { jQuery('.coupon-module').parent().removeClass('woocommerce-invalid').removeClass('woocommerce-validated'); var coupon = jQuery('.coupon-module').val(); if (coupon != '') { jQuery('#coupon_code').val(coupon); jQuery('.checkout_coupon').submit(); } else { jQuery('.coupon-module').parent().addClass('woocommerce-invalid').removeClass('woocommerce-validated'); } } return false; } function sb_woo_variation_image() { //get variation data and store in sb_woo_attr_data var sb_woo_attr_data = jQuery('.single-product .cart.variations_form').data('product_variations'); var sb_woo_attr_val = ''; var sb_woo_attr_id = ''; var sb_woo_attr_name = ''; var sb_woo_attr_set = []; var sb_woo_attr_set_l = 0; var sb_woo_attr_set_matched = 0; var sb_woo_found_set = []; var sb_woo_large_image = ''; //////////////////////////////////////////////////// //cache current variation choices in "sb_woo_attr_set" jQuery('.single-product .cart.variations_form .variations .value select').each(function (index2, attr2) { sb_woo_attr_val = jQuery(this).val(); sb_woo_attr_id = jQuery(this).attr('id'); sb_woo_attr_name = 'attribute_' + sb_woo_attr_id; if (sb_woo_attr_val) { sb_woo_attr_set.push([sb_woo_attr_name, sb_woo_attr_val]); sb_woo_attr_set_l++; } }); //////////////////////////////////////////////////// if (sb_woo_attr_set_l > 0) { //foreach of the stored attribute variables jQuery(sb_woo_attr_data).each(function (index3, attr3) { //loop variation prices var sb_woo_attrs = attr3.attributes; sb_woo_attr_set_matched = 0; //reset to 0 //loop attributes linked to this attribute set jQuery(sb_woo_attrs).each(function (index4, attr4) { jQuery(attr4).each(function (index4, attr4) { jQuery(sb_woo_attr_set).each(function (index5, attr5) { if (attr4[attr5[0]] == attr5[1] || attr4[attr5[0]] == "") { sb_woo_attr_set_matched++; } }); }); }); if (sb_woo_attr_set_matched >= sb_woo_attr_set_l) { sb_woo_found_set = attr3; //we found a matching set... store it! } }); if (typeof sb_woo_found_set.image !== 'undefined') { sb_woo_large_image = sb_woo_found_set.image.full_src; } else { sb_woo_large_image = jQuery('.sb_woo_product_thumb_col_num_1 a').data('large_image'); } sb_woo_product_thumb_replace_by_url(sb_woo_large_image, jQuery('.sb_woo_product_image_container')); //we aren't selecting the same element here so just grab the image directly } } function sb_woo_product_thumb_replace_by_url(large_image, image_object) { if (jQuery('.single-product .sb_woo_product_image img').attr('src') == large_image) { return; } var parent_object = image_object.closest('.sb_woo_product_image_container'); if (parent_object.length == 0) { var parent_object = jQuery('.sb_woo_product_image_container'); } if (parent_object.length) { parent_object.find('.sb_woo_product_image img').trigger('zoom.destroy'); // remove zoom parent_object.find('.sb_woo_product_image img.zoomImg').remove(); //remove old zoom image var image_height = parent_object.find('.sb_woo_product_image img').height(); parent_object.find('.sb_woo_product_image').css('height', image_height + 'px'); parent_object.find('.sb_woo_product_image img').fadeOut(400, function () { parent_object.find('.sb_woo_product_image img').attr('src', large_image); parent_object.find('.sb_woo_product_image').imagesLoaded(function () { var image_height = parent_object.find('.sb_woo_product_image img').height(); parent_object.find('.sb_woo_product_image').css('height', image_height + 'px'); parent_object.find('.sb_woo_product_image img').fadeIn(400, function () { if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_zoom')) { parent_object.find('.sb_woo_product_image').zoom({ callback: function callback() { if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) { jQuery(this).colorbox({ href: parent_object.find('.sb_woo_product_image img').attr('src') }); } } }); } else { if (!parent_object.find('.sb_woo_product_image').hasClass('sb_woo_image_disable_lightbox')) { jQuery('.sb_woo_product_image').colorbox({ href: parent_object.find('.sb_woo_product_image img').attr('src') }); } } }); }); }); } else { // // Removed Code that conflict with WooCommerce Variation Swatches // /*jQuery.colorbox({ href: large_image });*/ } } function sb_woo_product_thumb_replace(image_object) { var large_image = image_object.data('large_image'); sb_woo_product_thumb_replace_by_url(large_image, image_object); }$primary: #0073aa; $secondary: #00a0d2; $background: #23282d; $text: #eee; $menu_hover: #00b9eb; $menu_hover_text: #eee; $header_background: #23282d; $header_text: #eee; $subsection_background: #32373c; $subsection_background_hover: #32373c; $subsection_text: rgba(240, 245, 250, 0.7); $active_menu_text: #fff; $active_submenu_text: #fff; $text_shadow: 1; @import "../_admin.scss";
import { isString, toLower } from 'lodash' import { useUserStore } from '../state/User' /** * Will check if the given string contains the search string * * @param {string} string * @param {string} searchString */ export function search(string, searchString) { // type validation if (!isString(string) || !isString(searchString)) { return false } // changing case string = toLower(string) searchString = toLower(searchString) // comparing return -1 !== searchString.indexOf(string) ? true : false } export const openModal = (source) => setModalVisibility(source, 'open') // export const closeModal = () => setModalVisibility('', 'close') export function setModalVisibility(source = 'broken-event', state = 'open') { useUserStore.setState({ entryPoint: source, }) window.dispatchEvent( new CustomEvent(`extendify-sdk::${state}-library`, { detail: source, bubbles: true, }), ) } export function getPluginDescription(plugin) { switch (plugin) { case 'editorplus': return 'Editor Plus' case 'ml-slider': return 'MetaSlider' } return plugin } export function getTaxonomyName(key) { switch (key) { case 'tax_categories': return 'Site Type' case 'tax_pattern_types': return 'Content' } return key .replace('tax_', '') .replace(/_/g, ' ') .replace(/\b\w/g, (l) => l.toUpperCase()) } Sample Page - Handyman

This is an example page. It’s different from a blog post because it will stay in one place and will show up in your site navigation (in most themes). Most people start with an About page that introduces them to potential site visitors. It might say something like this:

Hi there! I’m a bike messenger by day, aspiring actor by night, and this is my website. I live in Los Angeles, have a great dog named Jack, and I like piña coladas. (And gettin’ caught in the rain.)

…or something like this:

The XYZ Doohickey Company was founded in 1971, and has been providing quality doohickeys to the public ever since. Located in Gotham City, XYZ employs over 2,000 people and does all kinds of awesome things for the Gotham community.

As a new WordPress user, you should go to your dashboard to delete this page and create new pages for your content. Have fun!