Sync cezen-portal/ from live working copy (V1.0 GA polish + search-icon ordering fix)
Brings the ISO-packaged portal copy current with the live cezen-portal/ working directory, which had drifted across the entire V1.0 GA polish initiative (Phases 1-10) plus this session's topnav icon-order bugfix. - 52 existing files updated, 2 new pages added (about.html, health.html) - cgit/cezen-portal/ is now byte-identical to cezen-portal/ - Backend files (rag_ingest.py, cezen_license.py) already in sync; main.py intentionally left as-is (cgit is ahead there with workstation-category commercial-fit logic not yet backported to the live working copy) Next: rebuild the ISO (bash autoinstall/build-iso.sh) to bake this in.
This commit is contained in:
1 parent
7540da04a8
commit
b3eec34158
57 files changed
+2832
-1354
No files matched your search
@@ -4,7 +4,7 @@
|
||||
<meta charset="UTF-8">
|
||||
<meta name="viewport" content="width=device-width, initial-scale=1.0">
|
||||
<title>API Playground — Nexus One AI</title>
|
||||
<link rel="stylesheet" href="style.css?v=4">
|
||||
<link rel="stylesheet" href="style.css?v=12">
|
||||
<style>
|
||||
.pg-layout {
|
||||
display: grid;
|
||||
@@ -199,6 +199,7 @@
|
||||
<a href="dashboard.html">Dashboard</a>
|
||||
<a href="analytics.html">Usage Analytics</a>
|
||||
<a href="audit.html">Governance & Audit</a>
|
||||
<a href="health.html">Health Center</a>
|
||||
<a href="feedback.html">Feedback & Ratings</a>
|
||||
<span class="nav-drop-cat">MANAGE /</span>
|
||||
<a href="users.html">Users</a>
|
||||
@@ -237,7 +238,7 @@
|
||||
<a href="chatrooms.html">Chat Rooms</a>
|
||||
</div>
|
||||
</div>
|
||||
<a href="notifications.html" style="position:relative">🔔</a>
|
||||
<a href="notifications.html" class="nav-icon-btn" style="position:relative" aria-label="Notifications"><span class="icon-svg icon-sm" aria-hidden="true"><svg viewBox="0 0 24 24"><path d="M15 17h5l-1.4-1.4A2 2 0 0 1 18 14.2V11a6 6 0 1 0-12 0v3.2a2 2 0 0 1-.6 1.4L4 17h5"/><path d="M10 17a2 2 0 0 0 4 0"/></svg></span></a>
|
||||
</nav>
|
||||
<span class="badge" data-brand="tier">Basic Tier</span>
|
||||
<div id="nav-org-logo" class="nav-org-logo"></div>
|
||||
@@ -248,7 +249,7 @@
|
||||
<!-- Sidebar -->
|
||||
<div class="pg-sidebar">
|
||||
<div class="pg-sidebar-header">
|
||||
<div class="pg-sidebar-title">🔌 API Playground</div>
|
||||
<div class="pg-sidebar-title">API Playground</div>
|
||||
<input class="pg-sidebar-search" type="text" placeholder="Search endpoints…" oninput="filterEndpoints(this.value)">
|
||||
</div>
|
||||
<div class="pg-endpoint-list" id="pg-ep-list"></div>
|
||||
@@ -263,7 +264,7 @@
|
||||
<span class="pg-method-badge GET" id="pg-method-badge">GET</span>
|
||||
<input class="pg-url-input" id="pg-url" type="text" value="/api/health">
|
||||
<button class="pg-send-btn" id="pg-send-btn" onclick="sendRequest()">
|
||||
<span class="pg-send-icon">▶ Send</span>
|
||||
<span class="pg-send-icon">Send</span>
|
||||
<div class="pg-spinner"></div>
|
||||
</button>
|
||||
</div>
|
||||
@@ -290,14 +291,14 @@
|
||||
<table class="pg-params-table">
|
||||
<thead><tr><th>Key</th><th>Value</th><th></th></tr></thead>
|
||||
<tbody id="pg-params-body">
|
||||
<tr><td><input class="pg-param-key" placeholder="param" value=""></td><td><input class="pg-param-val" placeholder="value" value=""></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">✕</button></td></tr>
|
||||
<tr><td><input class="pg-param-key" placeholder="param" value=""></td><td><input class="pg-param-val" placeholder="value" value=""></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">Remove</button></td></tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<button class="pg-add-param" onclick="addParam()">+ Add parameter</button>
|
||||
</div>
|
||||
|
||||
<div class="pg-tab-panel" id="pg-tab-body">
|
||||
<button class="pg-format-btn" onclick="formatJSON()">⚡ Format JSON</button>
|
||||
<button class="pg-format-btn" onclick="formatJSON()">Format JSON</button>
|
||||
<textarea class="pg-body-textarea" id="pg-body" placeholder='{"message": "Hello", "model": "llama3.1:8b"}'></textarea>
|
||||
</div>
|
||||
|
||||
@@ -314,11 +315,11 @@
|
||||
<span class="pg-response-title">Response</span>
|
||||
<span id="pg-status-chip" class="pg-status-chip" style="display:none"></span>
|
||||
<span id="pg-latency-chip" class="pg-latency-chip" style="display:none"></span>
|
||||
<button class="pg-copy-btn" onclick="copyResponse()">📋 Copy</button>
|
||||
<button class="pg-copy-btn" onclick="copyResponse()">Copy</button>
|
||||
</div>
|
||||
<div class="pg-response-body" id="pg-response-body">
|
||||
<div class="pg-response-empty">
|
||||
<div style="font-size:36px;opacity:.3">🔌</div>
|
||||
<div style="font-size:36px;opacity:.3">API</div>
|
||||
<p style="font-size:13px;color:var(--lt)">Select an endpoint and click <strong>Send</strong></p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -484,8 +485,8 @@ function selectEndpoint(method, path) {
|
||||
tbody.innerHTML = params.map(p => `
|
||||
<tr><td><input class="pg-param-key" placeholder="param" value="${p.k}"></td>
|
||||
<td><input class="pg-param-val" placeholder="value" value="${p.v}"></td>
|
||||
<td><button class="pg-param-del" onclick="this.closest('tr').remove()">✕</button></td></tr>
|
||||
`).join('') || `<tr><td><input class="pg-param-key" placeholder="param"></td><td><input class="pg-param-val" placeholder="value"></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">✕</button></td></tr>`;
|
||||
<td><button class="pg-param-del" onclick="this.closest('tr').remove()">Remove</button></td></tr>
|
||||
`).join('') || `<tr><td><input class="pg-param-key" placeholder="param"></td><td><input class="pg-param-val" placeholder="value"></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">Remove</button></td></tr>`;
|
||||
|
||||
// Docs
|
||||
const doc = activeEp.doc;
|
||||
@@ -509,7 +510,7 @@ function selectEndpoint(method, path) {
|
||||
renderEndpointList(filteredEps);
|
||||
|
||||
// Clear response
|
||||
document.getElementById('pg-response-body').innerHTML = `<div class="pg-response-empty"><div style="font-size:36px;opacity:.3">🔌</div><p style="font-size:13px;color:var(--lt)">Click <strong>Send</strong></p></div>`;
|
||||
document.getElementById('pg-response-body').innerHTML = `<div class="pg-response-empty"><div style="font-size:36px;opacity:.3">API</div><p style="font-size:13px;color:var(--lt)">Click <strong>Send</strong></p></div>`;
|
||||
document.getElementById('pg-status-chip').style.display = 'none';
|
||||
document.getElementById('pg-latency-chip').style.display = 'none';
|
||||
}
|
||||
@@ -600,7 +601,7 @@ function showTab(name, btn) {
|
||||
|
||||
function addParam() {
|
||||
const tr = document.createElement('tr');
|
||||
tr.innerHTML = `<td><input class="pg-param-key" placeholder="param"></td><td><input class="pg-param-val" placeholder="value"></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">✕</button></td>`;
|
||||
tr.innerHTML = `<td><input class="pg-param-key" placeholder="param"></td><td><input class="pg-param-val" placeholder="value"></td><td><button class="pg-param-del" onclick="this.closest('tr').remove()">Remove</button></td>`;
|
||||
document.getElementById('pg-params-body').appendChild(tr);
|
||||
}
|
||||
|
||||
@@ -629,12 +630,6 @@ function loadFromStorage() {
|
||||
else showToast('No saved keys found');
|
||||
}
|
||||
|
||||
function showToast(msg) {
|
||||
const t = document.getElementById('pg-toast');
|
||||
t.textContent = msg; t.classList.add('show');
|
||||
setTimeout(() => t.classList.remove('show'), 2200);
|
||||
}
|
||||
|
||||
// ── Init ──────────────────────────────────────────────────────────────────────
|
||||
renderEndpointList(ENDPOINTS);
|
||||
selectEndpoint('GET', '/api/health');
|
||||
@@ -644,6 +639,6 @@ document.getElementById('pg-url').addEventListener('keydown', e => {
|
||||
</script>
|
||||
|
||||
<script src="auth.js"></script>
|
||||
<script src="branding.js"></script>
|
||||
<script src="branding.js?v=3"></script>
|
||||
</body>
|
||||
</html>
|
||||
Reference in new issue
Block a user