feat(ui): interactive graph, strip context menus, days by activity, message times, limit status words

This commit is contained in:
hh committed 2026-09-02 04:24:15 +02:00
1 parent 025f2dbc3f
commit c6401f1114
27 files changed
+1619 -381

No files matched your search

+28 -7
View File
@@ -1,14 +1,35 @@
<script lang="ts">
import { gateway } from "$lib/gateway.svelte";
import KindMark, { KIND_MEANING } from "$lib/shell/kind-mark.svelte";
const KINDS = ["master", "branch", "deep", "fork", "job"];
const running = $derived(gateway.running.length);
function meaning(kind: string): string {
return KIND_MEANING[kind]?.split(" — ")[1] ?? "";
}
</script>
<div
class="flex flex-1 flex-col items-center justify-center gap-1 p-6 text-center text-muted-foreground text-sm"
>
<p>Pick a strip on the left.</p>
{#if running > 0}
<p class="text-signal">{running} in motion right now.</p>
{/if}
<div class="flex flex-1 flex-col items-center justify-center gap-6 p-6">
<p class="text-center text-muted-foreground text-sm">
Pick a strip on the left.
{#if running > 0}
<span class="text-signal">{running} in motion right now.</span>
{/if}
</p>
<dl
class="grid max-w-md grid-cols-[auto_minmax(0,1fr)] gap-x-3 gap-y-2 text-sm"
>
{#each KINDS as kind (kind)}
<dt class="flex items-center gap-2">
<KindMark {kind} />
<span class="font-medium">{kind}</span>
</dt>
<dd class="text-muted-foreground">{meaning(kind)}</dd>
{/each}
</dl>
<p class="max-w-md text-center text-muted-foreground text-xs">
Days go by the last word, not by the parent: an open branch follows the
master through the morning rotation. Right-click a strip for its actions.
</p>
</div>