Changeset 3407069
- Timestamp:
- 12/01/2025 05:09:09 PM (4 months ago)
- Location:
- bettercx-widget
- Files:
-
- 26 added
- 6 edited
- 21 copied
-
tags/1.0.7 (copied) (copied from bettercx-widget/trunk)
-
tags/1.0.7/assets/bettercx-widget.esm.js (copied) (copied from bettercx-widget/trunk/assets/bettercx-widget.esm.js) (1 diff)
-
tags/1.0.7/assets/bettercx-widget.js (modified) (1 diff)
-
tags/1.0.7/assets/index.esm.js (copied) (copied from bettercx-widget/trunk/assets/index.esm.js) (1 diff)
-
tags/1.0.7/assets/p-3b907399.system.entry.js (added)
-
tags/1.0.7/assets/p-43f268bb.entry.js (copied) (copied from bettercx-widget/trunk/assets/p-43f268bb.entry.js)
-
tags/1.0.7/assets/p-65e11e89.entry.js (copied) (copied from bettercx-widget/trunk/assets/p-65e11e89.entry.js)
-
tags/1.0.7/assets/p-72aa52b9.entry.js (added)
-
tags/1.0.7/assets/p-887c5563.system.entry.js (copied) (copied from bettercx-widget/trunk/assets/p-887c5563.system.entry.js)
-
tags/1.0.7/assets/p-B7XTg7r_.system.js (copied) (copied from bettercx-widget/trunk/assets/p-B7XTg7r_.system.js)
-
tags/1.0.7/assets/p-BU1bGO0l.js (added)
-
tags/1.0.7/assets/p-Be7T8ATp.js (copied) (copied from bettercx-widget/trunk/assets/p-Be7T8ATp.js)
-
tags/1.0.7/assets/p-BnsX22WT.js (added)
-
tags/1.0.7/assets/p-BxBqyhWA.system.js (copied) (copied from bettercx-widget/trunk/assets/p-BxBqyhWA.system.js)
-
tags/1.0.7/assets/p-C_NDxfuU.js (copied) (copied from bettercx-widget/trunk/assets/p-C_NDxfuU.js)
-
tags/1.0.7/assets/p-Cbgoi924.system.js (added)
-
tags/1.0.7/assets/p-CnS1xje7.system.js (added)
-
tags/1.0.7/assets/p-DHSoJoxm.system.js (copied) (copied from bettercx-widget/trunk/assets/p-DHSoJoxm.system.js)
-
tags/1.0.7/assets/p-DUC3FSL1.js (added)
-
tags/1.0.7/assets/p-KzFxM0_g.system.js (added)
-
tags/1.0.7/assets/p-N-gVfPlF.system.js (added)
-
tags/1.0.7/assets/p-V8up-zPo.system.js (added)
-
tags/1.0.7/assets/p-b1c0a8b9.entry.js (added)
-
tags/1.0.7/assets/p-ba1adebc.system.entry.js (copied) (copied from bettercx-widget/trunk/assets/p-ba1adebc.system.entry.js)
-
tags/1.0.7/assets/p-bf358854.js (added)
-
tags/1.0.7/assets/p-cf8b0458.system.entry.js (added)
-
tags/1.0.7/assets/p-w4c8J7H6.system.js (copied) (copied from bettercx-widget/trunk/assets/p-w4c8J7H6.system.js)
-
tags/1.0.7/assets/p-zbQHIKau.system.js (copied) (copied from bettercx-widget/trunk/assets/p-zbQHIKau.system.js)
-
tags/1.0.7/bettercx-widget.php (copied) (copied from bettercx-widget/trunk/bettercx-widget.php) (12 diffs)
-
tags/1.0.7/readme.txt (copied) (copied from bettercx-widget/trunk/readme.txt) (5 diffs)
-
tags/1.0.7/src/components/bcx-product-slider/bcx-product-slider.tsx (copied) (copied from bettercx-widget/trunk/src/components/bcx-product-slider/bcx-product-slider.tsx)
-
tags/1.0.7/src/components/bettercx-widget/bettercx-widget.scss (copied) (copied from bettercx-widget/trunk/src/components/bettercx-widget/bettercx-widget.scss)
-
tags/1.0.7/src/components/bettercx-widget/bettercx-widget.tsx (copied) (copied from bettercx-widget/trunk/src/components/bettercx-widget/bettercx-widget.tsx)
-
tags/1.0.7/src/types/api.ts (copied) (copied from bettercx-widget/trunk/src/types/api.ts)
-
tags/1.0.7/src/utils/product-parser.ts (copied) (copied from bettercx-widget/trunk/src/utils/product-parser.ts)
-
trunk/assets/bettercx-widget.esm.js (modified) (1 diff)
-
trunk/assets/bettercx-widget.js (modified) (1 diff)
-
trunk/assets/index.esm.js (modified) (1 diff)
-
trunk/assets/p-3b907399.system.entry.js (added)
-
trunk/assets/p-72aa52b9.entry.js (added)
-
trunk/assets/p-BU1bGO0l.js (added)
-
trunk/assets/p-BnsX22WT.js (added)
-
trunk/assets/p-Cbgoi924.system.js (added)
-
trunk/assets/p-CnS1xje7.system.js (added)
-
trunk/assets/p-DUC3FSL1.js (added)
-
trunk/assets/p-KzFxM0_g.system.js (added)
-
trunk/assets/p-N-gVfPlF.system.js (added)
-
trunk/assets/p-V8up-zPo.system.js (added)
-
trunk/assets/p-b1c0a8b9.entry.js (added)
-
trunk/assets/p-bf358854.js (added)
-
trunk/assets/p-cf8b0458.system.entry.js (added)
-
trunk/bettercx-widget.php (modified) (12 diffs)
-
trunk/readme.txt (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
bettercx-widget/tags/1.0.7/assets/bettercx-widget.esm.js
r3402632 r3407069 1 import{p as e,g as a,b as t}from"./p-BTuzHDoC.js";export{s as setNonce}from"./p-BTuzHDoC.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),t([["p-73aa3697",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-43f268bb",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],state:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));1 import{p as e,g as a,b as n}from"./p-BnsX22WT.js";export{s as setNonce}from"./p-BnsX22WT.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),n([["p-72aa52b9",[[257,"bcx-chat-list",{apiService:[16,"api-service"],language:[1],theme:[1],chats:[32],selectedChatId:[32],messages:[32],isLoading:[32],isLoadingMore:[32],hasMore:[32],currentPage:[32],error:[32]},null,{language:["onLanguageChange"]}],[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],theme:[1],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-b1c0a8b9",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],embedded:[4],state:[32],timeUpdateTrigger:[32],isDropdownOpen:[32],isFullscreen:[32],showChatList:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"],theme:["onThemeChange"],language:["onLanguageChange"]}]]]],e)))); -
bettercx-widget/tags/1.0.7/assets/bettercx-widget.js
r3374403 r3407069 118 118 var start = function() { 119 119 // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL 120 var url = new URL('./p- B7XTg7r_.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));120 var url = new URL('./p-V8up-zPo.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined)); 121 121 System.import(url.href); 122 122 }; -
bettercx-widget/tags/1.0.7/assets/index.esm.js
r3402632 r3407069 1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p- Be7T8ATp.js";import"./p-BTuzHDoC.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-DUC3FSL1.js";import"./p-BnsX22WT.js";import"./p-BU1bGO0l.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format} -
bettercx-widget/tags/1.0.7/bettercx-widget.php
r3402632 r3407069 4 4 * Plugin URI: https://wordpress.org/plugins/bettercx-widget/ 5 5 * Description: Professional AI-powered chat widget for BetterCX platform. Seamlessly integrate intelligent customer support into any website with full WordPress compatibility. Fully functional out of the box with no trial limitations. 6 * Version: 1.0. 66 * Version: 1.0.7 7 7 * Author: BetterCX 8 8 * Author URI: https://bettercx.ai … … 16 16 * 17 17 * @package BetterCX_Widget 18 * @version 1.0. 618 * @version 1.0.7 19 19 * @author BetterCX 20 20 * @license GPLv2+ … … 37 37 38 38 // Define plugin constants 39 define('BETTERCX_WIDGET_VERSION', '1.0. 6');39 define('BETTERCX_WIDGET_VERSION', '1.0.7'); 40 40 define('BETTERCX_WIDGET_PLUGIN_FILE', __FILE__); 41 41 define('BETTERCX_WIDGET_PLUGIN_DIR', plugin_dir_path(__FILE__)); … … 166 166 'theme' => 'auto', 167 167 'position' => 'right', 168 'language' => 'auto', 169 'embedded' => false, 168 170 'debug' => false, 169 171 'auto_init' => true, … … 237 239 'theme' => sanitize_text_field($this->settings['theme']), 238 240 'position' => sanitize_text_field($this->settings['position']), 241 'language' => sanitize_text_field($this->settings['language']), 242 'embedded' => (bool) $this->settings['embedded'], 239 243 'debug' => (bool) $this->settings['debug'], 240 244 'autoInit' => (bool) $this->settings['auto_init'], … … 398 402 399 403 add_settings_field( 404 'language', 405 __('Language', 'bettercx-widget'), 406 array($this, 'language_field_callback'), 407 'bettercx-widget', 408 'bettercx_widget_appearance' 409 ); 410 411 add_settings_field( 400 412 'show_credits', 401 413 __('Show Credits', 'bettercx-widget'), … … 418 430 __('Auto Initialize', 'bettercx-widget'), 419 431 array($this, 'auto_init_field_callback'), 432 'bettercx-widget', 433 'bettercx_widget_advanced' 434 ); 435 436 add_settings_field( 437 'embedded', 438 __('Embedded Mode', 'bettercx-widget'), 439 array($this, 'embedded_field_callback'), 420 440 'bettercx-widget', 421 441 'bettercx_widget_advanced' … … 503 523 } 504 524 525 if (isset($input['language'])) { 526 $allowed_languages = array('auto', 'pl', 'en'); 527 $sanitized['language'] = in_array($input['language'], $allowed_languages) ? $input['language'] : 'auto'; 528 } 529 530 $sanitized['embedded'] = isset($input['embedded']) ? (bool) $input['embedded'] : false; 505 531 $sanitized['debug'] = isset($input['debug']) ? (bool) $input['debug'] : false; 506 532 $sanitized['auto_init'] = isset($input['auto_init']) ? (bool) $input['auto_init'] : true; … … 538 564 'theme' => $this->settings['theme'], 539 565 'position' => $this->settings['position'], 566 'language' => $this->settings['language'], 567 'embedded' => $this->settings['embedded'] ? 'true' : 'false', 540 568 'debug' => $this->settings['debug'] ? 'true' : 'false', 541 569 'auto_init' => $this->settings['auto_init'] ? 'true' : 'false', … … 617 645 'theme' => true, 618 646 'position' => true, 647 'language' => true, 648 'embedded' => true, 619 649 'debug' => true, 620 650 'auto-init' => true, … … 859 889 } 860 890 891 public function language_field_callback() { 892 $value = isset($this->settings['language']) ? $this->settings['language'] : 'auto'; 893 $languages = array( 894 'auto' => esc_html__('Auto (detect from website)', 'bettercx-widget'), 895 'pl' => esc_html__('Polish', 'bettercx-widget'), 896 'en' => esc_html__('English', 'bettercx-widget'), 897 ); 898 899 echo '<select name="bettercx_widget_settings[language]">'; 900 foreach ($languages as $key => $label) { 901 echo '<option value="' . esc_attr($key) . '" ' . selected($value, $key, false) . '>' . esc_html($label) . '</option>'; 902 } 903 echo '</select>'; 904 echo '<p class="description">' . esc_html__('Select the language for the widget interface.', 'bettercx-widget') . '</p>'; 905 } 906 861 907 public function show_credits_field_callback() { 862 908 $value = isset($this->settings['show_credits']) ? $this->settings['show_credits'] : false; … … 875 921 echo '<input type="checkbox" name="bettercx_widget_settings[auto_init]" value="1" ' . checked($value, true, false) . ' />'; 876 922 echo '<p class="description">' . esc_html__('Automatically initialize the widget when the page loads.', 'bettercx-widget') . '</p>'; 923 } 924 925 public function embedded_field_callback() { 926 $value = isset($this->settings['embedded']) ? $this->settings['embedded'] : false; 927 echo '<input type="checkbox" name="bettercx_widget_settings[embedded]" value="1" ' . checked($value, true, false) . ' />'; 928 echo '<p class="description">' . esc_html__('Enable embedded mode for iframe or embedded contexts.', 'bettercx-widget') . '</p>'; 877 929 } 878 930 -
bettercx-widget/tags/1.0.7/readme.txt
r3402632 r3407069 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 67 Stable tag: 1.0.7 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 244 244 245 245 == Changelog == 246 247 = 1.0.7 = 248 * Added support for language prop (auto, pl, en) with automatic detection 249 * Added support for embedded mode prop for iframe/embedded contexts 250 * Updated all widget props to match latest Stencil component implementation 251 * Enhanced admin panel with language and embedded mode settings 252 * Improved widget configuration and prop handling 246 253 247 254 = 1.0.6 = … … 311 318 == Upgrade Notice == 312 319 320 = 1.0.7 = 321 Update: Added language and embedded mode support. All widget props now fully implemented and configurable through admin panel. 322 313 323 = 1.0.6 = 314 324 Important update: Enhanced trigger messages system with URL-based matching. Fixed mobile and desktop click issues on the ping message close button. Improved overall reliability and user experience. … … 561 571 562 572 = Version = 563 1.0. 6573 1.0.7 564 574 565 575 = Minimum WordPress Version = … … 576 586 577 587 = Stable Tag = 578 1.0. 6588 1.0.7 579 589 580 590 = Development Version = 581 1.0. 6591 1.0.7 582 592 583 593 = Requires at least = -
bettercx-widget/trunk/assets/bettercx-widget.esm.js
r3402632 r3407069 1 import{p as e,g as a,b as t}from"./p-BTuzHDoC.js";export{s as setNonce}from"./p-BTuzHDoC.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),t([["p-73aa3697",[[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-43f268bb",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],state:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"]}]]]],e))));1 import{p as e,g as a,b as n}from"./p-BnsX22WT.js";export{s as setNonce}from"./p-BnsX22WT.js";(()=>{const a=import.meta.url,s={};return""!==a&&(s.resourcesUrl=new URL(".",a).href),e(s)})().then((async e=>(await a(),n([["p-72aa52b9",[[257,"bcx-chat-list",{apiService:[16,"api-service"],language:[1],theme:[1],chats:[32],selectedChatId:[32],messages:[32],isLoading:[32],isLoadingMore:[32],hasMore:[32],currentPage:[32],error:[32]},null,{language:["onLanguageChange"]}],[257,"bcx-message-composer",{disabled:[4],loading:[4],placeholder:[1],maxLength:[2,"max-length"],theme:[1],message:[32],images:[32]}],[257,"bcx-product-slider",{products:[16],language:[1],showAfterStreaming:[4,"show-after-streaming"],currentIndex:[32],isVisible:[32]},null,{products:["onProductsChange"],showAfterStreaming:["onShowAfterStreamingChange"]}]]],["p-b1c0a8b9",[[257,"bettercx-widget",{publicKey:[1,"public-key"],theme:[1],debug:[4],baseUrl:[1,"base-url"],aiServiceUrl:[1,"ai-service-url"],autoInit:[4,"auto-init"],position:[1],language:[1],embedded:[4],state:[32],timeUpdateTrigger:[32],isDropdownOpen:[32],isFullscreen:[32],showChatList:[32],open:[64],close:[64],toggle:[64],sendMessage:[64]},null,{publicKey:["onPublicKeyChange"],theme:["onThemeChange"],language:["onLanguageChange"]}]]]],e)))); -
bettercx-widget/trunk/assets/bettercx-widget.js
r3374403 r3407069 118 118 var start = function() { 119 119 // if src is not present then origin is "null", and new URL() throws TypeError: Failed to construct 'URL': Invalid base URL 120 var url = new URL('./p- B7XTg7r_.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined));120 var url = new URL('./p-V8up-zPo.system.js', new URL(resourcesUrl, window.location.origin !== 'null' ? window.location.origin : undefined)); 121 121 System.import(url.href); 122 122 }; -
bettercx-widget/trunk/assets/index.esm.js
r3402632 r3407069 1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p- Be7T8ATp.js";import"./p-BTuzHDoC.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format}1 export{a as ApiService,A as AuthService,B as BetterCXWidget,T as ThemeService}from"./p-DUC3FSL1.js";import"./p-BnsX22WT.js";import"./p-BU1bGO0l.js";function e(e,r,t){return(e||"")+(r?` ${r}`:"")+(t?` ${t}`:"")}export{e as format} -
bettercx-widget/trunk/bettercx-widget.php
r3402632 r3407069 4 4 * Plugin URI: https://wordpress.org/plugins/bettercx-widget/ 5 5 * Description: Professional AI-powered chat widget for BetterCX platform. Seamlessly integrate intelligent customer support into any website with full WordPress compatibility. Fully functional out of the box with no trial limitations. 6 * Version: 1.0. 66 * Version: 1.0.7 7 7 * Author: BetterCX 8 8 * Author URI: https://bettercx.ai … … 16 16 * 17 17 * @package BetterCX_Widget 18 * @version 1.0. 618 * @version 1.0.7 19 19 * @author BetterCX 20 20 * @license GPLv2+ … … 37 37 38 38 // Define plugin constants 39 define('BETTERCX_WIDGET_VERSION', '1.0. 6');39 define('BETTERCX_WIDGET_VERSION', '1.0.7'); 40 40 define('BETTERCX_WIDGET_PLUGIN_FILE', __FILE__); 41 41 define('BETTERCX_WIDGET_PLUGIN_DIR', plugin_dir_path(__FILE__)); … … 166 166 'theme' => 'auto', 167 167 'position' => 'right', 168 'language' => 'auto', 169 'embedded' => false, 168 170 'debug' => false, 169 171 'auto_init' => true, … … 237 239 'theme' => sanitize_text_field($this->settings['theme']), 238 240 'position' => sanitize_text_field($this->settings['position']), 241 'language' => sanitize_text_field($this->settings['language']), 242 'embedded' => (bool) $this->settings['embedded'], 239 243 'debug' => (bool) $this->settings['debug'], 240 244 'autoInit' => (bool) $this->settings['auto_init'], … … 398 402 399 403 add_settings_field( 404 'language', 405 __('Language', 'bettercx-widget'), 406 array($this, 'language_field_callback'), 407 'bettercx-widget', 408 'bettercx_widget_appearance' 409 ); 410 411 add_settings_field( 400 412 'show_credits', 401 413 __('Show Credits', 'bettercx-widget'), … … 418 430 __('Auto Initialize', 'bettercx-widget'), 419 431 array($this, 'auto_init_field_callback'), 432 'bettercx-widget', 433 'bettercx_widget_advanced' 434 ); 435 436 add_settings_field( 437 'embedded', 438 __('Embedded Mode', 'bettercx-widget'), 439 array($this, 'embedded_field_callback'), 420 440 'bettercx-widget', 421 441 'bettercx_widget_advanced' … … 503 523 } 504 524 525 if (isset($input['language'])) { 526 $allowed_languages = array('auto', 'pl', 'en'); 527 $sanitized['language'] = in_array($input['language'], $allowed_languages) ? $input['language'] : 'auto'; 528 } 529 530 $sanitized['embedded'] = isset($input['embedded']) ? (bool) $input['embedded'] : false; 505 531 $sanitized['debug'] = isset($input['debug']) ? (bool) $input['debug'] : false; 506 532 $sanitized['auto_init'] = isset($input['auto_init']) ? (bool) $input['auto_init'] : true; … … 538 564 'theme' => $this->settings['theme'], 539 565 'position' => $this->settings['position'], 566 'language' => $this->settings['language'], 567 'embedded' => $this->settings['embedded'] ? 'true' : 'false', 540 568 'debug' => $this->settings['debug'] ? 'true' : 'false', 541 569 'auto_init' => $this->settings['auto_init'] ? 'true' : 'false', … … 617 645 'theme' => true, 618 646 'position' => true, 647 'language' => true, 648 'embedded' => true, 619 649 'debug' => true, 620 650 'auto-init' => true, … … 859 889 } 860 890 891 public function language_field_callback() { 892 $value = isset($this->settings['language']) ? $this->settings['language'] : 'auto'; 893 $languages = array( 894 'auto' => esc_html__('Auto (detect from website)', 'bettercx-widget'), 895 'pl' => esc_html__('Polish', 'bettercx-widget'), 896 'en' => esc_html__('English', 'bettercx-widget'), 897 ); 898 899 echo '<select name="bettercx_widget_settings[language]">'; 900 foreach ($languages as $key => $label) { 901 echo '<option value="' . esc_attr($key) . '" ' . selected($value, $key, false) . '>' . esc_html($label) . '</option>'; 902 } 903 echo '</select>'; 904 echo '<p class="description">' . esc_html__('Select the language for the widget interface.', 'bettercx-widget') . '</p>'; 905 } 906 861 907 public function show_credits_field_callback() { 862 908 $value = isset($this->settings['show_credits']) ? $this->settings['show_credits'] : false; … … 875 921 echo '<input type="checkbox" name="bettercx_widget_settings[auto_init]" value="1" ' . checked($value, true, false) . ' />'; 876 922 echo '<p class="description">' . esc_html__('Automatically initialize the widget when the page loads.', 'bettercx-widget') . '</p>'; 923 } 924 925 public function embedded_field_callback() { 926 $value = isset($this->settings['embedded']) ? $this->settings['embedded'] : false; 927 echo '<input type="checkbox" name="bettercx_widget_settings[embedded]" value="1" ' . checked($value, true, false) . ' />'; 928 echo '<p class="description">' . esc_html__('Enable embedded mode for iframe or embedded contexts.', 'bettercx-widget') . '</p>'; 877 929 } 878 930 -
bettercx-widget/trunk/readme.txt
r3402632 r3407069 5 5 Tested up to: 6.8 6 6 Requires PHP: 7.4 7 Stable tag: 1.0. 67 Stable tag: 1.0.7 8 8 License: GPLv2 or later 9 9 License URI: https://www.gnu.org/licenses/gpl-2.0.html … … 244 244 245 245 == Changelog == 246 247 = 1.0.7 = 248 * Added support for language prop (auto, pl, en) with automatic detection 249 * Added support for embedded mode prop for iframe/embedded contexts 250 * Updated all widget props to match latest Stencil component implementation 251 * Enhanced admin panel with language and embedded mode settings 252 * Improved widget configuration and prop handling 246 253 247 254 = 1.0.6 = … … 311 318 == Upgrade Notice == 312 319 320 = 1.0.7 = 321 Update: Added language and embedded mode support. All widget props now fully implemented and configurable through admin panel. 322 313 323 = 1.0.6 = 314 324 Important update: Enhanced trigger messages system with URL-based matching. Fixed mobile and desktop click issues on the ping message close button. Improved overall reliability and user experience. … … 561 571 562 572 = Version = 563 1.0. 6573 1.0.7 564 574 565 575 = Minimum WordPress Version = … … 576 586 577 587 = Stable Tag = 578 1.0. 6588 1.0.7 579 589 580 590 = Development Version = 581 1.0. 6591 1.0.7 582 592 583 593 = Requires at least =
Note: See TracChangeset
for help on using the changeset viewer.