AGENT_MOD_URL . 'includes/Presentation/Admin/Assets/img/agent_mod_logo.jpg', 'workspaceUrl' => AGENT_MOD_URL . 'includes/Presentation/Admin/Assets/img/ai_workspace.JPG', ] ); } /** * Add a menu for the plugin * @return void * @since 1.0.0 */ public function addMenu() { add_menu_page( esc_html__('AgentMod', 'agent-mod'), esc_html__('AgentMod', 'agent-mod'), 'manage_options', 'agent-mod', [$this, 'renderDashboard'], AGENT_MOD_URL . 'includes/Presentation/Admin/Assets/img/agent_mod_colored_icon.png' ); } /** * Render HTML output for dashboard * @return void * @since 1.0.0 */ public function renderDashboard(): void { ob_start(); try { include Constants::INCLUDES_PATH . 'Presentation/Admin/Views/admin-menu-content.php'; echo ob_get_clean(); // phpcs:ignore WordPress.Security.EscapeOutput.OutputNotEscaped -- Trusted internal admin view template; output is escaped within the template. } catch (Exception $e) { ob_end_clean(); } } }