@worca/ui 0.4.0 → 0.5.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/app/favicon-global.svg +5 -0
- package/app/favicon-project.svg +5 -0
- package/app/index.html +1 -0
- package/app/main.bundle.js +525 -491
- package/app/main.bundle.js.map +3 -3
- package/app/styles.css +9 -5
- package/package.json +2 -1
- package/server/app.js +10 -0
- package/server/ws-beads-watcher.js +1 -1
- package/server/ws-message-router.js +6 -0
package/app/styles.css
CHANGED
|
@@ -25,9 +25,9 @@
|
|
|
25
25
|
--status-resuming: #3b82f6;
|
|
26
26
|
--status-skipped: #94a3b8;
|
|
27
27
|
/* legacy */
|
|
28
|
-
--status-in-progress: #
|
|
28
|
+
--status-in-progress: #3b82f6;
|
|
29
29
|
--status-error: #ef4444;
|
|
30
|
-
--status-blocked: #
|
|
30
|
+
--status-blocked: #f59e0b;
|
|
31
31
|
|
|
32
32
|
/* Log viewer */
|
|
33
33
|
--log-bg: #0f172a;
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
/* Shoelace token mapping */
|
|
48
48
|
--sl-color-primary-600: var(--accent);
|
|
49
49
|
--sl-color-success-600: var(--status-completed);
|
|
50
|
-
--sl-color-warning-600: var(--status-
|
|
50
|
+
--sl-color-warning-600: var(--status-blocked);
|
|
51
51
|
--sl-color-danger-600: var(--status-error);
|
|
52
52
|
--sl-color-neutral-600: var(--status-pending);
|
|
53
53
|
--sl-border-radius-medium: var(--radius);
|
|
@@ -577,11 +577,11 @@ h1, h2, h3, h4, h5, h6 {
|
|
|
577
577
|
}
|
|
578
578
|
|
|
579
579
|
.timing-bar-thinking {
|
|
580
|
-
background: var(--status-blocked, #
|
|
580
|
+
background: var(--status-blocked, #f59e0b);
|
|
581
581
|
}
|
|
582
582
|
|
|
583
583
|
.timing-bar-tools {
|
|
584
|
-
background: var(--status-in-progress, #
|
|
584
|
+
background: var(--status-in-progress, #3b82f6);
|
|
585
585
|
}
|
|
586
586
|
|
|
587
587
|
.timing-bar-rest {
|
|
@@ -2613,6 +2613,10 @@ sl-option.template-grouped:focus::part(suffix) {
|
|
|
2613
2613
|
border-style: dashed;
|
|
2614
2614
|
}
|
|
2615
2615
|
|
|
2616
|
+
.beads-kanban-card--in_progress {
|
|
2617
|
+
border-color: var(--status-in-progress);
|
|
2618
|
+
}
|
|
2619
|
+
|
|
2616
2620
|
.beads-kanban-card-header {
|
|
2617
2621
|
display: flex;
|
|
2618
2622
|
align-items: center;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@worca/ui",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.5.0",
|
|
4
4
|
"description": "Pipeline monitoring UI for worca-cc",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"author": "Sinisha Djukic",
|
|
@@ -26,6 +26,7 @@
|
|
|
26
26
|
"server/*.js",
|
|
27
27
|
"!server/*.test.js",
|
|
28
28
|
"!server/test/",
|
|
29
|
+
"app/favicon-*.svg",
|
|
29
30
|
"app/index.html",
|
|
30
31
|
"app/main.bundle.js",
|
|
31
32
|
"app/main.bundle.js.map",
|
package/server/app.js
CHANGED
|
@@ -427,6 +427,16 @@ export function createApp(options = {}) {
|
|
|
427
427
|
);
|
|
428
428
|
}
|
|
429
429
|
|
|
430
|
+
// ─── Dynamic favicon ──────────────────────────────────────────────────
|
|
431
|
+
// Serve mode-specific favicon before express.static so it takes precedence.
|
|
432
|
+
app.get('/favicon.svg', (_req, res) => {
|
|
433
|
+
const faviconFile = projectRoot
|
|
434
|
+
? 'favicon-project.svg'
|
|
435
|
+
: 'favicon-global.svg';
|
|
436
|
+
res.setHeader('Content-Type', 'image/svg+xml');
|
|
437
|
+
res.sendFile(faviconFile, { root: appDir });
|
|
438
|
+
});
|
|
439
|
+
|
|
430
440
|
app.use(express.static(appDir));
|
|
431
441
|
app.get('/{*splat}', (_req, res) => {
|
|
432
442
|
res.sendFile('index.html', { root: appDir });
|
|
@@ -8,7 +8,7 @@ import { existsSync, watch } from 'node:fs';
|
|
|
8
8
|
import { join, resolve } from 'node:path';
|
|
9
9
|
import { listIssues } from './beads-reader.js';
|
|
10
10
|
|
|
11
|
-
const BEADS_DEBOUNCE_MS =
|
|
11
|
+
const BEADS_DEBOUNCE_MS = 500;
|
|
12
12
|
|
|
13
13
|
/**
|
|
14
14
|
* @param {{ worcaDir: string, broadcaster: { broadcast: Function }, projectId?: string }} deps
|
|
@@ -614,6 +614,12 @@ export function createMessageRouter({
|
|
|
614
614
|
return;
|
|
615
615
|
}
|
|
616
616
|
const issues = await listIssuesByLabel(beadsDbPath, `run:${runId}`);
|
|
617
|
+
console.log(
|
|
618
|
+
'[list-beads-by-run] runId=%s count=%d statuses=%o',
|
|
619
|
+
runId,
|
|
620
|
+
issues.length,
|
|
621
|
+
issues.map((i) => i.status),
|
|
622
|
+
);
|
|
617
623
|
ws.send(JSON.stringify(makeOk(req, { issues, runId })));
|
|
618
624
|
return;
|
|
619
625
|
}
|