init_components(); } /** * Enqueue CSS and JavaScript assets */ public function enqueue_assets($hook) { // Only load on WPALLSTARS pages if (strpos($hook, 'wpallstars') === false) { return; } // Already registered in main plugin file, but ensure they're enqueued wp_enqueue_style('wpallstars-admin'); wp_enqueue_script('wpallstars-admin'); // Add UI enhancements script wp_enqueue_script( 'wpallstars-ui-enhancements', WPALLSTARS_URL . 'admin/js/wpallstars-ui-enhancements.js', array('jquery', 'wpallstars-admin'), WPALLSTARS_VERSION, true ); // Add enhanced UI styles wp_enqueue_style( 'wpallstars-ui-enhancements', WPALLSTARS_URL . 'admin/css/wpallstars-ui-enhancements.css', array('wpallstars-admin'), WPALLSTARS_VERSION ); // Localize script with settings wp_localize_script('wpallstars-ui-enhancements', 'wpallstarsUI', array( 'ajaxurl' => admin_url('admin-ajax.php'), 'nonce' => wp_create_nonce('wpallstars_ui_nonce'), )); } /** * Add body class for enhanced UI */ public function add_body_class($classes) { if (isset($_GET['page']) && strpos($_GET['page'], 'wpallstars') !== false) { $classes .= ' wpallstars-ui-enabled'; } 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')); } /** * Render accordion template */ public function render_accordion_template() { // Only on WPALLSTARS pages if (!isset($_GET['page']) || strpos($_GET['page'], 'wpallstars') === false) { return; } ?>