Changeset 3452866
- Timestamp:
- 02/03/2026 12:37:35 PM (2 months ago)
- Location:
- click-to-chat-for-whatsapp
- Files:
-
- 272 added
- 4 edited
-
tags/4.37 (added)
-
tags/4.37/click-to-chat.php (added)
-
tags/4.37/common (added)
-
tags/4.37/common/class-ht-ctc-switch.php (added)
-
tags/4.37/index.php (added)
-
tags/4.37/new (added)
-
tags/4.37/new/admin (added)
-
tags/4.37/new/admin/admin.php (added)
-
tags/4.37/new/admin/admin_assets (added)
-
tags/4.37/new/admin/admin_assets/css (added)
-
tags/4.37/new/admin/admin_assets/css/admin-rtl.css (added)
-
tags/4.37/new/admin/admin_assets/css/admin.css (added)
-
tags/4.37/new/admin/admin_assets/css/dev (added)
-
tags/4.37/new/admin/admin_assets/css/dev/admin.dev.css (added)
-
tags/4.37/new/admin/admin_assets/css/dev/materialize.dev.css (added)
-
tags/4.37/new/admin/admin_assets/css/materialize.min.css (added)
-
tags/4.37/new/admin/admin_assets/intl (added)
-
tags/4.37/new/admin/admin_assets/intl/css (added)
-
tags/4.37/new/admin/admin_assets/intl/css/intlTelInput.css (added)
-
tags/4.37/new/admin/admin_assets/intl/css/intlTelInput.min.css (added)
-
tags/4.37/new/admin/admin_assets/intl/img (added)
-
tags/4.37/new/admin/admin_assets/intl/img/flags.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/flags.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/img/flags@2x.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/flags@2x.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe@2x.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe@2x.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe_light.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe_light.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe_light@2x.png (added)
-
tags/4.37/new/admin/admin_assets/intl/img/globe_light@2x.webp (added)
-
tags/4.37/new/admin/admin_assets/intl/js (added)
-
tags/4.37/new/admin/admin_assets/intl/js/intlTelInput.js (added)
-
tags/4.37/new/admin/admin_assets/intl/js/intlTelInput.min.js (added)
-
tags/4.37/new/admin/admin_assets/intl/js/utils.js (added)
-
tags/4.37/new/admin/admin_assets/js (added)
-
tags/4.37/new/admin/admin_assets/js/admin.js (added)
-
tags/4.37/new/admin/admin_assets/js/dev (added)
-
tags/4.37/new/admin/admin_assets/js/dev/admin.dev.js (added)
-
tags/4.37/new/admin/admin_assets/js/dev/greetings.dev.js (added)
-
tags/4.37/new/admin/admin_assets/js/greetings.js (added)
-
tags/4.37/new/admin/admin_assets/js/materialize.min.js (added)
-
tags/4.37/new/admin/admin_commons (added)
-
tags/4.37/new/admin/admin_commons/admin-device-settings.php (added)
-
tags/4.37/new/admin/admin_commons/admin-show-hide.php (added)
-
tags/4.37/new/admin/admin_commons/admin-sidebar-content.php (added)
-
tags/4.37/new/admin/admin_commons/class-ht-ctc-admin-hooks.php (added)
-
tags/4.37/new/admin/admin_commons/class-ht-ctc-metabox.php (added)
-
tags/4.37/new/admin/admin_commons/ht-ctc-admin-formatting.php (added)
-
tags/4.37/new/admin/admin_demo (added)
-
tags/4.37/new/admin/admin_demo/admin-demo-animations.css (added)
-
tags/4.37/new/admin/admin_demo/admin-demo.css (added)
-
tags/4.37/new/admin/admin_demo/admin-demo.js (added)
-
tags/4.37/new/admin/admin_demo/class-ht-ctc-admin-demo.php (added)
-
tags/4.37/new/admin/admin_demo/dev (added)
-
tags/4.37/new/admin/admin_demo/dev/admin-demo-animations.dev.css (added)
-
tags/4.37/new/admin/admin_demo/dev/admin-demo.dev.css (added)
-
tags/4.37/new/admin/admin_demo/dev/admin-demo.dev.js (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-customize-styles.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-greetings-page.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-group-page.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-main-page.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-other-settings.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-scripts.php (added)
-
tags/4.37/new/admin/class-ht-ctc-admin-share-page.php (added)
-
tags/4.37/new/admin/components (added)
-
tags/4.37/new/admin/components/checkbox.php (added)
-
tags/4.37/new/admin/components/collapsible_end.php (added)
-
tags/4.37/new/admin/components/collapsible_start.php (added)
-
tags/4.37/new/admin/components/color.php (added)
-
tags/4.37/new/admin/components/content.php (added)
-
tags/4.37/new/admin/components/count.php (added)
-
tags/4.37/new/admin/components/editor.php (added)
-
tags/4.37/new/admin/components/editor_lite.php (added)
-
tags/4.37/new/admin/components/element_details_end.php (added)
-
tags/4.37/new/admin/components/element_details_start.php (added)
-
tags/4.37/new/admin/components/empty.php (added)
-
tags/4.37/new/admin/components/g_header_image.php (added)
-
tags/4.37/new/admin/components/h_field.php (added)
-
tags/4.37/new/admin/components/heading.php (added)
-
tags/4.37/new/admin/components/list (added)
-
tags/4.37/new/admin/components/list/ht-ctc-admin-list-page.php (added)
-
tags/4.37/new/admin/components/number.php (added)
-
tags/4.37/new/admin/components/select.php (added)
-
tags/4.37/new/admin/components/space.php (added)
-
tags/4.37/new/admin/components/text.php (added)
-
tags/4.37/new/admin/components/textarea.php (added)
-
tags/4.37/new/admin/db (added)
-
tags/4.37/new/admin/db/class-ht-ctc-db.php (added)
-
tags/4.37/new/admin/db/class-ht-ctc-db2.php (added)
-
tags/4.37/new/admin/db/class-ht-ctc-update-db-backup.php (added)
-
tags/4.37/new/admin/db/class-ht-ctc-update-db.php (added)
-
tags/4.37/new/admin/db/defaults (added)
-
tags/4.37/new/admin/db/defaults/class-ht-ctc-defaults-greetings.php (added)
-
tags/4.37/new/admin/db/defaults/class-ht-ctc-defaults.php (added)
-
tags/4.37/new/admin/feedback (added)
-
tags/4.37/new/admin/feedback/class-ht-ctc-admin-deactivate-feedback.php (added)
-
tags/4.37/new/admin/feedback/feedback.css (added)
-
tags/4.37/new/admin/feedback/feedback.js (added)
-
tags/4.37/new/admin2 (added)
-
tags/4.37/new/admin2/assets (added)
-
tags/4.37/new/admin2/assets/dev (added)
-
tags/4.37/new/class-ht-ctc.php (added)
-
tags/4.37/new/inc (added)
-
tags/4.37/new/inc/api (added)
-
tags/4.37/new/inc/api/class-ht-ctc-rest-api.php (added)
-
tags/4.37/new/inc/assets (added)
-
tags/4.37/new/inc/assets/css (added)
-
tags/4.37/new/inc/assets/css/dev (added)
-
tags/4.37/new/inc/assets/css/dev/main.dev.css (added)
-
tags/4.37/new/inc/assets/css/font.css (added)
-
tags/4.37/new/inc/assets/css/main.css (added)
-
tags/4.37/new/inc/assets/css/mdstyle8.css (added)
-
tags/4.37/new/inc/assets/fonts (added)
-
tags/4.37/new/inc/assets/fonts/ccw.eot (added)
-
tags/4.37/new/inc/assets/fonts/ccw.svg (added)
-
tags/4.37/new/inc/assets/fonts/ccw.ttf (added)
-
tags/4.37/new/inc/assets/fonts/ccw.woff (added)
-
tags/4.37/new/inc/assets/img (added)
-
tags/4.37/new/inc/assets/img/ht-ctc-svg-images.php (added)
-
tags/4.37/new/inc/assets/img/new_style8.jpg (added)
-
tags/4.37/new/inc/assets/img/wa_bg.png (added)
-
tags/4.37/new/inc/assets/img/whatsapp-icon-square.svg (added)
-
tags/4.37/new/inc/assets/img/whatsapp-logo-32x32.png (added)
-
tags/4.37/new/inc/assets/img/whatsapp-logo.svg (added)
-
tags/4.37/new/inc/assets/js (added)
-
tags/4.37/new/inc/assets/js/app.js (added)
-
tags/4.37/new/inc/assets/js/bc (added)
-
tags/4.37/new/inc/assets/js/bc/3-33.app.dev.js (added)
-
tags/4.37/new/inc/assets/js/bc/app.js (added)
-
tags/4.37/new/inc/assets/js/dev (added)
-
tags/4.37/new/inc/assets/js/dev/app.dev.js (added)
-
tags/4.37/new/inc/assets/js/dev/group.dev.js (added)
-
tags/4.37/new/inc/assets/js/dev/share.dev.js (added)
-
tags/4.37/new/inc/assets/js/dev/woo.dev.js (added)
-
tags/4.37/new/inc/assets/js/group.js (added)
-
tags/4.37/new/inc/assets/js/share.js (added)
-
tags/4.37/new/inc/assets/js/woo.js (added)
-
tags/4.37/new/inc/chat (added)
-
tags/4.37/new/inc/chat/class-ht-ctc-chat-shortcode.php (added)
-
tags/4.37/new/inc/chat/class-ht-ctc-chat.php (added)
-
tags/4.37/new/inc/class-ht-ctc-main.php (added)
-
tags/4.37/new/inc/class-ht-ctc-register.php (added)
-
tags/4.37/new/inc/commons (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-animations.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-formatting.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-hooks.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-ismobile.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-scripts.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-security.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-settings-data.php (added)
-
tags/4.37/new/inc/commons/class-ht-ctc-values.php (added)
-
tags/4.37/new/inc/commons/ht-ctc-formatting.php (added)
-
tags/4.37/new/inc/commons/position-to-place.php (added)
-
tags/4.37/new/inc/commons/show-hide.php (added)
-
tags/4.37/new/inc/greetings (added)
-
tags/4.37/new/inc/greetings/class-ht-ctc-chat-greetings.php (added)
-
tags/4.37/new/inc/greetings/greetings-1.php (added)
-
tags/4.37/new/inc/greetings/greetings-2.php (added)
-
tags/4.37/new/inc/greetings/greetings_styles (added)
-
tags/4.37/new/inc/greetings/greetings_styles/g-cta-1.php (added)
-
tags/4.37/new/inc/greetings/greetings_styles/g-cta-7_1.php (added)
-
tags/4.37/new/inc/greetings/greetings_styles/opt-in.php (added)
-
tags/4.37/new/inc/group (added)
-
tags/4.37/new/inc/group/class-ht-ctc-group-shortcode.php (added)
-
tags/4.37/new/inc/group/class-ht-ctc-group.php (added)
-
tags/4.37/new/inc/share (added)
-
tags/4.37/new/inc/share/class-ht-ctc-share-shortcode.php (added)
-
tags/4.37/new/inc/share/class-ht-ctc-share.php (added)
-
tags/4.37/new/inc/styles (added)
-
tags/4.37/new/inc/styles-shortcode (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-1.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-2.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-3.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-3_1.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-4.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-5.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-6.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-7.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-7_1.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-8.php (added)
-
tags/4.37/new/inc/styles-shortcode/sc-style-99.php (added)
-
tags/4.37/new/inc/styles/style-1.php (added)
-
tags/4.37/new/inc/styles/style-2.php (added)
-
tags/4.37/new/inc/styles/style-3.php (added)
-
tags/4.37/new/inc/styles/style-3_1.php (added)
-
tags/4.37/new/inc/styles/style-4.php (added)
-
tags/4.37/new/inc/styles/style-5.php (added)
-
tags/4.37/new/inc/styles/style-6.php (added)
-
tags/4.37/new/inc/styles/style-7.php (added)
-
tags/4.37/new/inc/styles/style-7_1.php (added)
-
tags/4.37/new/inc/styles/style-8.php (added)
-
tags/4.37/new/inc/styles/style-99.php (added)
-
tags/4.37/new/tools (added)
-
tags/4.37/new/tools/woo (added)
-
tags/4.37/new/tools/woo/class-ht-ctc-woo.php (added)
-
tags/4.37/new/tools/woo/ht-ctc-woo.php (added)
-
tags/4.37/new/tools/woo/woo-admin (added)
-
tags/4.37/new/tools/woo/woo-admin/class-ht-ctc-admin-woo-page.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-1.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-2.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-3.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-3_1.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-4.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-5.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-6.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-7.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-7_1.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-8.php (added)
-
tags/4.37/new/tools/woo/woo-single-styles/woo-style-99.php (added)
-
tags/4.37/prev (added)
-
tags/4.37/prev/admin (added)
-
tags/4.37/prev/admin/admin.php (added)
-
tags/4.37/prev/admin/class-ccw-add-styles-scripts-admin.php (added)
-
tags/4.37/prev/admin/class-ccw-admin-menu.php (added)
-
tags/4.37/prev/admin/class-ccw-admin-page-customize-styles.php (added)
-
tags/4.37/prev/admin/class-ccw-admin-page.php (added)
-
tags/4.37/prev/admin/commons (added)
-
tags/4.37/prev/admin/commons/class-ht-ccw-admin-lists.php (added)
-
tags/4.37/prev/admin/default-values.php (added)
-
tags/4.37/prev/admin/settings_page.php (added)
-
tags/4.37/prev/admin/sp_customize_styles.php (added)
-
tags/4.37/prev/assets (added)
-
tags/4.37/prev/assets/css (added)
-
tags/4.37/prev/assets/css/admin_main.css (added)
-
tags/4.37/prev/assets/css/mainstyles.css (added)
-
tags/4.37/prev/assets/fonts (added)
-
tags/4.37/prev/assets/fonts/ccw.eot (added)
-
tags/4.37/prev/assets/fonts/ccw.svg (added)
-
tags/4.37/prev/assets/fonts/ccw.ttf (added)
-
tags/4.37/prev/assets/fonts/ccw.woff (added)
-
tags/4.37/prev/assets/js (added)
-
tags/4.37/prev/assets/js/admin_app.js (added)
-
tags/4.37/prev/assets/js/app.js (added)
-
tags/4.37/prev/inc (added)
-
tags/4.37/prev/inc/class-ccw-add-styles-scripts.php (added)
-
tags/4.37/prev/inc/class-ccw-shortcode.php (added)
-
tags/4.37/prev/inc/class-ht-ccw-chat.php (added)
-
tags/4.37/prev/inc/class-ht-ccw-register.php (added)
-
tags/4.37/prev/inc/class-ht-ccw.php (added)
-
tags/4.37/prev/inc/commons (added)
-
tags/4.37/prev/inc/commons/class-ht-ccw-ismobile.php (added)
-
tags/4.37/prev/inc/commons/class-ht-ccw-variables.php (added)
-
tags/4.37/prev/inc/commons/styles-list (added)
-
tags/4.37/prev/inc/commons/styles-list-sc (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-1.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-2.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-3.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-4.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-5.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-6.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-7.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-8.1.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-8.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-9.php (added)
-
tags/4.37/prev/inc/commons/styles-list-sc/sc-style-99.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-0.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-1.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-2.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-3.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-4.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-5.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-6.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-7.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-8.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-9.php (added)
-
tags/4.37/prev/inc/commons/styles-list/style-99.php (added)
-
tags/4.37/prev/inc/commons/styles.php (added)
-
tags/4.37/readme.txt (added)
-
trunk/click-to-chat.php (modified) (2 diffs)
-
trunk/new/inc/assets/js/app.js (modified) (1 diff)
-
trunk/new/inc/assets/js/dev/app.dev.js (modified) (7 diffs)
-
trunk/readme.txt (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
click-to-chat-for-whatsapp/trunk/click-to-chat.php
r3442197 r3452866 8 8 * Plugin URI: https://wordpress.org/plugins/click-to-chat-for-whatsapp/ 9 9 * Description: Lets make your Web page visitors contact you through WhatsApp with a single click/tap 10 * Version: 4.3 610 * Version: 4.37 11 11 * Author: HoliThemes 12 12 * Author URI: https://holithemes.com/plugins/click-to-chat/ … … 22 22 // ctc - Version - update version at readme 'Stable tag'. 23 23 if ( ! defined( 'HT_CTC_VERSION' ) ) { 24 define( 'HT_CTC_VERSION', '4.3 6' );24 define( 'HT_CTC_VERSION', '4.37' ); 25 25 } 26 26 -
click-to-chat-for-whatsapp/trunk/new/inc/assets/js/app.js
r3429029 r3452866 1 (()=>{"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);e&&(c=c.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,c)}return n}function e(e){for(var c=1;c<arguments.length;c++){var r=null!=arguments[c]?arguments[c]:{};c%2?t(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function n(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==c(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}var r="undefined"!=typeof window&&"function"==typeof window.jQuery?window.jQuery:null;!function(t,n,r){function a(){var a=t.location.href,o=void 0!==n.title?n.title:"",i=n.querySelector(".ht-ctc-chat"),s={},_={};var l=function(){var t="",e=9999;try{t=navigator.userAgent||"",e=screen.width||9999}catch(t){}return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)||e<=1025?"yes":"no"}(),u=new Map,d=["__proto__","prototype","constructor","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],h=function(t){return!("string"!=typeof t||0===t.length||!/^[a-zA-Z0-9_-]+$/.test(t))&&!d.includes(t)};function p(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t&&"object"===c(t)&&h(e)&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:n}function v(t,e,n){return!(!t||"object"!==c(t)||!h(e))&&(t[e]=n,!0)}function f(){if(localStorage.getItem("ht_ctc_storage"))try{var t=JSON.parse(localStorage.getItem("ht_ctc_storage"));u=new Map(Object.entries(t||{}))}catch(t){u=new Map}else u=new Map}function y(t){return!(!h(t)||!u.has(t))&&u.get(t)}function g(t,e){if(f(),h(t)){u.set(t,e);var n=JSON.stringify(Object.fromEntries(u));localStorage.setItem("ht_ctc_storage",n)}}function m(t){return t instanceof Element?[t]:"string"==typeof t?Array.from(n.querySelectorAll(t)):[]}f();var b={show:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=m(t);if(r)return".ctc_opt_in"===t?void r(t).fadeOut(200).fadeIn(200).fadeOut(200).fadeIn(200):void r(t).show(e||void 0);o.forEach(function(t){c&&c.split(/\s+/).forEach(function(e){e.trim()&&t.classList.add(e.trim())}),a&&a.split(/\s+/).forEach(function(e){e.trim()&&t.classList.remove(e.trim())}),e?t.style.setProperty("--ht-ctc-el-duration","".concat(e,"ms")):t.style.removeProperty("--ht-ctc-el-duration"),n&&function(t,e){if(t&&e){"none"===t.style.display&&(t.style.display="");var n=e.split(/\s+/).filter(Boolean);n.forEach(function(e){t.classList.remove(e),t.offsetWidth,t.classList.add(e)});var c=function(){n.forEach(function(e){return t.classList.remove(e)}),t.removeEventListener("animationend",c),clearTimeout(r)},r=setTimeout(c,2e3);t.addEventListener("animationend",c)}}(t,n),c||a||e||n||(t.style.display="block")})},hide:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=m(t);r?r(t).hide(e):o.forEach(function(t){c&&t.classList.add(c),a&&t.classList.remove(a),e?t.style.setProperty("--ht-ctc-el-duration","".concat(e,"ms")):t.style.removeProperty("--ht-ctc-el-duration"),n&&t.classList.add("ht-ctc-".concat(n)),c||a||e||n||(t.style.display="none")})}};function k(){n.dispatchEvent(new CustomEvent("ht_ctc_event_configure",{detail:{ctc:s,ctc_values:_}}));var t=n.querySelector(".ht_ctc_chat_data");t&&t.remove();var e={config:{ctc:s,ctc_values:_,is_mobile:l,url:a,post_title:o},api:{storage:{get:y,set:g,raw:u},ui:b,greetings:{open:S,close:x,closeAfterClick:L,initListeners:E,display:w},notifications:{display:P,stop:T},chat:{openLink:D,displaySettings:j},utils:{isSafeObjectKey:h,getSafeProperty:p,setSafeProperty:v}}};n.dispatchEvent(new CustomEvent("ht_ctc_event_init",{detail:e})),n.dispatchEvent(new CustomEvent("ht_ctc_event_settings",{detail:{ctc:s}})),function(){if(i){n.dispatchEvent(new CustomEvent("ht_ctc_event_chat")),j(i),i.addEventListener("click",function(){n.querySelector(".ht_ctc_chat_greetings_box")||D(i)}),E(),i&&i.addEventListener("click",function(t){if(t.target.closest(".ht_ctc_chat_greetings_box_link")){t.preventDefault();var e=n.querySelector("#ctc_opt");e?e.checked||y("g_optin")?(D(i),L()):b.show(".ctc_opt_in","","ht-ctc-fade-in","",""):(D(i),L()),n.dispatchEvent(new CustomEvent("ht_ctc_event_greetings"))}});var t=n.querySelector("#ctc_opt");t&&t.addEventListener("change",function(){t.checked&&(n.querySelector(".ctc_opt_in")&&b.hide(".ctc_opt_in",100),g("g_optin","y"),setTimeout(function(){D(i),L()},500))})}}(),n.addEventListener("click",function(t){var e=t.target.closest(".ht-ctc-sc-chat");e&&D(e)}),n.addEventListener("click",function(t){var e=t.target.closest(".ctc_chat, #ctc_chat");e&&(D(e),e.classList.contains("ctc_woo_place")&&t.preventDefault());var n=t.target.closest('[href="#ctc_chat"]');n&&(t.preventDefault(),D(n))})}function E(){if(i){var t=n.querySelector(".ht_ctc_chat_greetings_box");t&&i.addEventListener("click",function(e){e.target.closest(".ht_ctc_chat_style")&&(t.classList.contains("ctc_greetings_opened")?x("user_closed"):S("user_opened"))}),i.addEventListener("click",function(t){t.target.closest(".ctc_greetings_close_btn")&&x("user_closed")})}}function w(){var t=n.querySelector(".ht_ctc_chat_greetings_box");if(t){if(s.g_device){if("yes"!==l&&"mobile"===s.g_device)return void t.remove();if("yes"===l&&"desktop"===s.g_device)return void t.remove()}n.dispatchEvent(new CustomEvent("ht_ctc_event_after_chat_displayed",{detail:{ctc:s,greetings_open:S,greetings_close:x}})),s.g_init&&"user_closed"!==y("g_user_action")&&("default"===s.g_init?"yes"!==l&&S("init"):"open"===s.g_init&&S("init"));var e=n.querySelectorAll('.ctc_greetings, #ctc_greetings, .ctc_greetings_now, [href="#ctc_greetings"]');e.length>0&&e.forEach(function(t){t.addEventListener("click",function(t){t.preventDefault(),x("element"),S("element")})})}}function S(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"open";T();var e=n.querySelector(".ht-ctc-chat .ctc_cta_stick");e&&e.remove();var c=n.querySelector(".ht_ctc_chat_greetings_box");c&&(b.show(".ht_ctc_chat_greetings_box","init"===t?70:400,"","ht_ctc_greetings_box_open",""),c.classList.add("ctc_greetings_opened"),c.classList.remove("ctc_greetings_closed")),g("g_action",t),"user_opened"===t&&g("g_user_action",t),function(){if(!n.querySelector(".ctc_greetings_modal"))return;if(!n.querySelector(".ht_ctc_modal_backdrop")){var t=function(e){"Escape"===e.key&&(x("user_closed"),n.removeEventListener("keydown",t))},e=n.createElement("div");e.className="ht_ctc_modal_backdrop",n.body.appendChild(e),e.addEventListener("click",function(){x("user_closed")}),n.addEventListener("keydown",t)}}()}function L(){O(),setTimeout(function(){x("chat_clicked")},500)}function x(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"close";O(),"element"===t?b.hide(".ht_ctc_chat_greetings_box",70,"","ht-ctc-display-unset",""):b.hide(".ht_ctc_chat_greetings_box",400,"","","ht_ctc_greetings_box_open");var e=n.querySelector(".ht_ctc_chat_greetings_box");e&&(e.classList.add("ctc_greetings_closed"),e.classList.remove("ctc_greetings_opened")),g("g_action",t),"user_closed"===t&&g("g_user_action",t)}function O(){var t=n.querySelector(".ht_ctc_modal_backdrop");t&&t.remove()}function j(t){s.schedule&&"yes"===s.schedule?n.dispatchEvent(new CustomEvent("ht_ctc_event_display",{detail:{ctc:s,display_chat:q,ht_ctc_chat:t,online_content:C}})):(q(t),C())}function q(t){if("yes"===l){if("show"===s.dis_m){var e=n.querySelector(".ht_ctc_desktop_chat");e&&e.remove(),t.style.cssText=s.pos_m+s.css,s.side_m&&t.style.setProperty("--side",s.side_m),A(t)}}else if("show"===s.dis_d){var c=n.querySelector(".ht_ctc_mobile_chat");c&&c.remove(),t.style.cssText=s.pos_d+s.css,s.side_d&&t.style.setProperty("--side",s.side_d),A(t)}}function A(t){var e=s.se;e=parseInt(s.se),isNaN(e)?b.show(t,"","","ht-ctc-display-unset",""):b.show(t,e,"","ht-ctc-display-unset",""),w(),P(),function(t){var e=t.classList.contains("ht_ctc_entry_animation")?1200:120;setTimeout(function(){t.classList.add("ht_ctc_animation",s.ani)},e);var c=n.querySelector(".ht-ctc-chat"),r=n.querySelector(".ht-ctc-chat .ht-ctc-cta-hover");c&&r&&(c.addEventListener("mouseenter",function(){b.show(".ht-ctc-chat .ht-ctc-cta-hover",120,"","ht-ctc-cta-stick","ht-ctc-opacity-hide")}),c.addEventListener("mouseleave",function(){b.hide(".ht-ctc-chat .ht-ctc-cta-hover",100,"","ht-ctc-opacity-hide","ht-ctc-cta-stick")}))}(t)}function C(){n.querySelector(".for_greetings_header_image_badge")&&(n.querySelectorAll(".for_greetings_header_image_badge").forEach(function(t){t.classList.add("g_header_badge_online")}),b.show(".for_greetings_header_image_badge","","","ht-ctc-display-unset",""))}function P(){var t=n.querySelector(".ht_ctc_notification");if(t&&"stop"!==y("n_badge")){var e=n.querySelector(".ctc_nb");if(e){var c=e.closest(".ht_ctc_style"),r=n.querySelector(".ht_ctc_badge");if(c&&r){var a,o,i=null===(a=c.querySelector(".ctc_nb"))||void 0===a?void 0:a.getAttribute("data-nb_top"),_=null===(o=c.querySelector(".ctc_nb"))||void 0===o?void 0:o.getAttribute("data-nb_right");null!==i&&(r.style.top=i),null!==_&&(r.style.right=_)}}var l=s.n_time?1e3*s.n_time:150;setTimeout(function(){t.style.display=""},l)}}function T(){var t=n.querySelector(".ht_ctc_notification");t&&(g("n_badge","stop"),t.remove())}function I(r){if(s.analytics&&"session"===s.analytics){if(sessionStorage.getItem("ht_ctc_analytics"))return;sessionStorage.setItem("ht_ctc_analytics","done")}function i(e){var c=s.chat_number&&""!==s.chat_number?s.chat_number:s.number;try{n.dispatchEvent(new CustomEvent("ht_ctc_event_apply_variables",{detail:{templateString:e}})),e=(e=(e=(e=void 0!==t.apply_variables_value?t.apply_variables_value:e).replace("{number}",c)).replace("{title}",o)).replace("{url}",a)}catch(t){}return e}var l="event_"+Math.floor(1e4+9e4*Math.random());s.ctc_pixel_event_id=l,n.dispatchEvent(new CustomEvent("ht_ctc_event_analytics"));var u=s.chat_number&&""!==s.chat_number?s.chat_number:s.number,d=new Map,f=function(){return Object.fromEntries(d)},y="Click to Chat for WhatsApp",g="chat: "+u,m=o+", "+a;if(s.ga){var b=s.g_an_event_name&&""!==s.g_an_event_name?s.g_an_event_name:"click to chat";b=i(b),Array.isArray(_.g_an_params)&&_.g_an_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=p(_,t);if(e&&"object"===c(e)){var n=e.key,r=e.value;"string"==typeof n&&(n=i(n),r=i(r),h(n)&&d.set(n,r))}}});var k=0,E="no",w=[];if("undefined"!=typeof dataLayer)try{var S=function(t,e){t&&"string"==typeof t&&""!==t.trim()&&(w.includes(t)||w.push(t))};"undefined"==typeof gtag&&(t.gtag=function(){var t;(t=dataLayer).push.apply(t,arguments)},E="yes");var L=[];try{var x,O=null===(x=t.google_tag_data)||void 0===x?void 0:x.tidr;null!=O&&O.destination&&"object"===c(O.destination)&&Object.keys(O.destination).forEach(function(t){S(t)})}catch(t){}try{var j,q=null===(j=t.google_tag_data)||void 0===j||null===(j=j.tidr)||void 0===j?void 0:j.container;q&&"object"===c(q)&&Object.values(q).forEach(function(t){Array.isArray(t.destinations)&&t.destinations.forEach(function(t){"string"==typeof t&&t.startsWith("G-")&&S(t)})})}catch(t){}try{Array.isArray(t.dataLayer)&&t.dataLayer.forEach(function(t){Array.isArray(t)&&"config"===t[0]&&"string"==typeof t[1]?S(t[1]):null!=t&&t.send_to&&"string"==typeof t.send_to&&S(t.send_to)})}catch(t){}w.forEach(function(t){var e;e=(e=t).toUpperCase(),L.includes(e)||(L.push(e),(e.startsWith("G-")||e.startsWith("GT-"))&&(d.set("send_to",e),gtag("event",b,f()),k++))})}catch(t){}if(0===k&&"no"===E)if("undefined"!=typeof gtag)gtag("event",b,f());else if("undefined"!=typeof ga&&void 0!==ga.getAll){ga.getAll()[0].send("event",y,g,m)}else"undefined"!=typeof __gaTracker&&__gaTracker("send","event",y,g,m)}if("undefined"!=typeof dataLayer){if(s.gtm){var A=s.gtm_event_name||"Click to chat";A=i(A);var C={};C.event=A,Array.isArray(_.gtm_params)&&_.gtm_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=p(_,t);if(e&&"object"===c(e)){var n=i(e.key),r=i(e.value);h(n)&&v(C,n,r)}}}),dataLayer.push(C)}if(s.g_an_gtm){var P=e(e({},f()),{},{event:null!=b?b:"chat_click",ref:"dataLayer push ga admin values"});dataLayer.push(P)}}if(s.ads&&"undefined"!=typeof gtag_report_conversion&>ag_report_conversion(),s.fb&&"undefined"!=typeof fbq){var T=s.pixel_event_name&&""!==s.pixel_event_name?s.pixel_event_name:"Click to Chat by HoliThemes",I=_.pixel_event_type&&""!==_.pixel_event_type?_.pixel_event_type:"trackCustom",D=new Map;Array.isArray(_.pixel_params)&&_.pixel_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=p(_,t);if(e&&"object"===c(e)){var n=e.key,r=e.value;"string"==typeof n&&(n=i(n),r=i(r),h(n)&&D.set(n,r))}}}),s.ctc_pixel_event_id="",fbq(I,T,Object.fromEntries(D),{eventID:l})}}function D(e){n.dispatchEvent(new CustomEvent("ht_ctc_event_number",{detail:{ctc:s}}));var c=s.number,r=s.pre_filled;if(e.hasAttribute("data-number")&&""!==e.getAttribute("data-number")&&(c=e.getAttribute("data-number")),e.hasAttribute("data-pre_filled")){var a=e.getAttribute("data-pre_filled")||"";r=(s.prefix_pre_filled?s.prefix_pre_filled:"")+a}try{r=r.replaceAll("%","%25");var o=t.location.href;r=r.replace(/\[url]/gi,o),r=encodeURIComponent(decodeURI(r))}catch(t){}if(""!==c||s.custom_url_m&&""!==s.custom_url_m||s.custom_url_d&&""!==s.custom_url_d){var i="https://wa.me/"+c+"?text="+r,_=s.url_target_d?s.url_target_d:"_blank";"yes"===l?(s.url_structure_m&&"wa_colon"===s.url_structure_m&&(i="whatsapp://send?phone="+c+"&text="+r,_="_self"),s.custom_url_m&&""!==s.custom_url_m&&(i=s.custom_url_m)):(s.url_structure_d&&"web"===s.url_structure_d&&(i="https://web.whatsapp.com/send?phone="+c+"&text="+r),s.custom_url_d&&""!==s.custom_url_d&&(i=s.custom_url_d));var u="popup"===_?"scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=788,height=514,left=100,top=100":"noopener";t.open(i,_,u),s.chat_number=c,I(),function(t){var e=s&&s.hook_url;if(!e)return;var c,r={},a={};if(s.hook_v){if(r=void 0!==M?M:s.hook_v,!Array.isArray(r))return;var o={},i=1;r.forEach(function(t){v(o,"value"+i,t),i++}),s.hook_v=o}n.dispatchEvent(new CustomEvent("ht_ctc_event_hook",{detail:{ctc:s,number:t}})),r=s.hook_v,"json"===s.webhook_format?(a["Content-Type"]="application/json",c=JSON.stringify(r)):(a["Content-Type"]="application/x-www-form-urlencoded;charset=UTF-8",c=new URLSearchParams(r).toString());fetch(e,{method:"POST",headers:a,body:c}).then(function(t){}).catch(function(t){})}(c),T()}else if(s.no_number){var d=n.querySelector(".ctc-no-number-message");d&&(d.style.display="block")}}"undefined"!=typeof ht_ctc_chat_var&&(s=ht_ctc_chat_var),"undefined"!=typeof ht_ctc_variables&&(_=ht_ctc_variables),0===Object.keys(s).length||0===Object.keys(_).length?function(){var e=n.querySelector(".ht_ctc_chat_data");if(0===Object.keys(s).length&&e)try{var c=(null==e?void 0:e.getAttribute("data-settings"))||"";s=JSON.parse(c),t.ht_ctc_chat_var=s}catch(t){}0===Object.keys(_).length&&(_={g_an_event_name:"click to chat",pixel_event_name:"Click to Chat by HoliThemes",pixel_event_type:"trackCustom",g_an_params:["g_an_param_1","g_an_param_2","g_an_param_3"],g_an_param_1:{key:"number",value:"{number}"},g_an_param_2:{key:"title",value:"{title}"},g_an_param_3:{key:"url",value:"{url}"},pixel_params:["pixel_param_1","pixel_param_2","pixel_param_3","pixel_param_4"],pixel_param_1:{key:"Category",value:"Click to Chat for WhatsApp"},pixel_param_2:{key:"return_type",value:"chat"},pixel_param_3:{key:"ID",value:"{number}"},pixel_param_4:{key:"Title",value:"{title}"}},t.ht_ctc_variables=_);k()}():k();var M=s.hook_v?s.hook_v:""}r||function(){var t=n.querySelector(".ht_ctc_chat_greetings_box"),e=n.querySelector(".ht_ctc_greetings");t&&e&&(e.style.setProperty("pointer-events","none"),t.classList.add("ht_ctc_greetings_box"),t.style.removeProperty("display"),t.style.setProperty("pointer-events","auto"));var c=n.querySelector(".ht-ctc-chat .ht-ctc-cta-hover");c&&(c.classList.add("ht-ctc-opacity-hide"),c.style.removeProperty("display"))}(),"loading"!==n.readyState?a():n.addEventListener("DOMContentLoaded",a)}(window,document,r)})();1 (()=>{"use strict";function t(t,e){var n=Object.keys(t);if(Object.getOwnPropertySymbols){var c=Object.getOwnPropertySymbols(t);e&&(c=c.filter(function(e){return Object.getOwnPropertyDescriptor(t,e).enumerable})),n.push.apply(n,c)}return n}function e(e){for(var c=1;c<arguments.length;c++){var r=null!=arguments[c]?arguments[c]:{};c%2?t(Object(r),!0).forEach(function(t){n(e,t,r[t])}):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):t(Object(r)).forEach(function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))})}return e}function n(t,e,n){return(e=function(t){var e=function(t,e){if("object"!=c(t)||!t)return t;var n=t[Symbol.toPrimitive];if(void 0!==n){var r=n.call(t,e||"default");if("object"!=c(r))return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return("string"===e?String:Number)(t)}(t,"string");return"symbol"==c(e)?e:e+""}(e))in t?Object.defineProperty(t,e,{value:n,enumerable:!0,configurable:!0,writable:!0}):t[e]=n,t}function c(t){return c="function"==typeof Symbol&&"symbol"==typeof Symbol.iterator?function(t){return typeof t}:function(t){return t&&"function"==typeof Symbol&&t.constructor===Symbol&&t!==Symbol.prototype?"symbol":typeof t},c(t)}var r="undefined"!=typeof window&&"function"==typeof window.jQuery?window.jQuery:null;!function(t,n,r){function a(){var a=t.location.href,o=void 0!==n.title?n.title:"",i=n.querySelector(".ht-ctc-chat"),s={},_={};var l=function(){var t="",e=9999;try{t=navigator.userAgent||"",e=screen.width||9999}catch(t){}return/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(t)||e<=1025?"yes":"no"}(),u=new Map,d=["__proto__","prototype","constructor","__defineGetter__","__defineSetter__","__lookupGetter__","__lookupSetter__"],h=function(t){return!("string"!=typeof t||0===t.length||!/^[a-zA-Z0-9_-]+$/.test(t))&&!d.includes(t)};function v(t,e){var n=arguments.length>2&&void 0!==arguments[2]&&arguments[2];return t&&"object"===c(t)&&h(e)&&Object.prototype.hasOwnProperty.call(t,e)?t[e]:n}function f(t,e,n){return!(!t||"object"!==c(t)||!h(e))&&(t[e]=n,!0)}function p(){if(localStorage.getItem("ht_ctc_storage"))try{var t=JSON.parse(localStorage.getItem("ht_ctc_storage"));u=new Map(Object.entries(t||{}))}catch(t){u=new Map}else u=new Map}function y(t){return!(!h(t)||!u.has(t))&&u.get(t)}function g(t,e){if(p(),h(t)){u.set(t,e);var n=JSON.stringify(Object.fromEntries(u));localStorage.setItem("ht_ctc_storage",n)}}function m(t){return t instanceof Element?[t]:"string"==typeof t?Array.from(n.querySelectorAll(t)):[]}p();var b={show:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=m(t);if(r)return".ctc_opt_in"===t?void r(t).fadeOut(200).fadeIn(200).fadeOut(200).fadeIn(200):void r(t).show(e||void 0);o.forEach(function(t){c&&c.split(/\s+/).forEach(function(e){e.trim()&&t.classList.add(e.trim())}),a&&a.split(/\s+/).forEach(function(e){e.trim()&&t.classList.remove(e.trim())}),e?t.style.setProperty("--ht-ctc-el-duration","".concat(e,"ms")):t.style.removeProperty("--ht-ctc-el-duration"),n&&function(t,e){if(t&&e){"none"===t.style.display&&(t.style.display="");var n=e.split(/\s+/).filter(Boolean);n.forEach(function(e){t.classList.remove(e),t.offsetWidth,t.classList.add(e)});var c=function(){n.forEach(function(e){return t.classList.remove(e)}),t.removeEventListener("animationend",c),clearTimeout(r)},r=setTimeout(c,2e3);t.addEventListener("animationend",c)}}(t,n),c||a||e||n||(t.style.display="block")})},hide:function(t){var e=arguments.length>1&&void 0!==arguments[1]?arguments[1]:"",n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"",c=arguments.length>3&&void 0!==arguments[3]?arguments[3]:"",a=arguments.length>4&&void 0!==arguments[4]?arguments[4]:"",o=m(t);r?r(t).hide(e):o.forEach(function(t){c&&t.classList.add(c),a&&t.classList.remove(a),e?t.style.setProperty("--ht-ctc-el-duration","".concat(e,"ms")):t.style.removeProperty("--ht-ctc-el-duration"),n&&t.classList.add("ht-ctc-".concat(n)),c||a||e||n||(t.style.display="none")})}};function k(){n.dispatchEvent(new CustomEvent("ht_ctc_event_configure",{detail:{ctc:s,ctc_values:_}}));var t=n.querySelector(".ht_ctc_chat_data");t&&t.remove();var e={config:{ctc:s,ctc_values:_,is_mobile:l,url:a,post_title:o},api:{storage:{get:y,set:g,raw:u},ui:b,greetings:{open:S,close:x,closeAfterClick:L,initListeners:E,display:w},notifications:{display:C,stop:T},chat:{openLink:D,displaySettings:j},utils:{isSafeObjectKey:h,getSafeProperty:v,setSafeProperty:f}}};n.dispatchEvent(new CustomEvent("ht_ctc_event_init",{detail:e})),n.dispatchEvent(new CustomEvent("ht_ctc_event_settings",{detail:{ctc:s}})),function(){if(i){n.dispatchEvent(new CustomEvent("ht_ctc_event_chat")),j(i),i.addEventListener("click",function(){n.querySelector(".ht_ctc_chat_greetings_box")||D(i)}),E(),i&&i.addEventListener("click",function(t){if(t.target.closest(".ht_ctc_chat_greetings_box_link")){t.preventDefault();var e=n.querySelector("#ctc_opt");e?e.checked||y("g_optin")?(D(i),L()):b.show(".ctc_opt_in","","ht-ctc-fade-in","",""):(D(i),L()),n.dispatchEvent(new CustomEvent("ht_ctc_event_greetings"))}});var t=n.querySelector("#ctc_opt");t&&t.addEventListener("change",function(){t.checked&&(n.querySelector(".ctc_opt_in")&&b.hide(".ctc_opt_in",100),g("g_optin","y"),setTimeout(function(){D(i),L()},500))})}}(),n.addEventListener("click",function(t){var e=t.target.closest(".ht-ctc-sc-chat");e&&D(e)}),n.addEventListener("click",function(t){var e=t.target.closest(".ctc_chat, #ctc_chat");e&&(D(e),e.classList.contains("ctc_woo_place")&&t.preventDefault());var n=t.target.closest('[href="#ctc_chat"]');n&&(t.preventDefault(),D(n))})}function E(){if(i){var t=n.querySelector(".ht_ctc_chat_greetings_box");t&&i.addEventListener("click",function(e){e.target.closest(".ht_ctc_chat_style")&&(t.classList.contains("ctc_greetings_opened")?x("user_closed"):S("user_opened"))}),i.addEventListener("click",function(t){t.target.closest(".ctc_greetings_close_btn")&&x("user_closed")})}}function w(){var t=n.querySelector(".ht_ctc_chat_greetings_box");if(t){if(s.g_device){if("yes"!==l&&"mobile"===s.g_device)return void t.remove();if("yes"===l&&"desktop"===s.g_device)return void t.remove()}n.dispatchEvent(new CustomEvent("ht_ctc_event_after_chat_displayed",{detail:{ctc:s,greetings_open:S,greetings_close:x}})),s.g_init&&"user_closed"!==y("g_user_action")&&("default"===s.g_init?"yes"!==l&&S("init"):"open"===s.g_init&&S("init"));var e=n.querySelectorAll('.ctc_greetings, #ctc_greetings, .ctc_greetings_now, [href="#ctc_greetings"]');e.length>0&&e.forEach(function(t){t.addEventListener("click",function(t){t.preventDefault(),x("element"),S("element")})})}}function S(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"open";T();var e=n.querySelector(".ht-ctc-chat .ctc_cta_stick");e&&e.remove();var c=n.querySelector(".ht_ctc_chat_greetings_box");c&&(b.show(".ht_ctc_chat_greetings_box","init"===t?70:400,"","ht_ctc_greetings_box_open",""),c.classList.add("ctc_greetings_opened"),c.classList.remove("ctc_greetings_closed")),g("g_action",t),"user_opened"===t&&g("g_user_action",t),function(){if(!n.querySelector(".ctc_greetings_modal"))return;if(!n.querySelector(".ht_ctc_modal_backdrop")){var t=function(e){"Escape"===e.key&&(x("user_closed"),n.removeEventListener("keydown",t))},e=n.createElement("div");e.className="ht_ctc_modal_backdrop",n.body.appendChild(e),e.addEventListener("click",function(){x("user_closed")}),n.addEventListener("keydown",t)}}()}function L(){O(),setTimeout(function(){x("chat_clicked")},500)}function x(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"close";O(),"element"===t?b.hide(".ht_ctc_chat_greetings_box",70,"","ht-ctc-display-unset",""):b.hide(".ht_ctc_chat_greetings_box",400,"","","ht_ctc_greetings_box_open");var e=n.querySelector(".ht_ctc_chat_greetings_box");e&&(e.classList.add("ctc_greetings_closed"),e.classList.remove("ctc_greetings_opened")),g("g_action",t),"user_closed"===t&&g("g_user_action",t)}function O(){var t=n.querySelector(".ht_ctc_modal_backdrop");t&&t.remove()}function j(t){s.schedule&&"yes"===s.schedule?n.dispatchEvent(new CustomEvent("ht_ctc_event_display",{detail:{ctc:s,display_chat:q,ht_ctc_chat:t,online_content:P}})):(q(t),P())}function q(t){if("yes"===l){if("show"===s.dis_m){var e=n.querySelector(".ht_ctc_desktop_chat");e&&e.remove(),t.style.cssText=s.pos_m+s.css,s.side_m&&t.style.setProperty("--side",s.side_m),A(t)}}else if("show"===s.dis_d){var c=n.querySelector(".ht_ctc_mobile_chat");c&&c.remove(),t.style.cssText=s.pos_d+s.css,s.side_d&&t.style.setProperty("--side",s.side_d),A(t)}}function A(t){var e=s.se;e=parseInt(s.se),isNaN(e)?b.show(t,"","","ht-ctc-display-unset",""):b.show(t,e,"","ht-ctc-display-unset",""),w(),C(),function(t){var e=t.classList.contains("ht_ctc_entry_animation")?1200:120;setTimeout(function(){t.classList.add("ht_ctc_animation",s.ani)},e);var c=n.querySelector(".ht-ctc-chat"),r=n.querySelector(".ht-ctc-chat .ht-ctc-cta-hover");c&&r&&(c.addEventListener("mouseenter",function(){b.show(".ht-ctc-chat .ht-ctc-cta-hover",120,"","ht-ctc-cta-stick","ht-ctc-opacity-hide")}),c.addEventListener("mouseleave",function(){b.hide(".ht-ctc-chat .ht-ctc-cta-hover",100,"","ht-ctc-opacity-hide","ht-ctc-cta-stick")}))}(t)}function P(){n.querySelector(".for_greetings_header_image_badge")&&(n.querySelectorAll(".for_greetings_header_image_badge").forEach(function(t){t.classList.add("g_header_badge_online")}),b.show(".for_greetings_header_image_badge","","","ht-ctc-display-unset",""))}function C(){var t=n.querySelector(".ht_ctc_notification");if(t&&"stop"!==y("n_badge")){var e=n.querySelector(".ctc_nb");if(e){var c=e.closest(".ht_ctc_style"),r=n.querySelector(".ht_ctc_badge");if(c&&r){var a,o,i=null===(a=c.querySelector(".ctc_nb"))||void 0===a?void 0:a.getAttribute("data-nb_top"),_=null===(o=c.querySelector(".ctc_nb"))||void 0===o?void 0:o.getAttribute("data-nb_right");null!==i&&(r.style.top=i),null!==_&&(r.style.right=_)}}var l=s.n_time?1e3*s.n_time:150;setTimeout(function(){t.style.display=""},l)}}function T(){var t=n.querySelector(".ht_ctc_notification");t&&(g("n_badge","stop"),t.remove())}function I(r){if(s.analytics&&"session"===s.analytics){if(sessionStorage.getItem("ht_ctc_analytics"))return;sessionStorage.setItem("ht_ctc_analytics","done")}function i(e){var c=s.chat_number&&""!==s.chat_number?s.chat_number:s.number;try{n.dispatchEvent(new CustomEvent("ht_ctc_event_apply_variables",{detail:{templateString:e}})),e=(e=(e=(e=void 0!==t.apply_variables_value?t.apply_variables_value:e).replace("{number}",c)).replace("{title}",o)).replace("{url}",a)}catch(t){}return e}var l="event_"+Math.floor(1e4+9e4*Math.random());s.ctc_pixel_event_id=l,n.dispatchEvent(new CustomEvent("ht_ctc_event_analytics"));var u=s.chat_number&&""!==s.chat_number?s.chat_number:s.number,d=new Map,p=function(){return Object.fromEntries(d)},y="Click to Chat for WhatsApp",g="chat: "+u,m=o+", "+a;if(s.ga){var b=s.g_an_event_name&&""!==s.g_an_event_name?s.g_an_event_name:"click to chat";b=i(b),Array.isArray(_.g_an_params)&&_.g_an_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=v(_,t);if(e&&"object"===c(e)){var n=e.key,r=e.value;"string"==typeof n&&(n=i(n),r=i(r),h(n)&&d.set(n,r))}}});var k=0,E="no",w=[];if("undefined"!=typeof dataLayer)try{var S=function(t,e){t&&"string"==typeof t&&""!==t.trim()&&(w.includes(t)||w.push(t))};"undefined"==typeof gtag&&(t.gtag=function(){var t;(t=dataLayer).push.apply(t,arguments)},E="yes");var L=[];try{var x,O=null===(x=t.google_tag_data)||void 0===x?void 0:x.tidr;null!=O&&O.destination&&"object"===c(O.destination)&&Object.keys(O.destination).forEach(function(t){S(t)})}catch(t){}try{var j,q=null===(j=t.google_tag_data)||void 0===j||null===(j=j.tidr)||void 0===j?void 0:j.container;q&&"object"===c(q)&&Object.values(q).forEach(function(t){Array.isArray(t.destinations)&&t.destinations.forEach(function(t){"string"==typeof t&&t.startsWith("G-")&&S(t)})})}catch(t){}try{Array.isArray(t.dataLayer)&&t.dataLayer.forEach(function(t){Array.isArray(t)&&"config"===t[0]&&"string"==typeof t[1]?S(t[1]):null!=t&&t.send_to&&"string"==typeof t.send_to&&S(t.send_to)})}catch(t){}w.forEach(function(t){var e;e=(e=t).toUpperCase(),L.includes(e)||(L.push(e),(e.startsWith("G-")||e.startsWith("GT-"))&&(d.set("send_to",e),gtag("event",b,p()),k++))})}catch(t){}if(0===k&&"no"===E)if("undefined"!=typeof gtag)gtag("event",b,p());else if("undefined"!=typeof ga&&void 0!==ga.getAll){ga.getAll()[0].send("event",y,g,m)}else"undefined"!=typeof __gaTracker&&__gaTracker("send","event",y,g,m)}if("undefined"!=typeof dataLayer){if(s.gtm){var A=s.gtm_event_name||"Click to chat";A=i(A);var P={};P.event=A,Array.isArray(_.gtm_params)&&_.gtm_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=v(_,t);if(e&&"object"===c(e)){var n=i(e.key),r=i(e.value);h(n)&&f(P,n,r)}}}),dataLayer.push(P)}if(s.g_an_gtm){var C=e(e({},p()),{},{event:null!=b?b:"chat_click",ref:"dataLayer push ga admin values"});dataLayer.push(C)}}if(s.ads&&"undefined"!=typeof gtag_report_conversion&>ag_report_conversion(),s.fb&&"undefined"!=typeof fbq){var T=s.pixel_event_name&&""!==s.pixel_event_name?s.pixel_event_name:"Click to Chat by HoliThemes",I=_.pixel_event_type&&""!==_.pixel_event_type?_.pixel_event_type:"trackCustom",D=new Map;Array.isArray(_.pixel_params)&&_.pixel_params.forEach(function(t){if("string"==typeof t&&h(t)){var e=v(_,t);if(e&&"object"===c(e)){var n=e.key,r=e.value;"string"==typeof n&&(n=i(n),r=i(r),h(n)&&D.set(n,r))}}}),s.ctc_pixel_event_id="",fbq(I,T,Object.fromEntries(D),{eventID:l})}}function D(e){n.dispatchEvent(new CustomEvent("ht_ctc_event_number",{detail:{ctc:s}}));var r=s.number,a=s.pre_filled;if(e.hasAttribute("data-number")&&""!==e.getAttribute("data-number")&&(r=e.getAttribute("data-number")),e.hasAttribute("data-pre_filled")){var o=e.getAttribute("data-pre_filled")||"";a=(s.prefix_pre_filled?s.prefix_pre_filled:"")+o}try{a=a.replaceAll("%","%25");var i=t.location.href;a=a.replace(/\[url]/gi,i),a=encodeURIComponent(decodeURI(a))}catch(t){}if(""!==r||s.custom_url_m&&""!==s.custom_url_m||s.custom_url_d&&""!==s.custom_url_d){var _="https://wa.me/"+r+"?text="+a,u=s.url_target_d?s.url_target_d:"_blank";"yes"===l?(s.url_structure_m&&"wa_colon"===s.url_structure_m&&(_="whatsapp://send?phone="+r+"&text="+a,u="_self"),s.custom_url_m&&""!==s.custom_url_m&&(_=s.custom_url_m)):(s.url_structure_d&&"web"===s.url_structure_d&&(_="https://web.whatsapp.com/send?phone="+r+"&text="+a),s.custom_url_d&&""!==s.custom_url_d&&(_=s.custom_url_d));var d="popup"===u?"scrollbars=no,resizable=no,status=no,location=no,toolbar=no,menubar=no,width=788,height=514,left=100,top=100":"noopener";t.open(_,u,d),s.chat_number=r,I(),function(t){var e=s&&s.hook_url;if(!e)return;if(Array.isArray(M)){var r={};M.forEach(function(t,e){f(r,"value"+(e+1),t)}),s.hook_v=r}n.dispatchEvent(new CustomEvent("ht_ctc_event_hook",{detail:{ctc:s,number:t}}));var a,o=s.hook_v&&"object"===c(s.hook_v)?s.hook_v:{};s.hook_url&&(e=s.hook_url);var i="application/x-www-form-urlencoded;charset=UTF-8";if("json"===s.webhook_format){var _=new URLSearchParams;Object.keys(o).forEach(function(t){var e=v(o,t);_.append(t,"object"===c(e)?JSON.stringify(e):e)}),a=_.toString()}else a=new URLSearchParams(o).toString();fetch(e,{method:"POST",headers:{"Content-Type":i},body:a}).then(function(t){}).catch(function(t){})}(r),T()}else if(s.no_number){var h=n.querySelector(".ctc-no-number-message");h&&(h.style.display="block")}}"undefined"!=typeof ht_ctc_chat_var&&(s=ht_ctc_chat_var),"undefined"!=typeof ht_ctc_variables&&(_=ht_ctc_variables),0===Object.keys(s).length||0===Object.keys(_).length?function(){var e=n.querySelector(".ht_ctc_chat_data");if(0===Object.keys(s).length&&e)try{var c=(null==e?void 0:e.getAttribute("data-settings"))||"";s=JSON.parse(c),t.ht_ctc_chat_var=s}catch(t){}0===Object.keys(_).length&&(_={g_an_event_name:"click to chat",pixel_event_name:"Click to Chat by HoliThemes",pixel_event_type:"trackCustom",g_an_params:["g_an_param_1","g_an_param_2","g_an_param_3"],g_an_param_1:{key:"number",value:"{number}"},g_an_param_2:{key:"title",value:"{title}"},g_an_param_3:{key:"url",value:"{url}"},pixel_params:["pixel_param_1","pixel_param_2","pixel_param_3","pixel_param_4"],pixel_param_1:{key:"Category",value:"Click to Chat for WhatsApp"},pixel_param_2:{key:"return_type",value:"chat"},pixel_param_3:{key:"ID",value:"{number}"},pixel_param_4:{key:"Title",value:"{title}"}},t.ht_ctc_variables=_);k()}():k();var M=s.hook_v?s.hook_v:""}r||function(){var t=n.querySelector(".ht_ctc_chat_greetings_box"),e=n.querySelector(".ht_ctc_greetings");t&&e&&(e.style.setProperty("pointer-events","none"),t.classList.add("ht_ctc_greetings_box"),t.style.removeProperty("display"),t.style.setProperty("pointer-events","auto"));var c=n.querySelector(".ht-ctc-chat .ht-ctc-cta-hover");c&&(c.classList.add("ht-ctc-opacity-hide"),c.style.removeProperty("display"))}(),"loading"!==n.readyState?a():n.addEventListener("DOMContentLoaded",a)}(window,document,r)})(); -
click-to-chat-for-whatsapp/trunk/new/inc/assets/js/dev/app.dev.js
r3442197 r3452866 407 407 408 408 }; 409 410 // Build the payload for other scripts (pro.js, date.js, custom code, etc.)411 function buildHtCtcInitDetail () {412 413 // ---------------------------------------------414 // CONFIG (raw values)415 // ---------------------------------------------416 const config = {417 // version: '4.34',418 ctc: ctc, // main config from wp_localize_script419 ctc_values: ctc_values, // secondary config420 is_mobile: is_mobile,421 url: url,422 post_title: post_title,423 424 // storage: ht_ctc_storage,425 };426 427 // ---------------------------------------------428 // API (all most of functions)429 // ---------------------------------------------430 const api = {431 432 // --------------------------433 // Storage API434 // --------------------------435 storage: {436 get: ctc_getItem,437 set: ctc_setItem,438 raw: ht_ctc_storage,439 },440 441 // --------------------------442 // API (all most of functions)443 // --------------------------444 ui: ui, // ← unified UI system445 446 // --------------------------447 // Greetings system448 // --------------------------449 greetings: {450 open: greetings_open,451 close: greetings_close,452 closeAfterClick: greetings_close_500,453 initListeners: greetings,454 display: greetings_display,455 },456 457 // --------------------------458 // Notifications system459 // --------------------------460 notifications: {461 display: display_notifications,462 stop: stop_notification_badge,463 },464 465 // --------------------------466 // Chat functions467 // --------------------------468 chat: {469 openLink: ht_ctc_link,470 displaySettings: display_settings,471 },472 473 // --------------------------474 // Utility functions475 // --------------------------476 utils: {477 isSafeObjectKey,478 getSafeProperty,479 setSafeProperty,480 481 // timeOnWp: time_on_wordpress,482 // applyVariables: apply_variables,483 },484 };485 486 // // an event listener so that other scripts can access config + api together and update if needed487 // this.dispatchEvent(new CustomEvent('ht_ctc_event_build_config', {488 // detail: {489 // config,490 // api,491 // }492 // }));493 494 return {495 config,496 api,497 };498 }499 409 500 410 // Initialize plugin configuration containers … … 702 612 // } 703 613 // } 614 615 // Build the payload for other scripts (pro.js, date.js, custom code, etc.) 616 function buildHtCtcInitDetail () { 617 618 // --------------------------------------------- 619 // CONFIG (raw values) 620 // --------------------------------------------- 621 const config = { 622 // version: '4.34', 623 ctc: ctc, // main config from wp_localize_script 624 ctc_values: ctc_values, // secondary config 625 is_mobile: is_mobile, 626 url: url, 627 post_title: post_title, 628 629 // storage: ht_ctc_storage, 630 }; 631 632 // --------------------------------------------- 633 // API (all most of functions) 634 // --------------------------------------------- 635 const api = { 636 637 // -------------------------- 638 // Storage API 639 // -------------------------- 640 storage: { 641 get: ctc_getItem, 642 set: ctc_setItem, 643 raw: ht_ctc_storage, 644 }, 645 646 // -------------------------- 647 // API (all most of functions) 648 // -------------------------- 649 ui: ui, // ← unified UI system 650 651 // -------------------------- 652 // Greetings system 653 // -------------------------- 654 greetings: { 655 open: greetings_open, 656 close: greetings_close, 657 closeAfterClick: greetings_close_500, 658 initListeners: greetings, 659 display: greetings_display, 660 }, 661 662 // -------------------------- 663 // Notifications system 664 // -------------------------- 665 notifications: { 666 display: display_notifications, 667 stop: stop_notification_badge, 668 }, 669 670 // -------------------------- 671 // Chat functions 672 // -------------------------- 673 chat: { 674 openLink: ht_ctc_link, 675 displaySettings: display_settings, 676 }, 677 678 // -------------------------- 679 // Utility functions 680 // -------------------------- 681 utils: { 682 isSafeObjectKey, 683 getSafeProperty, 684 setSafeProperty, 685 686 // timeOnWp: time_on_wordpress, 687 // applyVariables: apply_variables, 688 }, 689 }; 690 691 // // an event listener so that other scripts can access config + api together and update if needed 692 // this.dispatchEvent(new CustomEvent('ht_ctc_event_build_config', { 693 // detail: { 694 // config, 695 // api, 696 // } 697 // })); 698 699 return { 700 config, 701 api, 702 }; 703 } 704 704 705 705 // Initialize the plugin after settings are loaded … … 2101 2101 function hook ( number ) { 2102 2102 console.log( 'hook' ); 2103 console.log( 'g_hook_v : ' +g_hook_v );2103 console.log( 'g_hook_v, typeof:', g_hook_v, typeof g_hook_v ); 2104 2104 2105 2105 var h_url = ctc && ctc.hook_url; … … 2110 2110 } 2111 2111 2112 let hook_values = {}; 2113 const headers = {}; 2114 2115 // Check if the hook values are defined 2116 if ( ctc.hook_v ) { 2117 hook_values = ( typeof g_hook_v !== 'undefined' ) ? g_hook_v : ctc.hook_v; 2118 2119 // var hook_values = ctc.hook_v; 2120 2121 console.log( typeof hook_values ); 2122 console.log( hook_values ); 2123 2124 if ( ! Array.isArray( hook_values ) ) { 2125 console.error( 'hook_v must be an array!', hook_values ); 2126 return; 2127 } 2112 // Reset ctc.hook_v to the pair-value object derived from the original array 2113 // This ensures a fresh start for each click (avoiding processed values carrying over incorrectly) 2114 if ( Array.isArray( g_hook_v ) ) { 2128 2115 2129 2116 const pair_values = {}; 2130 let i = 1; 2131 2132 // Loop through the hook values and assign them to pair_values 2133 hook_values.forEach( ( val ) => { 2134 console.log( i ); 2135 console.log( val ); 2136 2137 // pair_values[ 'value' + i ] = val; 2138 setSafeProperty( pair_values, 'value' + i, val ); 2139 i++; 2117 2118 g_hook_v.forEach( ( val, index ) => { 2119 // pair_values[ 'value' + (index + 1) ] = val; 2120 setSafeProperty( pair_values, 'value' + ( index + 1 ), val ); 2140 2121 } ); 2141 2122 2142 console.log( typeof pair_values ); 2143 console.log( pair_values ); 2144 2123 // Update ctc.hook_v so it's available in the event 2145 2124 ctc.hook_v = pair_values; 2146 2125 } … … 2151 2130 ) ); 2152 2131 2153 hook_values = ctc.hook_v; 2154 2155 console.log( h_url ); 2156 console.log( hook_values ); 2132 // Use the values from ctc (which may have been modified by early/using eventlistners) 2133 // var hook_values = ctc.hook_v || {}; 2134 var hook_values = ( ctc.hook_v && typeof ctc.hook_v === 'object' ) ? ctc.hook_v : {}; 2135 2136 // Update URL might be modified by eventlistners 2137 if ( ctc.hook_url ) { 2138 h_url = ctc.hook_url; 2139 } 2140 2141 console.log( 'Webhook URL:', h_url ); 2142 console.log( 'Webhook Values:', hook_values ); 2157 2143 2158 2144 // Format data for webhook 2159 2145 let data; 2160 2161 if ( ctc.webhook_format === 'json' ) { 2162 console.log( 'main hook: json' ); 2163 headers[ 'Content-Type' ] = 'application/json'; 2164 data = JSON.stringify( hook_values ); 2146 const contentType = 'application/x-www-form-urlencoded;charset=UTF-8'; 2147 2148 // To solve CORS error: Use form-urlencoded even for 'json' format 2149 // This makes it a "simple request" and avoids the preflight check. 2150 if ( 'json' === ctc.webhook_format ) { 2151 console.log( 'main hook: json (sending as form-urlencoded to match jQuery/avoid preflight)' ); 2152 2153 // Convert to search params 2154 var params = new URLSearchParams(); 2155 Object.keys( hook_values ) 2156 .forEach( ( key ) => { 2157 // params.append( key, hook_values[ key ] ); 2158 // hook_values[ key ] 2159 const hookVal = getSafeProperty( hook_values, key ); 2160 2161 // Convert objects/arrays to string if needed 2162 params.append( key, ( typeof hookVal === 'object' ) ? JSON.stringify( hookVal ) : hookVal ); 2163 } ); 2164 2165 // todo: test well.. 2166 // data = params; 2167 data = params.toString(); 2165 2168 } else { 2166 console.log( 'main hook: string (URL encoded)' ); 2167 2168 // headers[ 'Content-Type' ] = 'text/plain'; 2169 // data = JSON.stringify( hook_values ); 2170 headers[ 'Content-Type' ] = 'application/x-www-form-urlencoded;charset=UTF-8'; 2169 // Default fallback 2170 console.log( 'main hook: string' ); 2171 2172 // data = JSON.stringify(hook_values); 2171 2173 data = new URLSearchParams( hook_values ) 2172 2174 .toString(); … … 2181 2183 2182 2184 // mode: 'no-cors', 2183 headers: headers, 2185 headers: { 2186 'Content-Type': contentType, 2187 }, 2184 2188 body: data, 2185 2189 } ) … … 2192 2196 } 2193 2197 2194 } ;2198 } 2195 2199 2196 2200 function onReady () { -
click-to-chat-for-whatsapp/trunk/readme.txt
r3442197 r3452866 4 4 Requires PHP: 5.6 5 5 Contributors: HoliThemes 6 Stable tag: 4.3 66 Stable tag: 4.37 7 7 Tags: whatsapp, whatsapp business, click to chat, whatsapp chat, WooCommerce WhatsApp 8 8 License: GPLv2 or later … … 542 542 == Changelog == 543 543 544 = 4.37 = 545 * Fix: Webhook not working with some integration tools. 546 544 547 = 4.36 = 545 548 * Enhancement: Google Analytics feature.
Note: See TracChangeset
for help on using the changeset viewer.