Structural refactor of the admin surface, front-facing polish on the landing page, and a real webpack build pipeline.
What's new
- Landing hero now names Claude, ChatGPT, and Grok directly in the pill, H1, and subtext — not just in the About paragraph at the bottom.
- Settings link on the Plugins-screen row jumps straight to the AI Connectors landing page.
Under the hood
- Admin surface split into two WPBoilerplate-shaped classes and wired via the plugin's
Loader:\AcrossAI_AI_Connectors\Admin\Main—enqueue_styles+enqueue_scripts, both hook-gated toacrossai_page_acrossai-ai-connectorsso we don't leak our stylesheet onto every admin page.\AcrossAI_AI_Connectors\Admin\Partials\Menu—main_menu(submenu registration),render(landing markup),plugin_action_links(Plugins-screen Settings link).
- Single entry point:
\AcrossAI_AI_Connectors\Includes\Main::define_admin_hooks.admin_menupriority 20 preserved so Freemius'override_submenu_actionstill finds the base page during activation mode. - Webpack build pipeline wired via
@wordpress/scripts. Landing CSS source lives insrc/scss/admin-landing.scssand compiles tobuild/css/admin-landing.css+ its.asset.phpsidecar. Missing-build behaviour is graceful — thefile_existsguard silently no-ops, so a checkout withoutnpm run buildrenders unstyled instead of fataling. build/artifacts committed so installs work out of the box.- Composer PSR-4 map extended with
AcrossAI_AI_Connectors\\Admin\\ → admin/. includes/AdminLandingRenderer.phpdeleted (git tracked it as a rename intoadmin/Partials/Menu.php).- Freemius
menu.support => truecarried forward.
Still open (unchanged from 0.3.0, tracked in #2)
- Grok
REDIRECT_URI=https://grok.com/api/mcp/auth_callback— pending confirmation from xAI's docs. - ChatGPT
REDIRECT_URI= literalTODO_CHATGPT_OAUTH_CALLBACK_URL— must be replaced with OpenAI's real MCP OAuth callback before ChatGPT connect attempts will pass the whitelist check.
Full changelog
See README.txt for the full 0.4.0 changelog entry.
Diff
v0.3.0…v0.4.0