diff --git a/web/workspace/src/app.css b/web/workspace/src/app.css
index d1108aab..b3b1eec6 100644
--- a/web/workspace/src/app.css
+++ b/web/workspace/src/app.css
@@ -347,8 +347,7 @@
border-top: 0;
}
- .runtime-card,
- .kanban-column {
+ .runtime-card {
padding: var(--space-4) 0 0;
border-top: 1px solid var(--line);
}
@@ -423,36 +422,6 @@
text-transform: uppercase;
}
- .kanban {
- display: grid;
- gap: var(--space-5);
- grid-template-columns: repeat(auto-fit, minmax(min(190px, 100%), 1fr));
- margin-top: var(--space-4);
- }
-
- .kanban-column h3 {
- display: flex;
- justify-content: space-between;
- gap: var(--space-3);
- color: var(--text-muted);
- font-size: 0.9rem;
- letter-spacing: 0.07em;
- text-transform: uppercase;
- }
-
- .kanban-column ul {
- display: grid;
- gap: var(--space-3);
- margin: 0;
- padding: 0;
- list-style: none;
- }
-
- .kanban-column li {
- padding-left: var(--space-3);
- border-left: 2px solid var(--line);
- }
-
.diagnostics {
margin-top: var(--space-4);
}
diff --git a/web/workspace/src/lib/workspace-pages/RepositoryTicketKanban.svelte b/web/workspace/src/lib/workspace-pages/RepositoryTicketKanban.svelte
new file mode 100644
index 00000000..e6475795
--- /dev/null
+++ b/web/workspace/src/lib/workspace-pages/RepositoryTicketKanban.svelte
@@ -0,0 +1,283 @@
+
+
+
+ {#each groups as group (group.key)}
+
+
+
+ {#if group.items.length === 0}
+ No tickets.
+ {:else}
+
+ {/if}
+
+ {/each}
+
+
+
diff --git a/web/workspace/src/lib/workspace-pages/WorkspacePage.svelte b/web/workspace/src/lib/workspace-pages/WorkspacePage.svelte
index 232f579b..82b91414 100644
--- a/web/workspace/src/lib/workspace-pages/WorkspacePage.svelte
+++ b/web/workspace/src/lib/workspace-pages/WorkspacePage.svelte
@@ -1,4 +1,5 @@