*/
class AdminBarEditorAssets extends AdminBarEditorModel
{
public $options;
public $adminify_ui;
private static $instance = null;
/**
* Get singleton instance
*/
public static function get_instance() {
if (null === self::$instance) {
self::$instance = new self();
}
return self::$instance;
}
public function __construct()
{
add_action('admin_enqueue_scripts', [$this, 'adminbar_editor_enqueue_scripts'], 100);
add_action('admin_footer', [$this, 'adminbar_editor_enqueue_scripts_backend'], 999);
add_action('wp_footer', [$this, 'adminbar_editor_enqueue_scripts_frontend'], 999);
// add_action('wp_enqueue_scripts', [$this, 'adminbar_editor_enqueue_styles_frontend'], 999);
add_action( 'admin_enqueue_scripts', [$this, 'jlt_admin_bar_css'], 999);
add_action( 'wp_enqueue_scripts', [$this, 'jlt_admin_bar_css'], 999);
// add_action('admin_enqueue_scripts', [$this, 'jltwp_adminify_admin_scripts'], 100);
add_action( 'wp_enqueue_scripts', array( $this, 'jlt_admin_bar_editor_enqueue_scripts' ), 100 );
}
// Admin Bar Css
public function jlt_admin_bar_css()
{
$admin_bar_items = (new AdminBarEditorOptions())->get();
if(empty($admin_bar_items['admin_bar_settings'])) return;
$admin_bar_settings = $admin_bar_items['admin_bar_settings'];
if( class_exists('\PXLBSAdminify\Inc\Admin\AdminSettings')){
$adminify_options = (array) \PXLBSAdminify\Inc\Admin\AdminSettings::get_instance()->get();
$this->adminify_ui = $adminify_options['admin_ui'];
}
$admin_bar_css = '';
$admin_bar_css = $this->jlt_admin_bar_dymanic_styles($admin_bar_settings);
wp_add_inline_style( 'admin-bar', $admin_bar_css );
}
public function jlt_admin_bar_dymanic_styles($admin_bar_settings) {
$admin_bar_css = '';
// Admin Bar Position
if (!empty( $admin_bar_settings['admin_bar_position'] ) && $admin_bar_settings['admin_bar_position'] === 'bottom' ) {
if( !empty($this->adminify_ui) ) {
$admin_bar_css .= '.adminify-ui #frame-adminify-app {
display: flex;
flex-direction: column;
flex-direction: column-reverse;
}
.adminify-ui #frame-adminify-app .adminify-frame-wrapper {
height: calc(100vh - 60px);
}
.adminify-ui #frame-adminify-app .adminify-frame-wrapper .adminify-frame-content {
padding-bottom: 0;
padding-top: 0.5rem;
height: 100%;
}
.adminify-ui #frame-adminify-app .adminify-toolbar {
padding-left: 1rem;
padding-right: 1rem;
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-top-menu .adminify-dropdown {
top: unset;
bottom: 39px !important;
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-top-menu .adminify-dropdown::before {
bottom: -7px;
top: unset;
transform: rotate(225deg);
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-admin-bar-top-secondary #adminify-color-mode-wrapper .light-dark-dropdown {
top: unset;
bottom: 40px;
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-admin-bar-top-secondary #adminify-color-mode-wrapper .light-dark-dropdown::before {
top: unset;
bottom: -7px;
transform: rotate(225deg);
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-admin-bar-top-secondary .wp-adminify--user--account .wp-adminify--user--wrapper {
top: unset;
bottom: calc(100% + 8px);
}
.adminify-ui #frame-adminify-app .adminify-toolbar .adminify-admin-bar-top-secondary .wp-adminify--user--account .wp-adminify--user--wrapper::before {
top: unset;
bottom: -7px;
transform: rotate(225deg);
}';
} else {
$admin_bar_css .= 'body.jlt-admin-bar {
margin-top: -28px;
padding-bottom: 28px;
}
body.jlt-admin-bar.adminify-ui {
margin-top: -66px;
padding-bottom: 66px;
}
body.jlt-admin-bar.adminify-ui .adminify-top_bar {
top: auto !important;
bottom: 0;
border-bottom: 0;
border-top: 1px solid #dedee7;
}
body.jlt-admin-bar.adminify-ui #adminmenuwrap {
padding-bottom: 66px;
}
body.jlt-admin-bar #wpadminbar {
top: auto !important;
bottom: 0;
}
body.jlt-admin-bar #wpadminbar .ab-sub-wrapper {
bottom: 100% !important;
}
body.jlt-admin-bar #wpfooter {
padding-bottom: 48px;
}';
}
}
// Custom Image Style
$admin_bar_css .= '#wpadminbar li .jlt-admin-bar-menu-image {
display: flex;
align-items: center;
justify-content: center;
gap: 4px;
}';
return $admin_bar_css;
}
/**
* Enqueue Scripts
*
* @method wp_enqueue_scripts()
*/
public function jlt_admin_bar_editor_enqueue_scripts() {
if(!is_admin()){
$frontend_admin_bar_css = '#wpadminbar .ab-top-menu .ab-sub-wrapper .ab-submenu .ab-item {
height: auto !important;
}';
wp_add_inline_style( 'admin-bar', $frontend_admin_bar_css );
}
}
public function adminbar_editor_enqueue_styles_frontend()
{
wp_enqueue_style('jlt-admin-bar-simple-line-icons');
wp_enqueue_style('jlt-admin-bar-icomoon');
wp_enqueue_style('jlt-admin-bar-themify-icons');
?>
id ) {
// Enqueue Styles
wp_enqueue_style('jlt-admin-bar-admin');
// icons
wp_enqueue_style('jlt-admin-bar-simple-line-icons');
wp_enqueue_style('jlt-admin-bar-icomoon');
wp_enqueue_style('jlt-admin-bar-themify-icons');
}
// De-register and Dequeue Scripts/Styles
if (!empty($this->options['adminify_assets'])) {
foreach ($this->options['adminify_assets'] as $value) {
wp_dequeue_style($value);
wp_deregister_style($value);
}
}
// Localize Scripts
$localize_adminbar_data = array(
'rest_urls' => [
'baseUrl' => AdminBarEditorApiEndPoints::get_rest_url(''),
'getAdminBarItems' => AdminBarEditorApiEndPoints::get_rest_url('/get-adminbar-menu-items/')
],
'ajax_url' => admin_url('admin-ajax.php'),
'is_elementor_active' => Utils::is_plugin_active('elementor/elementor.php'),
'uploaded_url' => wp_upload_dir()['baseurl'],
'image_path' => JLT_ADMIN_BAR_EDITOR_IMAGES,
'nonce' => wp_create_nonce( 'wp_rest' ),
'adminify_ui' => class_exists('\PXLBSAdminify\Inc\Admin\AdminSettings') ? \PXLBSAdminify\Inc\Admin\AdminSettings::get_instance()->get()['admin_ui'] : false,
);
wp_localize_script('jlt-admin-bar-editor', 'JltAdminBarEditor', $localize_adminbar_data);
}
}