* feat(inspector): expose bounded physical file evidence * fix(inspector): distinguish ambiguous saved associations * feat(inspector): derive conservative generation facts * fix(inspector): guard fact ancestry and inspection state * feat(inspector): share complete file details and exports * fix(inspector): preserve fact states and touch targets * feat(viewer): navigate the loaded media collection Refs #216 * fix(viewer): refit after current stage geometry changes Ref #216. Observe the current media stage after readiness and wrapped title changes without rebuilding focused controls or resetting transforms at unchanged dimensions. * feat(viewer): add lifecycle-safe slideshow and media preferences * fix(viewer): resume gallery continuation after close (#216) * fix(images): guard source recovery and wrap viewer actions Clear stale root and folder intent, cancel old pages, and wait for current source discovery before loading a refreshed collection. Preserve safe retry through failed, superseded, and disposed discovery. Wrap narrow viewer footer actions and wait for measured gallery viewport settling in responsive checks. Refs #216; addresses PR #224 review. * test(viewer): await gallery layout after viewport changes Require actual inner, root client, and document widths to agree after each responsive-case viewport and CSS zoom transition. Keep the existing exact frame, overflow, focus, and coarse target assertions unchanged. Observed PR #224 CI initial mobile resize at537px before pending card relayout settled to356px. Refs #216.
36 lines
1.9 KiB
HTML
36 lines
1.9 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="js/workspace/style.css">
|
|
<link rel="stylesheet" href="lib/viewerjs/viewer.min.css">
|
|
<link rel="stylesheet" href="js/workspace/images.css">
|
|
<link rel="stylesheet" href="js/workspace/library.css">
|
|
<link rel="stylesheet" href="js/workspace/inspector.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 content</a>
|
|
<div class="workspace-shell">
|
|
<aside class="sidebar">
|
|
<a class="brand" href="#/images"><span class="brand-mark" aria-hidden="true">P<span>±</span></span><span>Prompt Manager<small>COMFYASSETS</small></span></a>
|
|
<nav aria-label="Workspace"></nav>
|
|
<div class="sidebar-footer"><span class="connection-dot" aria-hidden="true"></span> Your library, on your server</div>
|
|
</aside>
|
|
<div class="workspace-body">
|
|
<header class="topbar"><span>ComfyAssets <span class="muted">/ <span id="workspace-breadcrumb">Images</span></span></span><div id="appearance-control"></div></header>
|
|
<main id="workspace-main" tabindex="-1"></main>
|
|
<footer class="page-footer">ComfyAssets <span>Local tools. Your library.</span></footer>
|
|
</div>
|
|
</div>
|
|
<noscript><p>This workspace needs JavaScript. <a href="admin">Open the existing dashboard</a>.</p></noscript>
|
|
</body>
|
|
</html>
|