Files
SiteCompanion/sitecompanion/popup.html

101 lines
3.7 KiB
HTML

<!doctype html>
<html lang="en">
<head>
<meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<title>SiteCompanion</title>
<link rel="stylesheet" href="popup.css" />
</head>
<body>
<header class="title-block">
<div class="title-line">
<span class="title">SiteCompanion</span>
<span class="subtitle">AI companion for site-bound tasks.</span>
</div>
</header>
<section id="unknownSiteState" class="panel hidden">
<div class="state-body">
<p>This site is not recognized. Paste partial text from the page you want to extract:</p>
<textarea id="partialTextPaste" rows="4" placeholder="Paste some text here..."></textarea>
<div id="minimalExtractStatus" class="helper-text hidden"></div>
<div class="row">
<button id="extractMinimalBtn" class="accent">Try Extracting Minimal</button>
<button id="extractFullBtn" class="ghost">Extract Full Text</button>
</div>
</div>
</section>
<section id="extractionReviewState" class="panel hidden">
<div class="state-body">
<p>Review extracted text:</p>
<div id="extractedPreview" class="preview-box"></div>
<div class="field">
<label for="siteNameInput">Site Name</label>
<input type="text" id="siteNameInput" placeholder="Example" />
</div>
<div class="field">
<label for="urlPatternInput">URL Match Pattern</label>
<input type="text" id="urlPatternInput" placeholder="example.com/*" />
</div>
<div class="field">
<label for="workspaceSelect">Workspace</label>
<select id="workspaceSelect"></select>
</div>
<div class="row">
<button id="retryExtractBtn" class="ghost">Retry</button>
<button id="confirmSiteBtn" class="accent">Confirm</button>
</div>
</div>
</section>
<section id="normalExecutionState" class="panel">
<div class="workspace-info">
Workspace: <span id="currentWorkspaceName">Global</span>
</div>
<div class="controls-block">
<div class="config-block">
<div class="selector-row">
<div class="field selector-field">
<label for="envSelect">Environment</label>
<select id="envSelect"></select>
</div>
<div class="field selector-field">
<label for="profileSelect">Profile</label>
<select id="profileSelect"></select>
</div>
</div>
<div class="task-row">
<div class="field inline-field task-field">
<label for="taskSelect">Task</label>
<select id="taskSelect"></select>
</div>
<button id="runBtn" class="accent">Run</button>
<button id="abortBtn" class="ghost stop-btn hidden" disabled>Stop</button>
</div>
</div>
</div>
<div class="meta">
<span id="postingCount">Site Text: 0 chars</span>
<span id="promptCount">Task: 0 chars</span>
<span id="status" class="status">Idle</span>
</div>
</section>
<section class="output">
<div id="output" class="output-body" aria-live="polite"></div>
</section>
<footer class="footer">
<div class="footer-left">
<button id="copyRenderedBtn" class="ghost" type="button">Copy</button>
<button id="copyRawBtn" class="ghost" type="button">Copy Markdown</button>
<button id="clearOutputBtn" class="ghost" type="button">Clear</button>
</div>
<button id="settingsBtn" class="link">Settings</button>
</footer>
<script src="popup.js"></script>
</body>
</html>