__( 'Cloud', 'generatecloud' ), 'url' => admin_url( 'admin.php?page=generateblocks-public-keys' ), 'class' => 'generateblocks_page_generateblocks-public-keys' === $screen->id ? 'active' : '', ); return $tabs; } /** * Enqueue our scripts. */ public function enqueue_scripts() { $this->enqueue_public_key_scripts(); $this->enqueue_licensing_scripts(); } /** * Enqueue our public key scripts. */ public function enqueue_public_key_scripts() { $screen = get_current_screen(); if ( 'generateblocks_page_generateblocks-public-keys' !== $screen->id ) { return; } $assets_file = GENERATECLOUD_DIR . 'dist/dashboard.asset.php'; $compiled_assets = file_exists( $assets_file ) ? require $assets_file : false; $assets = isset( $compiled_assets['dependencies'] ) && isset( $compiled_assets['version'] ) ? $compiled_assets : [ 'dependencies' => [], 'version' => GENERATECLOUD_VERSION, ]; wp_enqueue_script( 'generatecloud-dashboard', GENERATECLOUD_URL . 'dist/dashboard.js', $assets['dependencies'], $assets['version'], true ); $available_permissions = apply_filters( 'generatecloud_available_permissions', array( 'patterns' => array( 'label' => array( 'singular' => __( 'Pattern', 'generatecloud' ), 'plural' => __( 'Patterns', 'generatecloud' ), ), 'type' => 'taxonomy', 'object' => 'gblocks_pattern_collections', ), ) ); wp_localize_script( 'generatecloud-dashboard', 'generateCloud', [ 'connectionUrl' => site_url(), 'availablePermissions' => $available_permissions, ] ); wp_set_script_translations( 'generatecloud-dashboard', 'generatecloud', GENERATECLOUD_DIR . 'languages' ); wp_enqueue_style( 'generatecloud-dashboard', GENERATECLOUD_URL . 'dist/dashboard.css', array( 'wp-components' ), GENERATECLOUD_VERSION ); } /** * Enqueue our licensing scripts. */ public function enqueue_licensing_scripts() { $screen = get_current_screen(); if ( 'generateblocks_page_generateblocks-settings' !== $screen->id ) { return; } $assets_file = GENERATECLOUD_DIR . 'dist/license-key.asset.php'; $compiled_assets = file_exists( $assets_file ) ? require $assets_file : false; $assets = isset( $compiled_assets['dependencies'] ) && isset( $compiled_assets['version'] ) ? $compiled_assets : [ 'dependencies' => [], 'version' => GENERATECLOUD_VERSION, ]; wp_enqueue_script( 'generatecloud-licensing', GENERATECLOUD_URL . 'dist/license-key.js', $assets['dependencies'], $assets['version'], true ); $license_key_data = get_option( 'generatecloud_licensing', [] ); $license_key = $license_key_data['key'] ?? ''; wp_localize_script( 'generatecloud-licensing', 'generateCloud', [ 'license' => [ 'key' => $license_key ? '****************************' . substr( $license_key, -4 ) : '', 'status' => $license_key_data['status'] ?? '', 'beta' => $license_key_data['beta'] ?? false, ], ] ); wp_set_script_translations( 'generatecloud-licensing', 'generatecloud', GENERATECLOUD_DIR . 'languages' ); wp_enqueue_style( 'generatecloud-licensing', GENERATECLOUD_URL . 'dist/license-key.css', array( 'wp-components' ), GENERATECLOUD_VERSION ); } /** * Add to our Dashboard pages. * * @since 1.0.0 * @param array $pages The existing pages. */ public function add_to_dashboard_pages( $pages ) { $pages[] = 'generateblocks_page_generateblocks-public-keys'; return $pages; } /** * Output our Dashboard HTML. * * @since 1.0.0 */ public function public_keys() { ?>