The workspace gains the concept's Activity page (renderActivity), its top-bar button and sidebar row, fed by one session job store: a /jobs read, one SSE stream per running job, a 1-30 s capped backoff after a dropped stream and a 15 s list poll while visible. A job the server no longer lists shows as ended, so no pill stays stuck after a restart. D52: the counts show running jobs and hide at 0; the phone top-bar row may wrap. D53: the mockup's progress pill links the running job. D54: real job items with state chips, detail lines and Cancel job. Start and finish toasts follow the spec copy. Fake browser jobs come from tests/browser/workspace_activity_fixture.py.
50 lines
3.0 KiB
HTML
50 lines
3.0 KiB
HTML
<!doctype html>
|
|
<html lang="en">
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
<meta name="color-scheme" content="light dark">
|
|
<title>Prompt Manager · Workspace</title>
|
|
<link rel="stylesheet" href="js/shared/toolkit/controls.css">
|
|
<link rel="stylesheet" href="lib/viewerjs/viewer.min.css">
|
|
<link rel="stylesheet" href="js/workspace/concept.css">
|
|
<link rel="stylesheet" href="js/workspace/workspace.css">
|
|
<script src="lib/viewerjs/viewer.min.js" defer></script>
|
|
<script src="js/comfy-metadata.js" defer></script>
|
|
<script src="js/gallery-settings.js" defer></script>
|
|
<script type="module" src="js/workspace/index.mjs"></script>
|
|
</head>
|
|
<body class="ca-tools">
|
|
<a class="skip" href="#workspace-main">Skip to workspace</a>
|
|
<div class="app-shell">
|
|
<aside class="sidebar">
|
|
<a class="brand" href="#/images"><span class="brand-mark">P<span>±</span></span><span>Prompt Manager<small>COMFYASSETS</small></span></a>
|
|
<div class="sidebar-label">WORKSPACE</div>
|
|
<nav id="primary-nav" aria-label="Workspace"></nav>
|
|
<!-- D49: the concept's SAVED VIEWS group without its "PROPOSED" badge (saved views are persisted, #249 D16). -->
|
|
<div class="sidebar-label">SAVED VIEWS</div>
|
|
<nav id="saved-nav" aria-label="Saved views"></nav>
|
|
<div class="sidebar-bottom">
|
|
<nav id="system-nav" aria-label="Tools and system"></nav>
|
|
<div class="connection"><i></i><div>ComfyUI workspace<small>Your library, on your server</small></div></div>
|
|
</div>
|
|
</aside>
|
|
<div class="workspace">
|
|
<header class="topbar">
|
|
<div class="breadcrumbs">ComfyAssets <span>/</span> <span id="workspace-breadcrumb">Images</span></div>
|
|
<div class="top-actions"><!-- D53: the progress pill, shown while a job runs. D52: the count shows running jobs, hidden at 0. --><a id="activity-pill" class="activity-pill" hidden></a><button id="activity-open" type="button">Activity <span class="count" id="activity-count" hidden>0</span></button><label class="theme-label" for="theme">Theme
|
|
<select id="theme" aria-label="Theme">
|
|
<option value="dark">Dark</option>
|
|
<option value="light">Light</option>
|
|
<option value="system" selected>System</option>
|
|
</select></label><a class="canvas-link" href="../">ComfyUI <span aria-hidden="true">↗</span></a></div>
|
|
</header>
|
|
<main id="workspace-main" tabindex="-1"></main>
|
|
<footer class="app-footer"><span>ComfyAssets · Local tools. Your library.</span></footer>
|
|
</div>
|
|
</div>
|
|
<div id="workspace-toast" class="toast" role="status" aria-live="polite" aria-atomic="true"></div>
|
|
<noscript><p>This workspace needs JavaScript. <a href="admin">Open the existing dashboard</a>.</p></noscript>
|
|
</body>
|
|
</html>
|