336 lines
13 KiB
HTML
336 lines
13 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8" />
|
|
<meta name="viewport" content="width=device-width, initial-scale=1" />
|
|
<title>SiteCompanion Settings</title>
|
|
<link rel="stylesheet" href="settings.css" />
|
|
</head>
|
|
<body>
|
|
<header class="title-block">
|
|
<div class="title">SiteCompanion Settings</div>
|
|
<div class="subtitle">Configure workspaces, tasks, and API access</div>
|
|
</header>
|
|
<div class="settings-layout">
|
|
<nav class="toc" aria-label="Settings table of contents">
|
|
<div class="toc-heading">SiteCompanion Settings</div>
|
|
<button id="saveBtnSidebar" class="accent" type="button">Save Settings</button>
|
|
<div id="statusSidebar" class="status"> </div>
|
|
<div id="sidebarErrors" class="sidebar-errors hidden"></div>
|
|
<div class="toc-title">Sections</div>
|
|
<div class="toc-links">
|
|
<ul>
|
|
<li>
|
|
<details class="toc-group" open>
|
|
<summary><a href="#global-config-panel">Global Configuration</a></summary>
|
|
<ul class="toc-sub">
|
|
<li><a href="#appearance-panel">Appearance</a></li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:api-keys">
|
|
<summary><a href="#api-keys-panel">API Keys</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-api-keys-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:api-configs">
|
|
<summary><a href="#api-panel">API</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-api-configs-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:envs">
|
|
<summary><a href="#environment-panel">Environments</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-envs-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:profiles">
|
|
<summary><a href="#profiles-panel">Profiles</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-profiles-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:tasks">
|
|
<summary><a href="#tasks-panel">Tasks</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-tasks-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group toc-global-section" data-state-key="toc:global:shortcuts">
|
|
<summary><a href="#shortcuts-panel">Toolbar Shortcuts</a></summary>
|
|
<ul class="toc-sub toc-cards" id="toc-global-shortcuts-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li><a href="#global-sites-panel">Sites</a></li>
|
|
</ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group">
|
|
<summary><a href="#workspaces-panel">Workspaces</a></summary>
|
|
<ul class="toc-sub" id="toc-workspaces-list"></ul>
|
|
</details>
|
|
</li>
|
|
<li>
|
|
<details class="toc-group">
|
|
<summary><a href="#sites-panel">Sites</a></summary>
|
|
<ul class="toc-sub" id="toc-sites-list"></ul>
|
|
</details>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<div id="tocResizer" class="toc-resizer" aria-hidden="true"></div>
|
|
</nav>
|
|
<main class="settings-main">
|
|
<details class="panel" id="global-config-panel" open>
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<h2>Global Configuration</h2>
|
|
</div>
|
|
<div class="panel-summary-right"></div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<!-- Appearance -->
|
|
<details class="panel sub-panel" id="appearance-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<h2>Appearance</h2>
|
|
</div>
|
|
<div class="panel-summary-right"></div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div class="inline-fields four appearance-fields">
|
|
<div class="field">
|
|
<label for="themeSelect">Theme</label>
|
|
<select id="themeSelect">
|
|
<option value="system">System</option>
|
|
<option value="light">Light</option>
|
|
<option value="dark">Dark</option>
|
|
</select>
|
|
</div>
|
|
<div class="field">
|
|
<label for="toolbarPositionSelect">Toolbar Position</label>
|
|
<select id="toolbarPositionSelect">
|
|
<option value="bottom-right">Bottom Right</option>
|
|
<option value="bottom-left">Bottom Left</option>
|
|
<option value="top-right">Top Right</option>
|
|
<option value="top-left">Top Left</option>
|
|
<option value="bottom-center">Bottom Center</option>
|
|
</select>
|
|
</div>
|
|
<div class="field">
|
|
<label for="alwaysUseDefaultEnvProfileSelect">
|
|
Always use default ENV/PROFILE
|
|
</label>
|
|
<select id="alwaysUseDefaultEnvProfileSelect">
|
|
<option value="enabled">Enabled</option>
|
|
<option value="disabled">Disabled</option>
|
|
</select>
|
|
</div>
|
|
<div class="field">
|
|
<label for="emptyToolbarBehaviorSelect">Empty toolbar</label>
|
|
<select id="emptyToolbarBehaviorSelect">
|
|
<option value="hide">Hide Toolbar</option>
|
|
<option value="open">Show "Open SiteCompanion"</option>
|
|
</select>
|
|
</div>
|
|
</div>
|
|
<div class="inline-fields two appearance-toggles">
|
|
<div class="field">
|
|
<label class="toggle-label">
|
|
<input id="toolbarAutoHide" type="checkbox" />
|
|
Auto-hide toolbar on unknown sites
|
|
</label>
|
|
</div>
|
|
<div class="field">
|
|
<label class="toggle-label">
|
|
<input id="alwaysShowOutput" type="checkbox" />
|
|
Always show output buffer in popup UI
|
|
</label>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- API Keys -->
|
|
<details class="panel sub-panel" id="api-keys-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<h2>API KEYS</h2>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addApiKeyBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="apiKeys" class="api-keys"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- API -->
|
|
<details class="panel sub-panel" id="api-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<h2>API</h2>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addApiConfigBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="apiConfigs" class="api-configs"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- Envs -->
|
|
<details class="panel sub-panel" id="environment-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>ENVIRONMENTS</h2>
|
|
<span class="hint hint-accent">Baseline environments</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addEnvConfigBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="envConfigs" class="env-configs"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- Profiles -->
|
|
<details class="panel sub-panel" id="profiles-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>PROFILES</h2>
|
|
<span class="hint hint-accent">Baseline user contexts</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addProfileBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="profiles" class="profiles"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- Tasks -->
|
|
<details class="panel sub-panel" id="tasks-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>TASKS</h2>
|
|
<span class="hint hint-accent">Baseline execution units</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addTaskBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="tasks" class="tasks"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- Toolbar Shortcuts -->
|
|
<details class="panel sub-panel" id="shortcuts-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>TOOLBAR SHORTCUTS</h2>
|
|
<span class="hint hint-accent">One-click toolbar runs</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addShortcutBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="shortcuts" class="shortcuts"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<!-- Sites -->
|
|
<details class="panel sub-panel" id="global-sites-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>SITES</h2>
|
|
<span class="hint hint-accent">Inherit directly from global</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right"></div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="globalSites" class="sites-list"></div>
|
|
</div>
|
|
</details>
|
|
</div>
|
|
</details>
|
|
|
|
<details class="panel" id="workspaces-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>Workspaces</h2>
|
|
<span class="hint hint-accent">Namespace for sites and resources</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addWorkspaceBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="workspaces" class="workspaces"></div>
|
|
</div>
|
|
</details>
|
|
|
|
<details class="panel" id="sites-panel">
|
|
<summary class="panel-summary">
|
|
<div class="panel-summary-row">
|
|
<div class="panel-summary-left">
|
|
<div class="row-title">
|
|
<h2>Sites</h2>
|
|
<span class="hint hint-accent">Configure known sites</span>
|
|
</div>
|
|
</div>
|
|
<div class="panel-summary-right">
|
|
<button id="addSiteBtn" class="accent" type="button">Add</button>
|
|
</div>
|
|
</div>
|
|
</summary>
|
|
<div class="panel-body">
|
|
<div id="sites" class="sites"></div>
|
|
</div>
|
|
</details>
|
|
</main>
|
|
</div>
|
|
|
|
<script src="settings.js"></script>
|
|
</body>
|
|
</html>
|