File size: 3,892 Bytes
7a077a3
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0" />
  <title>JalGuard - Admin Panel</title>
  <link rel="preconnect" href="https://fonts.googleapis.com" />
  <link rel="preconnect" href="https://fonts.gstatic.com" crossorigin />
  <link href="https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;700;800&family=Sora:wght@600;700&display=swap" rel="stylesheet" />
  <link rel="stylesheet" href="/static/css/styles.css" />
</head>
<body>
  <header class="nav">
    <div class="nav-inner">
      <div class="brand"><span class="brand-dot"></span>JalGuard Control Suite</div>
      <nav class="nav-links">
        <a class="nav-link" data-page="dashboard" href="/dashboard">Dashboard</a>
        <a class="nav-link" data-page="scenario" href="/scenario-builder">Scenario Builder</a>
        <a class="nav-link" data-page="analytics" href="/analytics">Analytics & Reports</a>
        <a class="nav-link" data-page="admin" href="/admin-panel">Admin Panel</a>
      </nav>
      <a class="profile-link" id="profileLink" href="/settings">JG</a>
    </div>
  </header>

  <main class="wrap">
    <section class="status-bar">
      <div class="status-pill">FastAPI<strong id="statusFastAPI">-</strong></div>
      <div class="status-pill">Simulation Engine<strong id="statusOpenEnv">-</strong></div>
      <div class="status-pill">AI Assistant<strong id="statusAssistant">-</strong></div>
      <div class="status-pill">Current Task<strong id="statusTask">-</strong></div>
    </section>

    <section class="quick-actions">
      <button class="btn" data-qa="start">Start Episode</button>
      <button class="btn secondary" data-qa="reset">Reset</button>
      <button class="btn accent" data-qa="ask-ai">Ask AI</button>
      <button class="btn ghost" data-qa="download">Download Report</button>
    </section>

    <section class="grid">
      <article class="card" style="grid-column: span 12;">
        <h3>Pre-Submission Validation Runner</h3>
        <p class="desc">Run a clean readiness checklist before submission.</p>
        <div class="form-row">
          <button id="runValidationBtn" class="btn accent">Run Validation</button>
          <span class="tag">Status: <strong id="validationStatus">idle</strong></span>
        </div>
        <ul id="validationChecklist" class="checklist"></ul>
        <details class="developer-tools">
          <summary>View raw validation output</summary>
          <pre id="validationOutput" class="log-box" style="max-height:260px;"></pre>
        </details>
      </article>

      <article class="card" style="grid-column: span 12;">
        <details class="developer-tools">
          <summary>Developer Tools</summary>
          <p class="desc" style="margin-top:10px;">Run quick internal calls when needed during development.</p>
          <div class="form-row">
            <select id="playAction">
              <option value="reset">Reset Episode</option>
              <option value="step">Run Single Step</option>
              <option value="state">Read Current State</option>
            </select>
          </div>
          <div class="form-row"><textarea id="playPayload" rows="5">{"task_id":"odisha_survival"}</textarea></div>
          <button id="playRunBtn" class="btn secondary">Run Tool</button>
          <pre id="playResponse" class="log-box" style="max-height:220px;">{}</pre>
        </details>
      </article>
    </section>
  </main>

  <a class="help-fab" href="/docs" title="Help">?</a>
  <div class="toast-wrap" id="toastWrap"></div>
  <div class="modal" id="onboardModal"><div class="modal-content"><h3>Quick Onboarding</h3><p id="onboardBody"></p><button id="onboardNext" class="btn">Next</button></div></div>

  <script src="/static/js/common.js"></script>
  <script src="/static/js/admin.js"></script>
</body>
</html>