Spaces:
Running
Running
File size: 10,142 Bytes
3f5b361 47212af 3f5b361 fe39614 3f5b361 fe39614 3f5b361 fe39614 3f5b361 552f3f2 fe39614 b8d177b 2b7ddba fe39614 552f3f2 fe39614 cd4b9f5 fe39614 cd4b9f5 fe39614 cd4b9f5 fe39614 b8d177b cd4b9f5 fe39614 cd4b9f5 fe39614 cd4b9f5 fe39614 cd4b9f5 fe39614 cd4b9f5 fe39614 552f3f2 fe4f0b2 3f5b361 1636ae6 2b7ddba 1636ae6 cd4b9f5 47212af 552f3f2 fe4f0b2 fe39614 3f5b361 |
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 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 |
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Flare Admin UI</title>
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css">
<link rel="stylesheet" href="style.css">
</head>
<body class="p-4">
<div class="container">
<h1 class="mb-4 text-center">🔥 Flare Admin UI</h1>
<!-- Login Panel -->
<div id="login-panel" class="card mb-3">
<div class="card-header">Login</div>
<div class="card-body">
<input type="text" id="login-username" class="form-control mb-2" placeholder="Username">
<input type="password" id="login-password" class="form-control mb-2" placeholder="Password">
<button class="btn btn-primary btn-block" onclick="login()">Login</button>
<div id="login-result" class="mt-2 text-danger"></div>
</div>
</div>
<!-- Main Tabs Panel (hidden until login) -->
<div id="main-tabs" class="d-none">
<ul class="nav nav-tabs mb-3" role="tablist">
<li class="nav-item"><a class="nav-link active" data-toggle="tab" href="#config" role="tab">Config</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#projects" role="tab">Projects</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#spark" role="tab">Spark</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#test" role="tab">Test</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#admin" role="tab">Admin Tools</a></li>
<li class="nav-item"><a class="nav-link" data-toggle="tab" href="#api" role="tab">API Definitions</a></li>
</ul>
<div class="tab-content">
<!-- Config Tab -->
<div class="tab-pane fade show active" id="config" role="tabpanel">
<form>
<div class="form-group">
<label for="work-mode">Work Mode</label>
<select id="work-mode" class="form-control" onchange="toggleCloudToken()">
<option value="hfcloud">hfcloud</option>
<option value="cloud">cloud</option>
<option value="on-premise">on-premise</option>
</select>
</div>
<div class="form-group">
<label for="cloud-token">Cloud Token</label>
<input type="text" id="cloud-token" class="form-control">
</div>
<button type="button" class="btn btn-info mb-2" onclick="getConfig()">Load Config</button>
<button type="button" class="btn btn-success mb-2" onclick="updateConfig()">Update Config</button>
<div id="config-result" class="mt-2"></div>
</form>
</div>
<!-- Projects Tab -->
<div class="tab-pane fade" id="projects" role="tabpanel">
<button class="btn btn-info mb-2" onclick="listProjects()">Refresh Project List</button>
<div class="form-group">
<label for="project-select">Select Project</label>
<select id="project-select" class="form-control" onchange="loadProjectDetails()">
<option value="">-- Select a project --</option>
</select>
</div>
<div id="project-details" class="mt-3 d-none">
<h5>Project Details</h5>
<div id="project-info"></div>
<button class="btn btn-success mt-2" onclick="saveProject()">Save Changes</button>
<button class="btn btn-warning mt-2" onclick="publishProject()">Publish Version</button>
</div>
<div id="project-result" class="mt-2"></div>
</div>
<!-- Spark Tab -->
<div class="tab-pane fade" id="spark" role="tabpanel">
<button class="btn btn-info mb-2" onclick="sparkProjectList()">Get Spark Project List</button>
<div id="spark-table" class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>Project</th>
<th>Version</th>
<th>Enabled</th>
<th>Status</th>
<th>Last Accessed</th>
</tr>
</thead>
<tbody id="spark-body">
<!-- Spark rows here -->
</tbody>
</table>
</div>
<div id="spark-result" class="mt-2"></div>
</div>
<!-- Test Tab -->
<div class="tab-pane fade" id="test" role="tabpanel">
<button class="btn btn-warning mb-2" onclick="runTests()">Run All Tests</button>
<div id="test-result" class="mt-2"></div>
</div>
<!-- Admin Tools Tab -->
<div class="tab-pane fade" id="admin" role="tabpanel">
<button class="btn btn-danger mb-2" onclick="seedTestData()">Seed Test Data</button>
<button class="btn btn-danger mb-2" onclick="clearAllProjects()">Clear All Projects</button>
<div id="admin-result" class="mt-2"></div>
</div>
<!-- API Definitions Tab -->
<div class="tab-pane fade" id="api" role="tabpanel">
<button class="btn btn-info mb-2" onclick="listApis()">Refresh API List</button>
<button class="btn btn-success mb-2" onclick="addApi()">+ Add API</button>
<div id="api-table" class="table-responsive">
<table class="table table-bordered">
<thead>
<tr>
<th>API Name</th>
<th>URL</th>
<th>Method</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="api-body">
<!-- API rows here -->
</tbody>
</table>
</div>
<div id="api-result" class="mt-2"></div>
</div>
</div>
</div>
</div>
<!-- Intent Edit Modal -->
<div class="modal fade" id="intentModal" tabindex="-1" role="dialog" aria-labelledby="intentModalLabel" aria-hidden="true">
<div class="modal-dialog modal-lg" role="document">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title" id="intentModalLabel">Edit Intent</h5>
<button type="button" class="close" data-dismiss="modal" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<div class="modal-body">
<input type="hidden" id="intent-project-name">
<input type="hidden" id="intent-name">
<div class="form-group">
<label for="intent-action">Action (API)</label>
<input type="text" id="intent-action" class="form-control">
</div>
<div class="form-group">
<label for="intent-fallback">Fallback Error Message</label>
<input type="text" id="intent-fallback" class="form-control">
</div>
<div class="form-group">
<label for="intent-prompt">Humanization Prompt</label>
<textarea id="intent-prompt" class="form-control"></textarea>
</div>
<div class="form-group">
<label for="intent-examples">Examples (comma-separated)</label>
<input type="text" id="intent-examples" class="form-control">
</div>
<div class="form-group">
<label>Parameters</label>
<button class="btn btn-sm btn-success ml-2" onclick="addParameterRow()">+ Add Parameter</button>
<table class="table table-sm mt-2">
<thead>
<tr>
<th>Name</th>
<th>Type</th>
<th>Regex</th>
<th>Validation Message</th>
<th>Actions</th>
</tr>
</thead>
<tbody id="parameter-body">
<!-- parameter rows -->
</tbody>
</table>
</div>
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary" onclick="saveIntent()">Save Changes</button>
</div>
</div>
</div>
</div>
<!-- JS Files -->
<script src="js/common.js"></script>
<script src="js/auth.js"></script>
<script src="js/config.js"></script>
<script src="js/project.js"></script>
<script src="js/spark.js"></script>
<script src="js/test.js"></script>
<script src="js/admin.js"></script>
<script src="js/api.js"></script>
<script src="https://code.jquery.com/jquery-3.5.1.slim.min.js"></script>
<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
|