init_components(); // Ensure toggle functionality works add_action('admin_footer', array($this, 'ensure_toggle_functionality'), 99); } /** * Enqueue CSS and JavaScript assets */ public function enqueue_assets($hook) { // Only load on WP Allstars pages if (strpos($hook, 'wp-allstars') === false) { return; } // Already registered in main plugin file, but ensure they're enqueued wp_enqueue_style('wp-allstars-admin'); wp_enqueue_script('wp-allstars-admin'); // Add UI enhancements script wp_enqueue_script( 'wp-allstars-ui-enhancements', plugin_dir_url(dirname(__FILE__)) . 'admin/js/wp-allstars-ui-enhancements.js', array('jquery', 'wp-allstars-admin'), WP_ALLSTARS_VERSION, true ); // Add enhanced UI styles wp_enqueue_style( 'wp-allstars-ui-enhancements', plugin_dir_url(dirname(__FILE__)) . 'admin/css/wp-allstars-ui-enhancements.css', array('wp-allstars-admin'), WP_ALLSTARS_VERSION ); // Localize script with settings wp_localize_script('wp-allstars-ui-enhancements', 'wpAllstarsUI', array( 'ajaxurl' => admin_url('ajax.php'), 'nonce' => wp_create_nonce('wp_allstars_ui_nonce'), )); } /** * Add body class for enhanced UI */ public function add_body_class($classes) { if (isset($_GET['page']) && strpos($_GET['page'], 'wp-allstars') !== false) { $classes .= ' wp-allstars-enhanced-ui'; } return $classes; } /** * Initialize UI components */ private function init_components() { // Add accordion functionality add_action('admin_footer', array($this, 'render_accordion_template')); // Add card component add_action('admin_footer', array($this, 'render_card_template')); // Add notification system add_action('admin_footer', array($this, 'render_notification_template')); } /** * Ensure toggle switch functionality * This adds JS to reinitialize toggle switch handlers after our enhanced UI is applied */ public function ensure_toggle_functionality() { // Only on WP Allstars pages if (!isset($_GET['page']) || strpos($_GET['page'], 'wp-allstars') === false) { return; } ?>