Changeset 3407480
- Timestamp:
- 12/02/2025 03:13:39 AM (3 months ago)
- Location:
- jemdy-product-builder/trunk
- Files:
-
- 7 added
- 6 edited
-
assets/dist/jemdy-product-builder/.vite (added)
-
assets/dist/jemdy-product-builder/.vite/manifest.json (added)
-
assets/dist/jemdy-product-builder/block-builder-form-DxDqwlTZ.js (added)
-
assets/dist/jemdy-product-builder/client-CnUgXlRi.css (added)
-
assets/dist/jemdy-product-builder/client-DOsOE5t1.js (added)
-
assets/dist/jemdy-product-builder/page-manager-DOJZQ8Vp.js (added)
-
jemdy-product-builder.php (modified) (3 diffs)
-
readme.txt (modified) (3 diffs)
-
src/Engine/BuilderFormShortcode.php (modified) (1 diff)
-
src/Engine/Register/RegisterFacade.php (modified) (1 diff)
-
src/Engine/Register/RegisterMenu.php (added)
-
src/Engine/Register/RegisterProd.php (modified) (1 diff)
-
src/Engine/SettingsPage.php (modified) (5 diffs)
Legend:
- Unmodified
- Added
- Removed
-
jemdy-product-builder/trunk/jemdy-product-builder.php
r3390831 r3407480 8 8 * Text Domain: jemdy-product-builder 9 9 * Domain Path: /languages 10 * Version: 1.1.010 * Version: 2.0.0 11 11 * License: GPL v3 or later 12 12 * License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 21 21 } 22 22 23 define( 'JDPB_VERSION', ' 1.1.0' );23 define( 'JDPB_VERSION', '2.0.0' ); 24 24 25 25 define( 'JDPB_PLUGIN_FILE', __FILE__ ); … … 27 27 define( 'JDPB_PLUGIN_URL', plugin_dir_url( JDPB_PLUGIN_FILE ) ); 28 28 define( 'JDPB_PLUGIN_BASENAME', plugin_basename( JDPB_PLUGIN_FILE ) ); 29 define( 'JDPB_MENU_ORDER', 1 ); 29 30 define( 'JDPB_IS_DEVELOPMENT', false ); 30 31 -
jemdy-product-builder/trunk/readme.txt
r3390831 r3407480 7 7 Tested up to: 6.8 8 8 Requires PHP: 7.4 9 Stable tag: 1.1.09 Stable tag: 2.0.0 10 10 License: GPLv3 or later 11 11 License URI: https://www.gnu.org/licenses/gpl-3.0.html … … 112 112 == Changelog == 113 113 114 = 2.0.0 = 115 * NEW: Implemented native Tailwind CSS v4 architecture (CSS-first config) for better performance. 116 * FIX: Solved persistent CSS specificity conflicts in WP Admin by applying "Selector Strategy" (`#jdpb-apps` scoping) and removing conflicting WP form styles via PHP hook on the plugin page. 117 * TWEAK: Updated `tailwind-merge` configuration to correctly handle custom color conflicts (e.g., `text-foreground` vs `text-primary-foreground`). 118 * DEV: Converted all utility class usages from `jw-utility` to `jw:utility` namespace structure. 119 114 120 = 1.1.0 = 115 121 … … 185 191 186 192 Initial internal build and foundation (enqueue from Vite manifest, module preload, CSS auto-enqueue, i18n plumbing) 187 -
jemdy-product-builder/trunk/src/Engine/BuilderFormShortcode.php
r3390831 r3407480 23 23 24 24 return sprintf( 25 '<div class="jdpb-root shortcode-jdpb-builder-form" data-id="%s" style="%s"></div>',25 '<div class="jdpb-root shortcode-jdpb-builder-form" data-id="%s" id="jdpb-apps" style="%s"></div>', 26 26 esc_attr( $id ), 27 27 esc_attr( $style ) -
jemdy-product-builder/trunk/src/Engine/Register/RegisterFacade.php
r3390831 r3407480 45 45 46 46 public function register_admin_scripts( $hook ) { 47 if ( ' toplevel_page_jdpb' !== $hook ) {47 if ( 'jemdycommerce_page_jdpb' !== $hook ) { 48 48 return; 49 49 } -
jemdy-product-builder/trunk/src/Engine/Register/RegisterProd.php
r3390831 r3407480 24 24 public function enqueue( $entry_file, $handle ) { 25 25 $deps = [ 'wp-i18n', 'react', 'react-dom' ]; 26 $manifest_path = JDPB_PLUGIN_PATH . self::BUILD_PATH . ' manifest.json';26 $manifest_path = JDPB_PLUGIN_PATH . self::BUILD_PATH . '.vite/manifest.json'; 27 27 28 28 if ( ! function_exists( 'WP_Filesystem' ) ) { -
jemdy-product-builder/trunk/src/Engine/SettingsPage.php
r3390831 r3407480 3 3 4 4 use JDPB\Service\ThemeTokensService; 5 5 use JDPB\Engine\Register\RegisterMenu; 6 6 use JDPB\Traits\Singleton; 7 7 … … 14 14 /** @var string|null */ 15 15 private $page_suffix = null; 16 17 /** @var ThemeTokensService */ 16 18 private $theme_tokens; 19 20 /** @var RegisterMenu */ 21 private $register_menu; 17 22 18 23 public const CAPABILITY = 'manage_options'; 19 24 public const MENU_SLUG = 'jdpb'; 20 public const POSITION = 20;21 25 22 26 protected function __construct() { 23 $this->theme_tokens = ThemeTokensService::instance(); 24 add_action( 'admin_menu', [ $this, 'add_admin_menu' ] ); 27 $this->theme_tokens = ThemeTokensService::instance(); 28 $this->register_menu = RegisterMenu::instance(); 29 30 add_action( 'admin_menu', [ $this, 'register_page' ], 20 ); 31 25 32 add_filter( 'screen_options_show_screen', [ $this, 'hide_screen_options' ], 99, 2 ); 26 27 33 add_action( 'admin_enqueue_scripts', [ $this, 'enqueue_admin_assets' ] ); 28 34 } 29 35 30 public function add_admin_menu() {31 $this->page_suffix = add_menu_page(36 public function register_page() { 37 $this->page_suffix = $this->register_menu->add_submenu_page( 32 38 __( 'Jemdy Product Builder', 'jemdy-product-builder' ), 33 __( 'Jemdy Builder', 'jemdy-product-builder' ),39 __( 'Jemdy Product Builder', 'jemdy-product-builder' ), 34 40 self::CAPABILITY, 35 41 self::MENU_SLUG, 36 [ $this, 'render_menu_page' ], 37 'dashicons-layout', 38 self::POSITION 42 [ $this, 'render_menu_page' ] 39 43 ); 40 44 } … … 42 46 public function render_menu_page() { 43 47 $style = $this->theme_tokens->inline_style(); 48 44 49 printf( 45 50 '<div id="jdpb-apps" class="jdpb-root" style="%s"></div>', … … 52 57 return false; 53 58 } 59 54 60 return $show_screen; 55 61 } … … 61 67 62 68 $handle = 'jdpb-admin-base'; 69 63 70 wp_register_style( $handle, false, [], JDPB_VERSION ); 64 71 wp_enqueue_style( $handle ); 72 73 $css = ' 74 #wpbody-content > .notice, 75 #wpbody-content > .update-nag, 76 #wpbody-content > .error, 77 #wpbody-content > .updated, 78 #wpbody-content > .notice-error, 79 #wpbody-content > .notice-warning, 80 #wpbody-content > .notice-info, 81 #wpbody-content > .notice-success { 82 display: none !important; 83 } 84 '; 85 86 wp_add_inline_style( $handle, $css ); 65 87 } 66 88 }
Note: See TracChangeset
for help on using the changeset viewer.