[], 'version' => filemtime( GENERATEBLOCKS_DIR . 'dist/dashboard.js' ), ]; wp_enqueue_script( 'generateblocks-dashboard', GENERATEBLOCKS_DIR_URL . 'dist/dashboard.js', $assets['dependencies'], $assets['version'], true ); if ( function_exists( 'wp_set_script_translations' ) ) { wp_set_script_translations( 'generateblocks-dashboard', 'generateblocks' ); } wp_localize_script( 'generateblocks-dashboard', 'generateblocksDashboard', array( 'gpImage' => esc_url( GENERATEBLOCKS_DIR_URL ) . 'assets/images/generatepress-sites.png', 'gpLogo' => esc_url( GENERATEBLOCKS_DIR_URL ) . 'assets/images/generatepress.svg', 'gbVersion' => GENERATEBLOCKS_VERSION, 'gbpVersion' => defined( 'GENERATEBLOCKS_PRO_VERSION' ) ? GENERATEBLOCKS_PRO_VERSION : false, ) ); wp_enqueue_style( 'generateblocks-dashboard', GENERATEBLOCKS_DIR_URL . 'dist/dashboard.css', array( 'wp-components' ), GENERATEBLOCKS_VERSION ); } /** * Get a list of our Dashboard pages. * * @since 1.2.0 */ function generateblocks_get_dashboard_pages() { return apply_filters( 'generateblocks_dashboard_screens', array( 'generateblocks_page_generateblocks-settings', ) ); } add_filter( 'admin_body_class', 'generateblocks_set_admin_body_classes' ); /** * Add admin body classes when needed. * * @since 1.2.0 * @param string $classes The existing classes. */ function generateblocks_set_admin_body_classes( $classes ) { $dashboard_pages = generateblocks_get_dashboard_pages(); $current_screen = get_current_screen(); if ( in_array( $current_screen->id, $dashboard_pages ) ) { $classes .= ' generateblocks-dashboard-page'; } return $classes; } add_action( 'in_admin_header', 'generateblocks_do_dashboard_headers' ); /** * Add our Dashboard headers. * * @since 1.3.0 */ function generateblocks_do_dashboard_headers() { $dashboard_pages = generateblocks_get_dashboard_pages(); $current_screen = get_current_screen(); if ( in_array( $current_screen->id, $dashboard_pages ) ) { generateblocks_do_dashboard_header(); } } add_action( 'admin_enqueue_scripts', 'generateblocks_enqueue_global_dashboard_scripts' ); /** * Add our scripts to the page. * * @since 0.1 */ function generateblocks_enqueue_global_dashboard_scripts() { wp_enqueue_style( 'generateblocks-dashboard-global', GENERATEBLOCKS_DIR_URL . 'assets/css/dashboard-global.css', array(), GENERATEBLOCKS_VERSION ); $dashboard_pages = generateblocks_get_dashboard_pages(); $current_screen = get_current_screen(); if ( in_array( $current_screen->id, $dashboard_pages ) ) { wp_enqueue_style( 'generateblocks-settings-build', GENERATEBLOCKS_DIR_URL . 'dist/settings.css', array( 'wp-components' ), GENERATEBLOCKS_VERSION ); } } /** * Build our Dashboard menu. */ function generateblocks_dashboard_navigation() { $screen = get_current_screen(); $tabs = apply_filters( 'generateblocks_dashboard_tabs', array( 'settings' => array( 'name' => __( 'Settings', 'generateblocks' ), 'url' => admin_url( 'admin.php?page=generateblocks-settings' ), 'class' => 'generateblocks_page_generateblocks-settings' === $screen->id ? 'active' : '', ), ) ); if ( ! defined( 'GENERATEBLOCKS_PRO_VERSION' ) ) { $tabs['pro'] = array( 'name' => __( 'Get Pro', 'generateblocks' ), 'url' => 'https://generatepress.com/blocks/', 'class' => '', ); } // Don't print any markup if we only have one tab. if ( count( $tabs ) === 1 ) { return; } ?>