diff --git a/block-languages/benenson-blocks.pot b/block-languages/benenson-blocks.pot index 2b8927e..225ab7f 100644 --- a/block-languages/benenson-blocks.pot +++ b/block-languages/benenson-blocks.pot @@ -88,6 +88,7 @@ msgstr "" #: src/scripts/blocks/appearance-options/index.js:39 #: src/scripts/blocks/blockquote/index.js:232 +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:46 #: src/scripts/blocks/header/DisplayComponent.js:95 #: src/scripts/blocks/menu/DisplayComponent.js:12 #: src/scripts/blocks/section/DisplayComponent.js:49 @@ -96,6 +97,7 @@ msgstr "" #: src/scripts/blocks/appearance-options/index.js:42 #: src/scripts/blocks/blockquote/index.js:226 +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:49 #: src/scripts/blocks/header/DisplayComponent.js:98 msgid "Black" msgstr "" @@ -125,6 +127,7 @@ msgstr "" #: src/scripts/blocks/call-to-action/DisplayComponent.js:46 #: src/scripts/blocks/category-list/DisplayComponent.js:62 #: src/scripts/blocks/columns/DisplayComponent.js:28 +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:65 #: src/scripts/blocks/header/DisplayComponent.js:120 #: src/scripts/blocks/iframe/DisplayComponent.js:89 #: src/scripts/blocks/link/DisplayComponent.js:53 @@ -242,6 +245,7 @@ msgid "Alignment" msgstr "" #: src/scripts/blocks/blockquote/index.js:252 +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:73 msgid "Text Colour" msgstr "" @@ -403,6 +407,77 @@ msgstr "" msgid "Row Column" msgstr "" +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:114 +#: src/scripts/blocks/key-facts/fact.js:30 +#: src/scripts/blocks/key-facts/index.js:79 +#: src/scripts/blocks/links-with-icons/InnerBlockEdit.js:268 +#: src/scripts/blocks/media-aside/DisplayComponent.js:83 +#: src/scripts/blocks/post-list/components/editable/GridItem.js:30 +#: src/scripts/blocks/post-list/components/editable/LinkList.js:29 +#: src/scripts/blocks/post-list/components/editable/PostItem.js:55 +#: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:38 +msgid "(Insert Title)" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:121 +msgid "Days" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:124 +msgid "Hours" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:127 +msgid "Minutes" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:130 +msgid "Seconds" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:139 +msgid "(Insert Reveal Title)" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:149 +msgid "(Insert Reveal Content)" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:159 +#: src/scripts/blocks/media-aside/DisplayComponent.js:103 +msgid "(Insert Link text)" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:67 +msgid "Hide timer" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:68 +msgid "Hide the timer from users when the countdown has completed." +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:83 +msgid "Background colour" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:93 +msgid "Remove background colour" +msgstr "" + +#: src/scripts/blocks/countdown-timer/DisplayComponent.js:96 +#: src/scripts/blocks/header/DisplayComponent.js:152 +#: src/scripts/blocks/section/DisplayComponent.js:105 +msgid "Background Image" +msgstr "" + +#: src/scripts/blocks/countdown-timer/index.js:17 +msgid "Countdown Timer" +msgstr "" + +#: src/scripts/blocks/countdown-timer/index.js:18 +msgid "Set a future date to countdown to." +msgstr "" + #: src/scripts/blocks/download/index.js:12 msgid "Resource Download" msgstr "" @@ -471,11 +546,6 @@ msgid "" "embed in the hero." msgstr "" -#: src/scripts/blocks/header/DisplayComponent.js:152 -#: src/scripts/blocks/section/DisplayComponent.js:105 -msgid "Background Image" -msgstr "" - #: src/scripts/blocks/header/DisplayComponent.js:152 msgid "Featured Image" msgstr "" @@ -646,17 +716,6 @@ msgstr "" msgid "Add a flexible image block with optional overlay" msgstr "" -#: src/scripts/blocks/key-facts/fact.js:30 -#: src/scripts/blocks/key-facts/index.js:79 -#: src/scripts/blocks/links-with-icons/InnerBlockEdit.js:268 -#: src/scripts/blocks/media-aside/DisplayComponent.js:83 -#: src/scripts/blocks/post-list/components/editable/GridItem.js:30 -#: src/scripts/blocks/post-list/components/editable/LinkList.js:29 -#: src/scripts/blocks/post-list/components/editable/PostItem.js:55 -#: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:38 -msgid "(Insert Title)" -msgstr "" - #: src/scripts/blocks/key-facts/fact.js:39 #: src/scripts/blocks/media-aside/DisplayComponent.js:93 #: src/scripts/blocks/post-list/components/editable/GridItem.js:46 @@ -831,10 +890,6 @@ msgstr "" msgid "Add a repeatable logo block" msgstr "" -#: src/scripts/blocks/media-aside/DisplayComponent.js:103 -msgid "(Insert Link text)" -msgstr "" - #: src/scripts/blocks/media-aside/DisplayComponent.js:57 msgid "Display in modal" msgstr "" diff --git a/functions.php b/functions.php index 3418989..7e0da8d 100644 --- a/functions.php +++ b/functions.php @@ -32,6 +32,7 @@ require_once realpath( get_template_directory() . '/includes/blocks/meta.php' ); require_once realpath( get_template_directory() . '/includes/blocks/register.php' ); require_once realpath( get_template_directory() . '/includes/blocks/templates.php' ); +require_once realpath( get_template_directory() . '/includes/blocks/countdown-timer/reveal-content.php' ); require_once realpath( get_template_directory() . '/includes/rest-api/category-list.php' ); require_once realpath( get_template_directory() . '/includes/rest-api/fetch-menu.php' ); diff --git a/includes/block-translations.php b/includes/block-translations.php index 7c928b8..fef0833 100644 --- a/includes/block-translations.php +++ b/includes/block-translations.php @@ -12,7 +12,7 @@ __( 'Standard', 'benenson' ), // Reference: src/scripts/blocks/action/BlockEdit.js:37 - // Reference: src/scripts/blocks/section/DisplayComponent.js:62 + // Reference: src/scripts/blocks/section/DisplayComponent.js:74 __( 'Wide', 'benenson' ), // Reference: src/scripts/blocks/action/BlockEdit.js:62 @@ -68,13 +68,15 @@ // Reference: src/scripts/blocks/appearance-options/index.js:39 // Reference: src/scripts/blocks/blockquote/index.js:232 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:46 // Reference: src/scripts/blocks/header/DisplayComponent.js:95 // Reference: src/scripts/blocks/menu/DisplayComponent.js:12 - // Reference: src/scripts/blocks/section/DisplayComponent.js:37 + // Reference: src/scripts/blocks/section/DisplayComponent.js:49 __( 'White', 'benenson' ), // Reference: src/scripts/blocks/appearance-options/index.js:42 // Reference: src/scripts/blocks/blockquote/index.js:226 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:49 // Reference: src/scripts/blocks/header/DisplayComponent.js:98 __( 'Black', 'benenson' ), @@ -98,12 +100,14 @@ // Reference: src/scripts/blocks/call-to-action/DisplayComponent.js:46 // Reference: src/scripts/blocks/category-list/DisplayComponent.js:62 // Reference: src/scripts/blocks/columns/DisplayComponent.js:28 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:65 // Reference: src/scripts/blocks/header/DisplayComponent.js:120 // Reference: src/scripts/blocks/iframe/DisplayComponent.js:89 // Reference: src/scripts/blocks/link/DisplayComponent.js:53 // Reference: src/scripts/blocks/menu/DisplayComponent.js:96 // Reference: src/scripts/blocks/post-list/DisplayComponent.js:91 - // Reference: src/scripts/blocks/section/DisplayComponent.js:68 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:64 + // Reference: src/scripts/blocks/section/DisplayComponent.js:80 // Reference: src/scripts/blocks/slider/DisplayComponent.js:215 __( 'Options', 'benenson' ), @@ -144,6 +148,7 @@ // Reference: src/scripts/blocks/blockquote/index.js:165 // Reference: src/scripts/blocks/image/BlockEdit.js:197 + // Reference: src/scripts/blocks/section/index.js:53 // Reference: src/scripts/blocks/tweet/index.js:26 __( 'Default', 'benenson' ), @@ -159,7 +164,7 @@ // Reference: src/scripts/blocks/header/DisplayComponent.js:114 // Reference: src/scripts/blocks/links-with-icons/InnerBlockEdit.js:223 // Reference: src/scripts/blocks/logo-list/InnerBlockEdit.js:139 - // Reference: src/scripts/blocks/section/DisplayComponent.js:48 + // Reference: src/scripts/blocks/section/DisplayComponent.js:60 __( 'Small', 'benenson' ), // Reference: src/scripts/blocks/blockquote/index.js:217 @@ -181,7 +186,7 @@ // Reference: src/scripts/blocks/links-with-icons/BlockEdit.js:60 // Reference: src/scripts/blocks/logo-list/BlockEdit.js:52 // Reference: src/scripts/blocks/menu/DisplayComponent.js:15 - // Reference: src/scripts/blocks/section/DisplayComponent.js:40 + // Reference: src/scripts/blocks/section/DisplayComponent.js:52 // Reference: src/scripts/blocks/section/index.js:27 __( 'Grey', 'benenson' ), @@ -194,6 +199,7 @@ __( 'Alignment', 'benenson' ), // Reference: src/scripts/blocks/blockquote/index.js:252 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:73 __( 'Text Colour', 'benenson' ), // Reference: src/scripts/blocks/blockquote/index.js:258 @@ -316,25 +322,83 @@ // Reference: src/scripts/blocks/columns/row-column.js:9 __( 'Row Column', 'benenson' ), + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:115 + // Reference: src/scripts/blocks/key-facts/fact.js:30 + // Reference: src/scripts/blocks/key-facts/index.js:79 + // Reference: src/scripts/blocks/links-with-icons/InnerBlockEdit.js:268 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:114 + // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:83 + // Reference: src/scripts/blocks/post-list/components/editable/GridItem.js:30 + // Reference: src/scripts/blocks/post-list/components/editable/LinkList.js:29 + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:108 + // Reference: src/scripts/blocks/post-list/components/editable/PostItem.js:55 + // Reference: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:38 + __( '(Insert Title)', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:122 + __( 'Days', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:125 + __( 'Hours', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:128 + __( 'Minutes', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:131 + __( 'Seconds', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:140 + __( '(Insert Reveal Title)', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:150 + __( '(Insert Reveal Content)', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:160 + // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:103 + __( '(Insert Link text)', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:67 + __( 'Hide timer', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:68 + __( 'When the timer has finished hide it from users.', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:83 + __( 'Background colour', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:93 + __( 'Remove background colour', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/DisplayComponent.js:96 + // Reference: src/scripts/blocks/header/DisplayComponent.js:152 + // Reference: src/scripts/blocks/section/DisplayComponent.js:105 + __( 'Background Image', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/index.js:17 + __( 'Countdown Timer', 'benenson' ), + + // Reference: src/scripts/blocks/countdown-timer/index.js:18 + __( 'Set a future date to countdown to.', 'benenson' ), + // Reference: src/scripts/blocks/download/index.js:12 __( 'Resource Download', 'benenson' ), // Reference: src/scripts/blocks/download/index.js:13 __( 'Add a button to download a resource', 'benenson' ), - // Reference: src/scripts/blocks/download/index.js:44 + // Reference: src/scripts/blocks/download/index.js:43 __( 'File', 'benenson' ), - // Reference: src/scripts/blocks/download/index.js:45 + // Reference: src/scripts/blocks/download/index.js:44 __( 'A File', 'benenson' ), - // Reference: src/scripts/blocks/download/index.js:67 + // Reference: src/scripts/blocks/download/index.js:66 __( '[Download Resource]', 'benenson' ), - // Reference: src/scripts/blocks/download/index.js:75 + // Reference: src/scripts/blocks/download/index.js:74 __( 'Remove Resource', 'benenson' ), - // Reference: src/scripts/blocks/download/index.js:85 + // Reference: src/scripts/blocks/download/index.js:84 __( 'Edit File', 'benenson' ), // Reference: src/scripts/blocks/header/DisplayComponent.js:103 @@ -346,7 +410,7 @@ __( 'Video', 'benenson' ), // Reference: src/scripts/blocks/header/DisplayComponent.js:111 - // Reference: src/scripts/blocks/section/DisplayComponent.js:56 + // Reference: src/scripts/blocks/section/DisplayComponent.js:68 __( 'Normal', 'benenson' ), // Reference: src/scripts/blocks/header/DisplayComponent.js:128 @@ -354,7 +418,7 @@ // Reference: src/scripts/blocks/links-with-icons/BlockEdit.js:81 // Reference: src/scripts/blocks/logo-list/BlockEdit.js:67 // Reference: src/scripts/blocks/menu/DisplayComponent.js:107 - // Reference: src/scripts/blocks/section/DisplayComponent.js:70 + // Reference: src/scripts/blocks/section/DisplayComponent.js:82 __( 'Background Colour', 'benenson' ), // Reference: src/scripts/blocks/header/DisplayComponent.js:140 @@ -368,10 +432,6 @@ // Reference: src/scripts/blocks/header/DisplayComponent.js:150 __( 'Setting this will override the cta link and will now open a modal with the embed in the hero.', 'benenson' ), - // Reference: src/scripts/blocks/header/DisplayComponent.js:152 - // Reference: src/scripts/blocks/section/DisplayComponent.js:93 - __( 'Background Image', 'benenson' ), - // Reference: src/scripts/blocks/header/DisplayComponent.js:152 __( 'Featured Image', 'benenson' ), @@ -400,7 +460,7 @@ // Reference: src/scripts/blocks/link/DisplayComponent.js:30 // Reference: src/scripts/blocks/links-with-icons/BlockEdit.js:57 // Reference: src/scripts/blocks/logo-list/BlockEdit.js:49 - // Reference: src/scripts/blocks/section/DisplayComponent.js:51 + // Reference: src/scripts/blocks/section/DisplayComponent.js:63 __( 'None', 'benenson' ), // Reference: src/scripts/blocks/header/PostFeaturedVideo.js:6 @@ -438,7 +498,7 @@ __( 'Write caption…', 'benenson' ), // Reference: src/scripts/blocks/iframe/DisplayComponent.js:91 - // Reference: src/scripts/blocks/section/DisplayComponent.js:82 + // Reference: src/scripts/blocks/section/DisplayComponent.js:94 __( 'Width', 'benenson' ), // Reference: src/scripts/blocks/iframe/DisplayComponent.js:95 @@ -502,18 +562,8 @@ // Reference: src/scripts/blocks/image/index.js:76 __( 'Add a flexible image block with optional overlay', 'benenson' ), - // Reference: src/scripts/blocks/key-facts/fact.js:30 - // Reference: src/scripts/blocks/key-facts/index.js:79 - // Reference: src/scripts/blocks/links-with-icons/InnerBlockEdit.js:268 - // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:83 - // Reference: src/scripts/blocks/post-list/components/editable/GridItem.js:30 - // Reference: src/scripts/blocks/post-list/components/editable/LinkList.js:27 - // Reference: src/scripts/blocks/post-list/components/editable/PostItem.js:55 - // Reference: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:38 - __( '(Insert Title)', 'benenson' ), - // Reference: src/scripts/blocks/key-facts/fact.js:39 - // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:94 + // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:93 // Reference: src/scripts/blocks/post-list/components/editable/GridItem.js:46 // Reference: src/scripts/blocks/post-list/components/editable/PostItem.js:71 // Reference: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:54 @@ -645,9 +695,6 @@ // Reference: src/scripts/blocks/logo-list/index.js:21 __( 'Add a repeatable logo block', 'benenson' ), - // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:104 - __( '(Insert Link text)', 'benenson' ), - // Reference: src/scripts/blocks/media-aside/DisplayComponent.js:57 __( 'Display in modal', 'benenson' ), @@ -760,7 +807,7 @@ // Reference: src/scripts/blocks/post-list/components/editable/SplitGridItem.js:22 __( '(Insert Tag)', 'benenson' ), - // Reference: src/scripts/blocks/post-list/components/editable/LinkList.js:12 + // Reference: src/scripts/blocks/post-list/components/editable/LinkList.js:13 __( '(Tag Name)', 'benenson' ), // Reference: src/scripts/blocks/post-list/components/post-selector/PostList.js:21 @@ -790,15 +837,15 @@ // Reference: src/scripts/blocks/post-list/index.js:49 __( 'Posts', 'benenson' ), - // Reference: src/scripts/blocks/section/DisplayComponent.js:59 + // Reference: src/scripts/blocks/section/DisplayComponent.js:100 + __( 'Id (scroll location)', 'benenson' ), + + // Reference: src/scripts/blocks/section/DisplayComponent.js:71 // Reference: src/scripts/blocks/tweet/index.js:27 __( 'Narrow', 'benenson' ), - // Reference: src/scripts/blocks/section/DisplayComponent.js:76 - __( 'Padding', 'benenson' ), - // Reference: src/scripts/blocks/section/DisplayComponent.js:88 - __( 'Id (scroll location)', 'benenson' ), + __( 'Padding', 'benenson' ), // Reference: src/scripts/blocks/section/index.js:26 __( 'Section', 'benenson' ), diff --git a/includes/blocks/countdown-timer/render.php b/includes/blocks/countdown-timer/render.php new file mode 100644 index 0000000..2724ed6 --- /dev/null +++ b/includes/blocks/countdown-timer/render.php @@ -0,0 +1,96 @@ + 0 ) { + $days = intval( $time_remaining / 86400 ); + $time_remaining %= 86400; + + $hours = str_pad( intval( $time_remaining / 3600 ), 2, '0', STR_PAD_LEFT ); + $time_remaining %= 3600; + + $minutes = str_pad( intval( $time_remaining / 60 ), 2, '0', STR_PAD_LEFT ); + $time_remaining %= 60; + + $seconds = str_pad( $time_remaining, 2, '0', STR_PAD_LEFT ); + } + } + + $finished = $time_remaining > 0 ? '' : 'is-finished'; + $hide_timer = ! empty( $attributes['hideTimer'] ) && $attributes['hideTimer'] ? sprintf( 'data-hide-show="%s"', esc_attr( $attributes['hideTimer'] ) ) : ''; + $background_color = ! empty( $attributes['backgroundColor'] ) ? sprintf( 'background-color:%s', esc_attr( $attributes['backgroundColor'] ) ) : ''; + $background_image = ! empty( $attributes['backgroundUrl'] ) ? sprintf( 'background-image: url(\'%s\');', esc_attr( $attributes['backgroundUrl'] ) ) : ''; + + spaceless(); + ?> + +
%s
', esc_attr( $attributes['revealContent'] ) ); + } + + if ( ! empty( $attributes['revealBtnUrl'] ) && ! empty( $attributes['revealBtnText'] ) ) { + printf( '%s', esc_url( $attributes['revealBtnUrl'] ), esc_attr( $attributes['revealBtnText'] ) ); + } + ?> +00{ __('Days', 'benenson') }
+00{ __('Hours', 'benenson') }
+00{ __('Minutes', 'benenson') }
+00{ __('Seconds', 'benenson') }
+