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;
}
?>