'; } } if ( ! function_exists( 'accessmate_enqueue_assets' ) ) : function accessmate_enqueue_assets( string $hook ): void { $accessmate_hooks = [ 'toplevel_page_accessmate', 'accessmate_page_accessmate-report', 'accessmate_page_accessmate-widget', 'accessmate_page_accessmate-statement', 'accessmate_page_accessmate-settings', ]; if ( ! in_array( $hook, $accessmate_hooks, true ) ) return; if ( ! file_exists( ACCESSMATE_PATH . 'assets/main.js' ) ) return; wp_enqueue_script( 'accessmate-app', ACCESSMATE_URL . 'assets/main.js', [ 'react', 'react-dom' ], ACCESSMATE_VERSION, true ); wp_enqueue_style( 'accessmate-app', ACCESSMATE_URL . 'assets/main.css', [], ACCESSMATE_VERSION ); $view_map = [ 'accessmate' => '', 'accessmate-report' => 'report', 'accessmate-widget' => 'widget', 'accessmate-statement' => 'statement', 'accessmate-settings' => 'settings', ]; // phpcs:ignore WordPress.Security.NonceVerification.Recommended $page = isset( $_GET['page'] ) ? sanitize_key( $_GET['page'] ) : 'accessmate'; $initial_view = $view_map[ $page ] ?? ''; if ( function_exists( 'acc_fs' ) && acc_fs()->is__premium_only() ) { // ── Pro edition ─────────────────────────────────────────── $is_premium = acc_fs()->can_use_premium_code(); $upgrade_url = acc_fs()->get_upgrade_url(); } else { // ── Free edition ────────────────────────────────────────── $is_premium = false; $upgrade_url = ACCESSMATE_UPGRADE_URL; } wp_localize_script( 'accessmate-app', 'accessmateConfig', [ 'nonce' => wp_create_nonce( 'wp_rest' ), 'restBase' => rest_url( 'accessmate/v1' ), 'siteUrl' => get_site_url(), 'adminUrl' => admin_url(), 'version' => ACCESSMATE_VERSION, 'assetsUrl' => ACCESSMATE_URL . 'assets/', 'isAdmin' => current_user_can( 'manage_options' ), 'providers' => AccessMate_Providers::all(), 'isPremium' => $is_premium, 'upgradeUrl' => $upgrade_url, 'initialView' => $initial_view, ]); } endif;