@goodandready/dsh-kanban 0.2.9 → 0.2.11
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/lib/client.js +34 -2
- package/package.json +1 -1
package/lib/client.js
CHANGED
|
@@ -17,6 +17,10 @@ window.__ModuleLoader__.load({
|
|
|
17
17
|
const ReactDOM = require('react-dom/client')
|
|
18
18
|
|
|
19
19
|
const NS = 'dsh-kanban'
|
|
20
|
+
// Plugins page row seat (DSH 0.1.6-alpha.2): key = '<package name>#<row id>'.
|
|
21
|
+
const PKG = '@goodandready/dsh-kanban'
|
|
22
|
+
const ROW_ID = 'dsh-kanban'
|
|
23
|
+
const ROW_CONFIG_KEY = PKG + '#' + ROW_ID
|
|
20
24
|
const COLUMN_ORDER = ['backlog', 'in-progress', 'review', 'deploy', 'cleanup', 'done']
|
|
21
25
|
|
|
22
26
|
|
|
@@ -1976,8 +1980,15 @@ window.__ModuleLoader__.load({
|
|
|
1976
1980
|
body = rows
|
|
1977
1981
|
}
|
|
1978
1982
|
|
|
1979
|
-
|
|
1980
|
-
|
|
1983
|
+
// Row seat (plugins.row.config): the host page draws title/icon/crumb and the
|
|
1984
|
+
// padding, so the summary is a one-liner and the page drops our card chrome.
|
|
1985
|
+
if (props && props.view === 'summary') {
|
|
1986
|
+
return h('span', { className: 'dkb-sub' }, t('settings.subtitle') || 'Kanban board for sessions and tasks')
|
|
1987
|
+
}
|
|
1988
|
+
const page = !!(props && props.view === 'page')
|
|
1989
|
+
|
|
1990
|
+
return h(page ? 'div' : 'li', { className: page ? 'dkb-page' : 'dkb-card dkb-cardOpen' },
|
|
1991
|
+
page ? null : head, h('div', { className: 'dkb-body' }, body))
|
|
1981
1992
|
}
|
|
1982
1993
|
|
|
1983
1994
|
/** Стрелка влево для кнопки возврата: 14x14, обводка цветом текста. */
|
|
@@ -4502,7 +4513,28 @@ window.__ModuleLoader__.load({
|
|
|
4502
4513
|
refreshMirrorUntilVisible(ctx)
|
|
4503
4514
|
const SettingsErrorBoundary = createErrorBoundary()
|
|
4504
4515
|
const SafeSettingsCard = (props) => h(SettingsErrorBoundary, null, h(KanbanSettingsCard, props))
|
|
4516
|
+
// List seat (plugins.item): the seat the Plugins page renders as the plugin's own
|
|
4517
|
+
// page with its configuration. Registered separately from the fallback chain
|
|
4518
|
+
// below — the seat is additive, not an either/or candidate. The label is a static
|
|
4519
|
+
// string on purpose: it is resolved while the page renders, and a locale lookup
|
|
4520
|
+
// there would take the whole client batch down with it.
|
|
4521
|
+
try {
|
|
4522
|
+
ctx.slots.inject('plugins.item', () => {
|
|
4523
|
+
ctx.slots.register({
|
|
4524
|
+
name: 'plugins.item',
|
|
4525
|
+
id: ROW_ID,
|
|
4526
|
+
order: 60,
|
|
4527
|
+
label: () => 'Kanban',
|
|
4528
|
+
locale: NS,
|
|
4529
|
+
inject: () => ({ ctx }),
|
|
4530
|
+
}, SafeSettingsCard)
|
|
4531
|
+
})
|
|
4532
|
+
} catch (e) {
|
|
4533
|
+
console.warn('[dsh-kanban] plugins.item seat unavailable', e)
|
|
4534
|
+
}
|
|
4535
|
+
|
|
4505
4536
|
const cardSlot = registerFirst(ctx, [
|
|
4537
|
+
{ name: 'plugins.row.config', key: ROW_CONFIG_KEY, locale: NS, inject: () => ({ ctx }) },
|
|
4506
4538
|
{ name: 'settings.plugin.item', key: NS, locale: NS, inject: () => ({ ctx }) },
|
|
4507
4539
|
], SafeSettingsCard)
|
|
4508
4540
|
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@goodandready/dsh-kanban",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.11",
|
|
4
4
|
"description": "Visual Kanban board for DeepSeek Harness: Gitea-backed tasks, workflow columns, and a dedicated agent session per task.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "lib/index.js",
|