<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>AEM MCP Server Dashboard</title>
<link rel="stylesheet" href="dashboard.css">
<link href="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/themes/prism-tomorrow.min.css" rel="stylesheet">
</head>
<body>
<div class="dashboard-container">
<!-- Header -->
<header class="dashboard-header">
<div class="header-content">
<h1>AEM MCP Server Dashboard</h1>
<div class="header-actions">
<div class="health-indicator" id="healthIndicator">
<span class="status-dot"></span>
<span class="status-text">Checking...</span>
</div>
<button class="btn btn-secondary" id="helpBtn">Help</button>
</div>
</div>
</header>
<!-- Main Content -->
<main class="dashboard-main">
<!-- Sidebar -->
<aside class="dashboard-sidebar">
<div class="sidebar-section">
<h3>Method Categories</h3>
<div class="category-filters" id="categoryFilters">
<button class="category-btn active" data-category="all">All Methods</button>
</div>
</div>
<div class="sidebar-section">
<h3>Search Methods</h3>
<div class="search-container">
<input type="text" id="methodSearch" placeholder="Search methods..." class="search-input">
</div>
</div>
<div class="sidebar-section">
<h3>Methods</h3>
<div class="methods-list" id="methodsList">
<div class="loading">Loading methods...</div>
</div>
</div>
</aside>
<!-- Content Area -->
<section class="dashboard-content">
<!-- Welcome Screen -->
<div class="welcome-screen" id="welcomeScreen">
<div class="welcome-content">
<h2>Welcome to AEM MCP Server Dashboard</h2>
<p>This interactive dashboard allows you to explore and test all available AEM MCP methods.</p>
<div class="feature-grid">
<div class="feature-card">
<h3>35+ Methods</h3>
<p>Complete set of AEM operations for pages, components, assets, and more</p>
</div>
<div class="feature-card">
<h3>Interactive Testing</h3>
<p>Test methods directly from the browser with real-time responses</p>
</div>
<div class="feature-card">
<h3>Documentation</h3>
<p>Built-in documentation with examples and parameter descriptions</p>
</div>
</div>
<p class="welcome-instruction">Select a method from the sidebar to get started.</p>
</div>
</div>
<!-- Method Details -->
<div class="method-details" id="methodDetails" style="display: none;">
<div class="method-header">
<h2 id="methodName">Method Name</h2>
<div class="method-meta">
<span class="method-category" id="methodCategory">Category</span>
<span class="method-description" id="methodDescription">Description</span>
</div>
</div>
<div class="method-content">
<!-- Parameters Section -->
<div class="content-section">
<h3>Parameters</h3>
<div class="parameters-container" id="parametersContainer">
<p class="no-params">No parameters required</p>
</div>
<div class="execute-section">
<button class="btn btn-primary" id="executeBtn">Execute Method</button>
<button class="btn btn-secondary" id="clearBtn">Clear</button>
</div>
</div>
<!-- Response Section -->
<div class="content-section">
<h3>Response</h3>
<div class="response-container">
<div class="response-tabs">
<button class="tab-btn active" data-tab="formatted">Formatted</button>
<button class="tab-btn" data-tab="raw">Raw JSON</button>
<button class="tab-btn" data-tab="curl">cURL Example</button>
</div>
<div class="response-content">
<div class="tab-content active" id="formattedResponse">
<div class="response-placeholder">
Execute a method to see the response here
</div>
</div>
<div class="tab-content" id="rawResponse">
<pre><code class="language-json">Execute a method to see raw JSON response</code></pre>
</div>
<div class="tab-content" id="curlExample">
<pre><code class="language-bash">Execute a method to see cURL example</code></pre>
</div>
</div>
</div>
</div>
</div>
</div>
<!-- Test Runner -->
<div class="test-runner" id="testRunner" style="display: none;">
<div class="test-header">
<h2>Batch Test Runner</h2>
<p>Run multiple methods for comprehensive testing</p>
</div>
<div class="test-content">
<div class="test-controls">
<button class="btn btn-primary" id="runAllTestsBtn">Run All Tests</button>
<button class="btn btn-secondary" id="runCategoryTestsBtn">Run Category Tests</button>
<button class="btn btn-secondary" id="stopTestsBtn">Stop Tests</button>
</div>
<div class="test-results" id="testResults">
<div class="test-placeholder">Click "Run All Tests" to start comprehensive testing</div>
</div>
</div>
</div>
</section>
</main>
<!-- Footer -->
<footer class="dashboard-footer">
<div class="footer-content">
<div class="footer-section">
<span>AEM MCP Server v1.0.0</span>
</div>
<div class="footer-section">
<button class="footer-btn" id="testRunnerBtn">Test Runner</button>
<button class="footer-btn" id="apiDocsBtn">API Docs</button>
<button class="footer-btn" id="healthBtn">Health Check</button>
</div>
</div>
</footer>
</div>
<!-- Loading Overlay -->
<div class="loading-overlay" id="loadingOverlay" style="display: none;">
<div class="loading-spinner">
<div class="spinner"></div>
<p>Executing method...</p>
</div>
</div>
<!-- Scripts -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/components/prism-core.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/prism/1.29.0/plugins/autoloader/prism-autoloader.min.js"></script>
<script src="dashboard.js"></script>
</body>
</html>