getAvailableServices(false); foreach($integrations as $service => $integration) { // if ($integration->isSetUp() && !empty($integration->enabledContentTypes())) { if (!empty($integration->enabledContentTypes())) { add_submenu_page( 'jvb-integrations', $integration->getTitle() . ' Defaults', $integration->getTitle(), 'manage_options', 'jvb-integration-'.$service, [$integration, 'renderDefaults'] ); } } } /** * Enqueue admin assets */ public function enqueueAdminAssets(string $hook): void { // Check if we're on a JVB admin page if (!str_contains($hook, 'jvb')) { return; } wp_enqueue_style( 'jvb-dash', ); wp_enqueue_script( 'jvb-admin-scripts', JVB_URL . 'assets/js/min/integrations.min.js', ['jvb-auth'], '1.0.0', true ); IconsManager::for()->enqueueIconStyles(); IconsManager::for('dash')->enqueueIconStyles(); IconsManager::for('form')->enqueueIconStyles(); $queue = [ 'api' => rest_url('jvb/v1/'), 'redirect' => wp_login_url(home_url(add_query_arg(null, null))), 'labels' => jvbGetLabels(), ]; wp_localize_script('jvb-auth', 'jvbSettings', $queue); // // wp_localize_script( // 'jvb-admin-scripts', // 'jvbSettings', // [ // 'api' => rest_url('jvb/v1/'), // 'currentUser' => get_current_user_id(), // 'nonce' => wp_create_nonce('wp_rest'), // ] // ); } /** * Render the main integrations page */ public function renderPage(): void { ?>
' . esc_html($message) . '
'; } if (isset($_GET['error'])) { $message = sanitize_text_field($_GET['error']); echo '' . esc_html($message) . '