feat: settings page with connection tab, admin notices and site health test

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01At3V6SjwbMe6eMzVGW3Hs7
This commit is contained in:
2026-09-26 03:21:56 +02:00
co-authored by Claude Opus 5.5
parent 2674bf2ed1
commit f084c47311
11 changed files with 731 additions and 0 deletions
+21
View File
@@ -6,6 +6,11 @@ namespace LIT\MCP;
use LIT\MCP\Abilities\AbilityRegistrar;
use LIT\MCP\Abilities\ExposurePolicy;
use LIT\MCP\Admin\AdminNotices;
use LIT\MCP\Admin\ConnectionStatus;
use LIT\MCP\Admin\ConnectionTab;
use LIT\MCP\Admin\SettingsPage;
use LIT\MCP\Admin\SiteHealth;
use LIT\MCP\ChangeLog\ChangeLog;
use LIT\MCP\ChangeLog\ChangeLogCleanup;
use LIT\MCP\ChangeLog\ChangeLogInstaller;
@@ -30,6 +35,7 @@ final class Plugin
public const VERSION = '0.1.0';
private static string $pluginFile = '';
private static ?SettingsPage $settingsPage = null;
public static function boot(string $pluginFile): void
{
@@ -68,9 +74,24 @@ final class Plugin
$policy
))->register();
$status = new ConnectionStatus();
(new SiteHealth($status))->register();
self::$settingsPage = new SettingsPage([
new ConnectionTab($status),
]);
if (is_admin()) {
self::$settingsPage->register();
(new AdminNotices($status))->register();
}
\WPMedia\MCP\OAuth\Bootstrap::instance();
}
public static function settingsPage(): ?SettingsPage
{
return self::$settingsPage;
}
public static function pluginDir(): string
{
return dirname(self::$pluginFile);