@cerbur/clutch-dsh-worktree 0.1.3 → 0.1.4
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/README.md +247 -107
- package/README.zh.md +297 -0
- package/lib/client/WorktreeSurface.d.ts +2 -30
- package/lib/client/WorktreeSurface.d.ts.map +1 -1
- package/lib/client/WorktreeSurface.js +31 -318
- package/lib/client/WorktreeSurface.js.map +1 -1
- package/lib/client/worktree-surface-dialogs.d.ts +7 -0
- package/lib/client/worktree-surface-dialogs.d.ts.map +1 -0
- package/lib/client/worktree-surface-dialogs.js +86 -0
- package/lib/client/worktree-surface-dialogs.js.map +1 -0
- package/lib/client/worktree-surface-rows.d.ts +9 -0
- package/lib/client/worktree-surface-rows.d.ts.map +1 -0
- package/lib/client/worktree-surface-rows.js +223 -0
- package/lib/client/worktree-surface-rows.js.map +1 -0
- package/lib/client/worktree-surface-selectors.d.ts +9 -0
- package/lib/client/worktree-surface-selectors.d.ts.map +1 -0
- package/lib/client/worktree-surface-selectors.js +28 -0
- package/lib/client/worktree-surface-selectors.js.map +1 -0
- package/lib/client/worktree-surface-types.d.ts +233 -0
- package/lib/client/worktree-surface-types.d.ts.map +1 -0
- package/lib/client/worktree-surface-types.js +2 -0
- package/lib/client/worktree-surface-types.js.map +1 -0
- package/lib/client/worktree-view-actions.d.ts +34 -0
- package/lib/client/worktree-view-actions.d.ts.map +1 -0
- package/lib/client/worktree-view-actions.js +69 -0
- package/lib/client/worktree-view-actions.js.map +1 -0
- package/lib/client/worktree-view-errors.d.ts +20 -0
- package/lib/client/worktree-view-errors.d.ts.map +1 -0
- package/lib/client/worktree-view-errors.js +65 -0
- package/lib/client/worktree-view-errors.js.map +1 -0
- package/lib/client/worktree-view-read.d.ts +48 -0
- package/lib/client/worktree-view-read.d.ts.map +1 -0
- package/lib/client/worktree-view-read.js +134 -0
- package/lib/client/worktree-view-read.js.map +1 -0
- package/lib/client/worktree-view.d.ts +4 -97
- package/lib/client/worktree-view.d.ts.map +1 -1
- package/lib/client/worktree-view.js +4 -263
- package/lib/client/worktree-view.js.map +1 -1
- package/lib/client.js +404 -324
- package/lib/client.js.map +1 -1
- package/lib/manage/manager-context.d.ts +11 -0
- package/lib/manage/manager-context.d.ts.map +1 -0
- package/lib/manage/manager-context.js +2 -0
- package/lib/manage/manager-context.js.map +1 -0
- package/lib/manage/manager-sessions.d.ts +18 -0
- package/lib/manage/manager-sessions.d.ts.map +1 -0
- package/lib/manage/manager-sessions.js +91 -0
- package/lib/manage/manager-sessions.js.map +1 -0
- package/lib/manage/manager-support.d.ts +18 -0
- package/lib/manage/manager-support.d.ts.map +1 -0
- package/lib/manage/manager-support.js +174 -0
- package/lib/manage/manager-support.js.map +1 -0
- package/lib/manage/manager-worktrees.d.ts +27 -0
- package/lib/manage/manager-worktrees.d.ts.map +1 -0
- package/lib/manage/manager-worktrees.js +259 -0
- package/lib/manage/manager-worktrees.js.map +1 -0
- package/lib/manage/manager.d.ts +23 -65
- package/lib/manage/manager.d.ts.map +1 -1
- package/lib/manage/manager.js +32 -565
- package/lib/manage/manager.js.map +1 -1
- package/lib/provider/sidecar-persistence.d.ts +18 -0
- package/lib/provider/sidecar-persistence.d.ts.map +1 -0
- package/lib/provider/sidecar-persistence.js +162 -0
- package/lib/provider/sidecar-persistence.js.map +1 -0
- package/lib/provider/sidecar-schema.d.ts +6 -0
- package/lib/provider/sidecar-schema.d.ts.map +1 -0
- package/lib/provider/sidecar-schema.js +123 -0
- package/lib/provider/sidecar-schema.js.map +1 -0
- package/lib/provider/sidecar.d.ts +10 -67
- package/lib/provider/sidecar.d.ts.map +1 -1
- package/lib/provider/sidecar.js +21 -346
- package/lib/provider/sidecar.js.map +1 -1
- package/package.json +1 -1
|
@@ -0,0 +1,86 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { Button, Input, Modal, } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
3
|
+
import { formatWorktreeViewError } from './worktree-error-copy.js';
|
|
4
|
+
import { worktreeSetupCommands } from './worktree-view.js';
|
|
5
|
+
import styles from './worktree.css';
|
|
6
|
+
function worktreeSetupMessage(status, t) {
|
|
7
|
+
switch (status) {
|
|
8
|
+
case 'noRepository':
|
|
9
|
+
return t('worktree.setup.noRepository');
|
|
10
|
+
case 'noInitialCommit':
|
|
11
|
+
return t('worktree.setup.noInitialCommit');
|
|
12
|
+
case 'noLocalBranch':
|
|
13
|
+
return t('worktree.setup.noLocalBranch');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
export function WorktreeSessionRenameDialog({ t, target, draft, pending, error, onClose, onDraftChange, onSubmit, }) {
|
|
17
|
+
return (_jsxs(Modal, { open: target !== undefined, onClose: onClose, closeLabel: t('dialog.close'), title: t('session.rename'), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending || draft.trim().length === 0, onClick: () => {
|
|
18
|
+
void onSubmit();
|
|
19
|
+
}, children: t('dialog.rename') })] })), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('session.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
|
|
20
|
+
event.currentTarget.select();
|
|
21
|
+
}, onChange: (event) => {
|
|
22
|
+
onDraftChange(event.currentTarget.value);
|
|
23
|
+
}, onKeyDown: (event) => {
|
|
24
|
+
if (event.key === 'Enter' && !event.nativeEvent.isComposing) {
|
|
25
|
+
event.preventDefault();
|
|
26
|
+
void onSubmit();
|
|
27
|
+
}
|
|
28
|
+
} }), error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) }))] }));
|
|
29
|
+
}
|
|
30
|
+
export function WorktreeWorkspaceRenameDialog({ t, target, draft, pending, duplicate, error, onClose, onDraftChange, onSubmit, }) {
|
|
31
|
+
if (target === undefined)
|
|
32
|
+
return null;
|
|
33
|
+
return (_jsxs(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceRename'), title: t('workspace.renameTitle'), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: pending ||
|
|
34
|
+
draft.trim().length === 0 ||
|
|
35
|
+
draft.trim() === target.currentTitle ||
|
|
36
|
+
duplicate, onClick: () => {
|
|
37
|
+
void onSubmit();
|
|
38
|
+
}, children: t('dialog.rename') })] })), children: [_jsx(Input, { className: styles.renameInput, value: draft, "aria-label": t('workspace.name'), autoFocus: true, disabled: pending, onFocus: (event) => {
|
|
39
|
+
event.currentTarget.select();
|
|
40
|
+
}, onChange: (event) => {
|
|
41
|
+
onDraftChange(event.currentTarget.value);
|
|
42
|
+
}, onKeyDown: (event) => {
|
|
43
|
+
if (event.key === 'Enter' && !event.nativeEvent.isComposing) {
|
|
44
|
+
event.preventDefault();
|
|
45
|
+
void onSubmit();
|
|
46
|
+
}
|
|
47
|
+
} }), duplicate && (_jsx("p", { className: styles.renameError, role: "alert", children: t('workspace.duplicate') })), error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) }))] }));
|
|
48
|
+
}
|
|
49
|
+
export function WorktreeWorkspaceDeleteDialog({ t, target, pending, error, onClose, onSubmit, }) {
|
|
50
|
+
if (target === undefined)
|
|
51
|
+
return null;
|
|
52
|
+
return (_jsx(Modal, { open: true, onClose: onClose, closeLabel: t('dialog.closeWorkspaceDelete'), title: t('workspace.deleteTitle'), description: t('workspace.deleteDescription', { name: target.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: pending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "outline", disabled: pending, onClick: () => {
|
|
53
|
+
void onSubmit();
|
|
54
|
+
}, children: t('dialog.delete') })] })), children: error !== undefined && (_jsx("p", { className: styles.renameError, role: "alert", children: formatWorktreeViewError(error, t) })) }));
|
|
55
|
+
}
|
|
56
|
+
export function WorktreeCreateDialog({ t, workspace, view, setupStatus, canCreate, selectedBranch, newBranch, actionPending, onClose, onSelectedBranchChange, onNewBranchChange, onSubmit, }) {
|
|
57
|
+
if (workspace === undefined)
|
|
58
|
+
return null;
|
|
59
|
+
return (_jsx(Modal, { open: true, onClose: () => {
|
|
60
|
+
if (actionPending)
|
|
61
|
+
return;
|
|
62
|
+
onClose();
|
|
63
|
+
}, closeLabel: t('dialog.closeWorktreeCreate'), title: t('worktree.createTitle'), description: t('worktree.createDescription', { name: workspace.title }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending ||
|
|
64
|
+
selectedBranch.length === 0 ||
|
|
65
|
+
newBranch.trim().length === 0, onClick: () => {
|
|
66
|
+
void onSubmit();
|
|
67
|
+
}, children: t('worktree.create') })] })), children: canCreate ? (_jsxs(_Fragment, { children: [_jsxs("label", { className: styles.modalField, children: [t('worktree.baseBranch'), _jsx("select", { className: styles.actionSelect, "aria-label": t('worktree.baseBranch'), value: selectedBranch, disabled: actionPending, onChange: (event) => {
|
|
68
|
+
onSelectedBranchChange(event.currentTarget.value);
|
|
69
|
+
}, children: view?.branches.map((branch) => (_jsxs("option", { value: branch.name, children: [branch.name, branch.isCurrent ? t('branch.current') : '', branch.checkedOut ? t('branch.checkedOut') : ''] }, branch.name))) })] }), _jsxs("label", { className: styles.modalField, children: [t('worktree.name'), _jsx(Input, { className: styles.renameInput, "aria-label": t('worktree.name'), value: newBranch, placeholder: "dsh/12345678", disabled: actionPending, onChange: (event) => {
|
|
70
|
+
onNewBranchChange(event.currentTarget.value);
|
|
71
|
+
} })] })] })) : (_jsxs("div", { className: styles.gitReadiness, "data-worktree-readiness": setupStatus ?? 'loading', role: "alert", children: [_jsx("p", { className: styles.message, children: setupStatus === undefined
|
|
72
|
+
? t('status.loading')
|
|
73
|
+
: worktreeSetupMessage(setupStatus, t) }), setupStatus !== undefined && (_jsx("pre", { className: styles.commandBlock, "aria-label": t('worktree.setup.commands'), children: worktreeSetupCommands(setupStatus).join('\n') }))] })) }));
|
|
74
|
+
}
|
|
75
|
+
export function WorktreeRemovalDialog({ t, worktree, actionPending, onClose, onSubmit, }) {
|
|
76
|
+
if (worktree === undefined)
|
|
77
|
+
return null;
|
|
78
|
+
return (_jsx(Modal, { open: true, onClose: () => {
|
|
79
|
+
if (actionPending)
|
|
80
|
+
return;
|
|
81
|
+
onClose();
|
|
82
|
+
}, closeLabel: t('dialog.closeWorktreeRemove'), title: t('worktree.remove'), description: t('worktree.removeDescription', { name: worktree.branch }), footer: (_jsxs(_Fragment, { children: [_jsx(Button, { variant: "outline", disabled: actionPending, onClick: onClose, children: t('dialog.cancel') }), _jsx(Button, { variant: "primary", disabled: actionPending, onClick: () => {
|
|
83
|
+
void onSubmit();
|
|
84
|
+
}, children: t('worktree.remove') })] })) }));
|
|
85
|
+
}
|
|
86
|
+
//# sourceMappingURL=worktree-surface-dialogs.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-surface-dialogs.js","sourceRoot":"","sources":["../../src/client/worktree-surface-dialogs.tsx"],"names":[],"mappings":";AAAA,OAAO,EACL,MAAM,EACN,KAAK,EACL,KAAK,GACN,MAAM,uCAAuC,CAAC;AAC/C,OAAO,EAAE,uBAAuB,EAAE,MAAM,0BAA0B,CAAC;AACnE,OAAO,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAS3D,OAAO,MAAM,MAAM,gBAAgB,CAAC;AAEpC,SAAS,oBAAoB,CAC3B,MAA2B,EAC3B,CAAiC;IAEjC,QAAQ,MAAM,EAAE,CAAC;QACf,KAAK,cAAc;YACjB,OAAO,CAAC,CAAC,6BAA6B,CAAC,CAAC;QAC1C,KAAK,iBAAiB;YACpB,OAAO,CAAC,CAAC,gCAAgC,CAAC,CAAC;QAC7C,KAAK,eAAe;YAClB,OAAO,CAAC,CAAC,8BAA8B,CAAC,CAAC;IAC7C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,EAC1C,CAAC,EACD,MAAM,EACN,KAAK,EACL,OAAO,EACP,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,GACiB;IACzB,OAAO,CACL,MAAC,KAAK,IACJ,IAAI,EAAE,MAAM,KAAK,SAAS,EAC1B,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,CAAC,cAAc,CAAC,EAC7B,KAAK,EAAE,CAAC,CAAC,gBAAgB,CAAC,EAC1B,MAAM,EAAE,CACN,8BACE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,YAC1D,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,OAAO,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAC9C,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC,YAEA,CAAC,CAAC,eAAe,CAAC,GACZ,IACR,CACJ,aAED,KAAC,KAAK,IACJ,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,KAAK,EAAE,KAAK,gBACA,CAAC,CAAC,cAAc,CAAC,EAC7B,SAAS,QACT,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wBAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC,GACD,EACD,KAAK,KAAK,SAAS,IAAI,CACtB,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAC,OAAO,YAC3C,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,GAChC,CACL,IACK,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,CAAC,EACD,MAAM,EACN,KAAK,EACL,OAAO,EACP,SAAS,EACT,KAAK,EACL,OAAO,EACP,aAAa,EACb,QAAQ,GACmB;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO,CACL,MAAC,KAAK,IACJ,IAAI,QACJ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,CAAC,6BAA6B,CAAC,EAC5C,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACjC,MAAM,EAAE,CACN,8BACE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,YAC1D,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EACN,OAAO;wBACP,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;wBACzB,KAAK,CAAC,IAAI,EAAE,KAAK,MAAM,CAAC,YAAY;wBACpC,SAAS,EAEX,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC,YAEA,CAAC,CAAC,eAAe,CAAC,GACZ,IACR,CACJ,aAED,KAAC,KAAK,IACJ,SAAS,EAAE,MAAM,CAAC,WAAW,EAC7B,KAAK,EAAE,KAAK,gBACA,CAAC,CAAC,gBAAgB,CAAC,EAC/B,SAAS,QACT,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,CAAC,KAAK,EAAE,EAAE;oBACjB,KAAK,CAAC,aAAa,CAAC,MAAM,EAAE,CAAC;gBAC/B,CAAC,EACD,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;oBAClB,aAAa,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;gBAC3C,CAAC,EACD,SAAS,EAAE,CAAC,KAAK,EAAE,EAAE;oBACnB,IAAI,KAAK,CAAC,GAAG,KAAK,OAAO,IAAI,CAAC,KAAK,CAAC,WAAW,CAAC,WAAW,EAAE,CAAC;wBAC5D,KAAK,CAAC,cAAc,EAAE,CAAC;wBACvB,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC;gBACH,CAAC,GACD,EACD,SAAS,IAAI,CACZ,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAC,OAAO,YAC3C,CAAC,CAAC,qBAAqB,CAAC,GACvB,CACL,EACA,KAAK,KAAK,SAAS,IAAI,CACtB,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAC,OAAO,YAC3C,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,GAChC,CACL,IACK,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,EAC5C,CAAC,EACD,MAAM,EACN,OAAO,EACP,KAAK,EACL,OAAO,EACP,QAAQ,GACmB;IAC3B,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEtC,OAAO,CACL,KAAC,KAAK,IACJ,IAAI,QACJ,OAAO,EAAE,OAAO,EAChB,UAAU,EAAE,CAAC,CAAC,6BAA6B,CAAC,EAC5C,KAAK,EAAE,CAAC,CAAC,uBAAuB,CAAC,EACjC,WAAW,EAAE,CAAC,CAAC,6BAA6B,EAAE,EAAE,IAAI,EAAE,MAAM,CAAC,KAAK,EAAE,CAAC,EACrE,MAAM,EAAE,CACN,8BACE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,OAAO,EAAE,OAAO,EAAE,OAAO,YAC1D,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC,YAEA,CAAC,CAAC,eAAe,CAAC,GACZ,IACR,CACJ,YAEA,KAAK,KAAK,SAAS,IAAI,CACtB,YAAG,SAAS,EAAE,MAAM,CAAC,WAAW,EAAE,IAAI,EAAC,OAAO,YAC3C,uBAAuB,CAAC,KAAK,EAAE,CAAC,CAAC,GAChC,CACL,GACK,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,IAAI,EACJ,WAAW,EACX,SAAS,EACT,cAAc,EACd,SAAS,EACT,aAAa,EACb,OAAO,EACP,sBAAsB,EACtB,iBAAiB,EACjB,QAAQ,GACkB;IAC1B,IAAI,SAAS,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAEzC,OAAO,CACL,KAAC,KAAK,IACJ,IAAI,QACJ,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,aAAa;gBAAE,OAAO;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAC3C,KAAK,EAAE,CAAC,CAAC,sBAAsB,CAAC,EAChC,WAAW,EAAE,CAAC,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,SAAS,CAAC,KAAK,EAAE,CAAC,EACvE,MAAM,EAAE,CACN,8BACE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,YAChE,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EACN,aAAa;wBACb,cAAc,CAAC,MAAM,KAAK,CAAC;wBAC3B,SAAS,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,EAE/B,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC,YAEA,CAAC,CAAC,iBAAiB,CAAC,GACd,IACR,CACJ,YAEA,SAAS,CAAC,CAAC,CAAC,CACX,8BACE,iBAAO,SAAS,EAAE,MAAM,CAAC,UAAU,aAChC,CAAC,CAAC,qBAAqB,CAAC,EACzB,iBACE,SAAS,EAAE,MAAM,CAAC,YAAY,gBAClB,CAAC,CAAC,qBAAqB,CAAC,EACpC,KAAK,EAAE,cAAc,EACrB,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,sBAAsB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BACpD,CAAC,YAEA,IAAI,EAAE,QAAQ,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,CAC9B,kBAA0B,KAAK,EAAE,MAAM,CAAC,IAAI,aACzC,MAAM,CAAC,IAAI,EACX,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC,EAAE,EAC3C,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC,CAAC,mBAAmB,CAAC,CAAC,CAAC,CAAC,EAAE,KAHrC,MAAM,CAAC,IAAI,CAIf,CACV,CAAC,GACK,IACH,EACR,iBAAO,SAAS,EAAE,MAAM,CAAC,UAAU,aAChC,CAAC,CAAC,eAAe,CAAC,EACnB,KAAC,KAAK,IACJ,SAAS,EAAE,MAAM,CAAC,WAAW,gBACjB,CAAC,CAAC,eAAe,CAAC,EAC9B,KAAK,EAAE,SAAS,EAChB,WAAW,EAAC,cAAc,EAC1B,QAAQ,EAAE,aAAa,EACvB,QAAQ,EAAE,CAAC,KAAK,EAAE,EAAE;gCAClB,iBAAiB,CAAC,KAAK,CAAC,aAAa,CAAC,KAAK,CAAC,CAAC;4BAC/C,CAAC,GACD,IACI,IACP,CACJ,CAAC,CAAC,CAAC,CACF,eACE,SAAS,EAAE,MAAM,CAAC,YAAY,6BACL,WAAW,IAAI,SAAS,EACjD,IAAI,EAAC,OAAO,aAEZ,YAAG,SAAS,EAAE,MAAM,CAAC,OAAO,YACzB,WAAW,KAAK,SAAS;wBACxB,CAAC,CAAC,CAAC,CAAC,gBAAgB,CAAC;wBACrB,CAAC,CAAC,oBAAoB,CAAC,WAAW,EAAE,CAAC,CAAC,GACtC,EACH,WAAW,KAAK,SAAS,IAAI,CAC5B,cACE,SAAS,EAAE,MAAM,CAAC,YAAY,gBAClB,CAAC,CAAC,yBAAyB,CAAC,YAEvC,qBAAqB,CAAC,WAAW,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,GAC1C,CACP,IACG,CACP,GACK,CACT,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,qBAAqB,CAAC,EACpC,CAAC,EACD,QAAQ,EACR,aAAa,EACb,OAAO,EACP,QAAQ,GACmB;IAC3B,IAAI,QAAQ,KAAK,SAAS;QAAE,OAAO,IAAI,CAAC;IAExC,OAAO,CACL,KAAC,KAAK,IACJ,IAAI,QACJ,OAAO,EAAE,GAAG,EAAE;YACZ,IAAI,aAAa;gBAAE,OAAO;YAC1B,OAAO,EAAE,CAAC;QACZ,CAAC,EACD,UAAU,EAAE,CAAC,CAAC,4BAA4B,CAAC,EAC3C,KAAK,EAAE,CAAC,CAAC,iBAAiB,CAAC,EAC3B,WAAW,EAAE,CAAC,CAAC,4BAA4B,EAAE,EAAE,IAAI,EAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,EACvE,MAAM,EAAE,CACN,8BACE,KAAC,MAAM,IAAC,OAAO,EAAC,SAAS,EAAC,QAAQ,EAAE,aAAa,EAAE,OAAO,EAAE,OAAO,YAChE,CAAC,CAAC,eAAe,CAAC,GACZ,EACT,KAAC,MAAM,IACL,OAAO,EAAC,SAAS,EACjB,QAAQ,EAAE,aAAa,EACvB,OAAO,EAAE,GAAG,EAAE;wBACZ,KAAK,QAAQ,EAAE,CAAC;oBAClB,CAAC,YAEA,CAAC,CAAC,iBAAiB,CAAC,GACd,IACR,CACJ,GACD,CACH,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { WorktreeGroupRowProps, WorktreeSessionGroupProps, WorktreeSessionRowProps, WorktreeWorkspaceRowProps } from './worktree-surface-types.js';
|
|
2
|
+
/** Workspace row using the native DSH menu, fixed action column, and drag contract. */
|
|
3
|
+
export declare function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }: WorktreeWorkspaceRowProps): import("react").JSX.Element;
|
|
4
|
+
/** Shared Main/Worktree group row with parameterized icon, state, and actions. */
|
|
5
|
+
export declare function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }: WorktreeGroupRowProps): import("react").JSX.Element;
|
|
6
|
+
/** Worktree-mode Session row with the same trailing options menu as native DSH rows. */
|
|
7
|
+
export declare function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPending, onOpen, onRename, onFork, onArchive, }: WorktreeSessionRowProps): import("react").JSX.Element;
|
|
8
|
+
export declare function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, expanded, actionPending, sessions, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }: WorktreeSessionGroupProps): import("react").JSX.Element;
|
|
9
|
+
//# sourceMappingURL=worktree-surface-rows.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-surface-rows.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"AAmBA,OAAO,KAAK,EACV,qBAAqB,EACrB,yBAAyB,EACzB,uBAAuB,EACvB,yBAAyB,EAC1B,MAAM,6BAA6B,CAAC;AAQrC,uFAAuF;AACvF,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,SAAS,EACT,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,gBAAgB,EAChB,QAAQ,EACR,QAAQ,EACR,gBAAgB,GACjB,EAAE,yBAAyB,+BAsH3B;AAED,kFAAkF;AAClF,wBAAgB,gBAAgB,CAAC,EAC/B,CAAC,EACD,IAAI,EACJ,KAAK,EACL,UAAU,EACV,QAAQ,EACR,IAAI,EACJ,cAAc,EACd,KAAK,EACL,UAAU,EACV,QAAQ,EACR,eAAe,EACf,IAAI,EACJ,IAAI,GACL,EAAE,qBAAqB,+BA0IvB;AAED,wFAAwF;AACxF,wBAAgB,kBAAkB,CAAC,EACjC,CAAC,EACD,SAAS,EACT,KAAK,EACL,KAAK,EACL,IAAI,EACJ,aAAa,EACb,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,uBAAuB,+BAgGzB;AAED,wBAAgB,oBAAoB,CAAC,EACnC,CAAC,EACD,QAAQ,EACR,UAAU,EACV,WAAW,EACX,QAAQ,EACR,aAAa,EACb,QAAQ,EACR,SAAS,EACT,gBAAgB,EAChB,WAAW,EACX,WAAW,EACX,WAAW,EACX,YAAY,EACZ,YAAY,EACZ,MAAM,EACN,QAAQ,EACR,MAAM,EACN,SAAS,GACV,EAAE,yBAAyB,+BAkE3B"}
|
|
@@ -0,0 +1,223 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { HoverCard, IconArchiveOutline20, IconBranchOutline16, IconChevronDownOutline14, IconChevronRightOutline14, IconEditOutline16, IconEllipsisOutline16, IconFolderClose16, IconFolderOpen16, IconPlusOutline16, IconTrashOutline16, Menu, StateDot, } from '@deepseek-ai/dsh-client-ui-primitives';
|
|
4
|
+
import { isBlankSession } from './session-view.js';
|
|
5
|
+
import { sessionLabel } from './worktree-surface-selectors.js';
|
|
6
|
+
import styles from './worktree.css';
|
|
7
|
+
function rowHalf(event) {
|
|
8
|
+
const rect = event.currentTarget.getBoundingClientRect();
|
|
9
|
+
return event.clientY < rect.top + rect.height / 2 ? 'before' : 'after';
|
|
10
|
+
}
|
|
11
|
+
/** Workspace row using the native DSH menu, fixed action column, and drag contract. */
|
|
12
|
+
export function WorktreeWorkspaceRow({ t, workspace, expanded, actionPending, menuOpen, drag, onToggle, onCreateWorktree, onRename, onDelete, onMenuOpenChange, }) {
|
|
13
|
+
const workspaceMenuItems = [
|
|
14
|
+
{
|
|
15
|
+
id: 'rename',
|
|
16
|
+
label: t('workspace.rename'),
|
|
17
|
+
icon: _jsx(IconEditOutline16, {}),
|
|
18
|
+
disabled: actionPending,
|
|
19
|
+
},
|
|
20
|
+
{
|
|
21
|
+
id: 'delete',
|
|
22
|
+
label: t('workspace.delete'),
|
|
23
|
+
icon: _jsx(IconTrashOutline16, {}),
|
|
24
|
+
danger: true,
|
|
25
|
+
disabled: actionPending,
|
|
26
|
+
},
|
|
27
|
+
];
|
|
28
|
+
const markerClass = drag.marker === 'before'
|
|
29
|
+
? styles.dropBefore
|
|
30
|
+
: drag.marker === 'after'
|
|
31
|
+
? styles.dropAfter
|
|
32
|
+
: '';
|
|
33
|
+
return (_jsxs("div", { className: `${styles.workspaceRow} ${markerClass}`, "data-workspace-drag": drag.active ? 'active' : undefined, "data-menu-open": menuOpen || undefined, draggable: true, onClick: () => {
|
|
34
|
+
onToggle();
|
|
35
|
+
}, onDragStart: (event) => {
|
|
36
|
+
event.dataTransfer.effectAllowed = 'move';
|
|
37
|
+
event.dataTransfer.setData('text/plain', workspace.workspaceId);
|
|
38
|
+
drag.start();
|
|
39
|
+
}, onDragEnd: drag.end, onDragOver: (event) => {
|
|
40
|
+
if (!drag.active)
|
|
41
|
+
return;
|
|
42
|
+
event.preventDefault();
|
|
43
|
+
event.dataTransfer.dropEffect = 'move';
|
|
44
|
+
drag.hover(rowHalf(event));
|
|
45
|
+
}, onDrop: (event) => {
|
|
46
|
+
if (!drag.active)
|
|
47
|
+
return;
|
|
48
|
+
event.preventDefault();
|
|
49
|
+
drag.drop(rowHalf(event));
|
|
50
|
+
}, children: [_jsx("button", { type: "button", className: `${styles.disclosureButton} ${styles.workspaceDisclosure}`, "aria-label": t(expanded ? 'workspace.collapse' : 'workspace.expand', {
|
|
51
|
+
name: workspace.title,
|
|
52
|
+
}), "aria-expanded": expanded, onClick: (event) => {
|
|
53
|
+
event.stopPropagation();
|
|
54
|
+
onToggle();
|
|
55
|
+
}, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.workspaceIcon, "aria-hidden": "true", children: expanded ? _jsx(IconFolderOpen16, {}) : _jsx(IconFolderClose16, {}) }), _jsx("span", { className: styles.workspaceTitle, children: workspace.title }), _jsxs("span", { className: `${styles.treeActionSlot} ${styles.workspaceActions}`, children: [_jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menuOpen, onClose: () => {
|
|
56
|
+
onMenuOpenChange(false);
|
|
57
|
+
}, items: workspaceMenuItems, onSelect: (id) => {
|
|
58
|
+
onMenuOpenChange(false);
|
|
59
|
+
if (id === 'rename')
|
|
60
|
+
onRename();
|
|
61
|
+
if (id === 'delete')
|
|
62
|
+
onDelete();
|
|
63
|
+
}, portal: true, closeOnPointerLeave: true, anchor: (_jsx("button", { type: "button", className: styles.iconButton, "data-workspace-menu": true, "aria-label": t('workspace.options', { name: workspace.title }), onClick: (event) => {
|
|
64
|
+
event.stopPropagation();
|
|
65
|
+
onMenuOpenChange(!menuOpen);
|
|
66
|
+
}, children: _jsx(IconEllipsisOutline16, {}) })) }) }), _jsx("button", { type: "button", className: styles.iconButton, "data-add-worktree": true, "aria-label": t('workspace.addWorktree', { name: workspace.title }), onClick: (event) => {
|
|
67
|
+
event.stopPropagation();
|
|
68
|
+
onCreateWorktree();
|
|
69
|
+
}, children: _jsx(IconPlusOutline16, {}) })] })] }));
|
|
70
|
+
}
|
|
71
|
+
/** Shared Main/Worktree group row with parameterized icon, state, and actions. */
|
|
72
|
+
export function WorktreeGroupRow({ t, kind, label, worktreeId, expanded, icon, workspaceTitle, state, stateLabel, onToggle, onCreateSession, menu, drag, }) {
|
|
73
|
+
const main = kind === 'main';
|
|
74
|
+
const markerClass = drag?.marker === 'before'
|
|
75
|
+
? styles.dropBefore
|
|
76
|
+
: drag?.marker === 'after'
|
|
77
|
+
? styles.dropAfter
|
|
78
|
+
: '';
|
|
79
|
+
const dragProps = drag === undefined
|
|
80
|
+
? {}
|
|
81
|
+
: {
|
|
82
|
+
draggable: true,
|
|
83
|
+
onDragStart: (event) => {
|
|
84
|
+
event.dataTransfer.effectAllowed = 'move';
|
|
85
|
+
event.dataTransfer.setData('text/plain', worktreeId ?? label);
|
|
86
|
+
drag.start();
|
|
87
|
+
},
|
|
88
|
+
onDragEnd: drag.end,
|
|
89
|
+
onDragOver: (event) => {
|
|
90
|
+
if (!drag.active)
|
|
91
|
+
return;
|
|
92
|
+
event.preventDefault();
|
|
93
|
+
event.dataTransfer.dropEffect = 'move';
|
|
94
|
+
drag.hover(rowHalf(event));
|
|
95
|
+
},
|
|
96
|
+
onDrop: (event) => {
|
|
97
|
+
if (!drag.active)
|
|
98
|
+
return;
|
|
99
|
+
event.preventDefault();
|
|
100
|
+
drag.drop(rowHalf(event));
|
|
101
|
+
},
|
|
102
|
+
};
|
|
103
|
+
const row = (_jsxs("div", { className: `${styles.worktreeRow} ${markerClass}`, "data-main-group": main ? 'true' : undefined, "data-main-expanded": main ? String(expanded) : undefined, "data-menu-open": menu?.open ? 'true' : undefined, "data-worktree-drag": drag?.active ? 'active' : undefined, ...dragProps, onClick: onToggle, children: [_jsx("button", { type: "button", className: `${styles.disclosureButton} ${styles.worktreeDisclosure}`, "aria-label": t(expanded ? 'worktree.collapse' : 'worktree.expand', { name: label }), "aria-expanded": expanded, onClick: (event) => {
|
|
104
|
+
event.stopPropagation();
|
|
105
|
+
onToggle();
|
|
106
|
+
}, children: expanded ? (_jsx(IconChevronDownOutline14, { size: 18 })) : (_jsx(IconChevronRightOutline14, { size: 18 })) }), _jsx("span", { className: styles.worktreeIcon, "aria-hidden": "true", children: icon }), state !== undefined && stateLabel !== undefined && (_jsx("span", { className: styles.worktreeState, role: "img", "aria-label": stateLabel, title: stateLabel, children: _jsx(StateDot, { state: state }) })), _jsx("span", { className: styles.worktreeLabel, children: label }), _jsxs("span", { className: styles.treeActionSlot, children: [menu !== undefined && (_jsx("span", { className: styles.menuAction, children: _jsx(Menu, { open: menu.open, onClose: () => {
|
|
107
|
+
menu.onOpenChange(false);
|
|
108
|
+
}, items: [
|
|
109
|
+
{
|
|
110
|
+
id: 'remove',
|
|
111
|
+
label: t('worktree.remove'),
|
|
112
|
+
icon: _jsx(IconTrashOutline16, {}),
|
|
113
|
+
danger: true,
|
|
114
|
+
disabled: menu.disabled,
|
|
115
|
+
},
|
|
116
|
+
], onSelect: (id) => {
|
|
117
|
+
menu.onOpenChange(false);
|
|
118
|
+
if (id === 'remove')
|
|
119
|
+
menu.onRemove();
|
|
120
|
+
}, portal: true, closeOnPointerLeave: true, anchor: _jsx("button", { type: "button", className: styles.iconButton, "data-worktree-menu": true, "aria-label": t('worktree.options', { name: menu.label }), onClick: (event) => {
|
|
121
|
+
event.stopPropagation();
|
|
122
|
+
menu.onOpenChange(!menu.open);
|
|
123
|
+
}, children: _jsx(IconEllipsisOutline16, {}) }) }) })), onCreateSession !== undefined && (_jsx("button", { type: "button", className: styles.iconButton, "data-add-main-session": main ? 'true' : undefined, "data-add-session": main ? undefined : 'true', "aria-label": t('worktree.addSession', { name: workspaceTitle }), onClick: (event) => {
|
|
124
|
+
event.stopPropagation();
|
|
125
|
+
onCreateSession();
|
|
126
|
+
}, children: _jsx(IconPlusOutline16, {}) }))] })] }));
|
|
127
|
+
if (main)
|
|
128
|
+
return row;
|
|
129
|
+
return (_jsx(HoverCard, { anchor: row, content: _jsx("div", { className: styles.worktreeHoverTitle, children: label }), openDelayMs: 500, disabled: menu?.open === true }));
|
|
130
|
+
}
|
|
131
|
+
/** Worktree-mode Session row with the same trailing options menu as native DSH rows. */
|
|
132
|
+
export function WorktreeSessionRow({ t, sessionId, blank, label, drag, actionPending, onOpen, onRename, onFork, onArchive, }) {
|
|
133
|
+
const [menuOpen, setMenuOpen] = useState(false);
|
|
134
|
+
const markerClass = drag.marker === 'before'
|
|
135
|
+
? styles.dropBefore
|
|
136
|
+
: drag.marker === 'after'
|
|
137
|
+
? styles.dropAfter
|
|
138
|
+
: '';
|
|
139
|
+
const sessionMenuItems = [
|
|
140
|
+
{
|
|
141
|
+
id: 'rename',
|
|
142
|
+
label: t('session.rename'),
|
|
143
|
+
icon: _jsx(IconEditOutline16, {}),
|
|
144
|
+
disabled: onRename === undefined || actionPending,
|
|
145
|
+
},
|
|
146
|
+
{
|
|
147
|
+
id: 'fork',
|
|
148
|
+
label: t('session.fork'),
|
|
149
|
+
icon: _jsx(IconBranchOutline16, {}),
|
|
150
|
+
disabled: onFork === undefined || actionPending,
|
|
151
|
+
},
|
|
152
|
+
{
|
|
153
|
+
id: 'archive',
|
|
154
|
+
label: t('session.archive'),
|
|
155
|
+
icon: _jsx(IconArchiveOutline20, { size: 16 }),
|
|
156
|
+
disabled: onArchive === undefined || actionPending,
|
|
157
|
+
},
|
|
158
|
+
];
|
|
159
|
+
return (_jsxs("div", { className: `${styles.treeSessionRow} ${markerClass}`, "data-session-id": sessionId, "data-session-blank": blank ? 'true' : undefined, "data-session-drag": drag.active ? 'active' : undefined, "data-menu-open": menuOpen || undefined, role: "treeitem", draggable: true, onDragStart: (event) => {
|
|
160
|
+
event.dataTransfer.effectAllowed = 'move';
|
|
161
|
+
event.dataTransfer.setData('text/plain', sessionId);
|
|
162
|
+
drag.start();
|
|
163
|
+
}, onDragEnd: drag.end, onDragOver: (event) => {
|
|
164
|
+
if (!drag.active)
|
|
165
|
+
return;
|
|
166
|
+
event.preventDefault();
|
|
167
|
+
event.dataTransfer.dropEffect = 'move';
|
|
168
|
+
drag.hover(rowHalf(event));
|
|
169
|
+
}, onDrop: (event) => {
|
|
170
|
+
if (!drag.active)
|
|
171
|
+
return;
|
|
172
|
+
event.preventDefault();
|
|
173
|
+
drag.drop(rowHalf(event));
|
|
174
|
+
}, children: [_jsxs("button", { type: "button", className: styles.treeSessionContent, onClick: onOpen, children: [_jsx("span", { className: styles.treeGuide, "aria-hidden": "true", children: "\u2514" }), _jsx("span", { className: styles.sessionLabel, children: label })] }), !blank && (_jsx("span", { className: styles.rowActions, children: _jsx(Menu, { open: menuOpen, onClose: () => {
|
|
175
|
+
setMenuOpen(false);
|
|
176
|
+
}, items: sessionMenuItems, onSelect: (id) => {
|
|
177
|
+
setMenuOpen(false);
|
|
178
|
+
if (id === 'rename')
|
|
179
|
+
onRename?.(sessionId, label);
|
|
180
|
+
if (id === 'fork')
|
|
181
|
+
onFork?.(sessionId);
|
|
182
|
+
if (id === 'archive')
|
|
183
|
+
onArchive?.(sessionId);
|
|
184
|
+
}, portal: true, closeOnPointerLeave: true, anchor: (_jsx("button", { type: "button", className: styles.iconButton, "data-session-menu": true, "aria-label": t('session.options', { name: label }), onClick: (event) => {
|
|
185
|
+
event.stopPropagation();
|
|
186
|
+
setMenuOpen((current) => !current);
|
|
187
|
+
}, children: _jsx(IconEllipsisOutline16, {}) })) }) }))] }));
|
|
188
|
+
}
|
|
189
|
+
export function WorktreeSessionGroup({ t, groupKey, sessionIds, workspaceId, expanded, actionPending, sessions, dragState, onToggleExpanded, onStartDrag, onHoverDrag, onClearDrag, onFinishDrag, onCommitDrag, onOpen, onRename, onFork, onArchive, }) {
|
|
190
|
+
const visibleSessionIds = expanded ? sessionIds : sessionIds.slice(0, 5);
|
|
191
|
+
const sameGroupDrag = dragState?.groupKey === groupKey;
|
|
192
|
+
return (_jsxs(_Fragment, { children: [visibleSessionIds.map((sessionId) => (_jsx(WorktreeSessionRow, { t: t, sessionId: sessionId, blank: isBlankSession(sessionId, sessions), label: sessionLabel(sessionId, sessions, t), drag: {
|
|
193
|
+
active: sameGroupDrag,
|
|
194
|
+
marker: sameGroupDrag && dragState.over?.sessionId === sessionId
|
|
195
|
+
? dragState.over.half
|
|
196
|
+
: null,
|
|
197
|
+
start: () => {
|
|
198
|
+
onStartDrag(groupKey, sessionId);
|
|
199
|
+
},
|
|
200
|
+
hover: (half) => {
|
|
201
|
+
onHoverDrag(sessionId, half);
|
|
202
|
+
},
|
|
203
|
+
drop: (half) => {
|
|
204
|
+
if (dragState === undefined)
|
|
205
|
+
return;
|
|
206
|
+
onCommitDrag(dragState, { sessionId, half }, sessionIds, workspaceId);
|
|
207
|
+
},
|
|
208
|
+
end: () => {
|
|
209
|
+
if (dragState?.over !== null && dragState?.over !== undefined) {
|
|
210
|
+
onCommitDrag(dragState, dragState.over, sessionIds, workspaceId);
|
|
211
|
+
}
|
|
212
|
+
else {
|
|
213
|
+
onClearDrag();
|
|
214
|
+
}
|
|
215
|
+
onFinishDrag();
|
|
216
|
+
},
|
|
217
|
+
}, actionPending: actionPending, onOpen: () => {
|
|
218
|
+
onOpen(sessionId);
|
|
219
|
+
}, onRename: onRename, onFork: onFork, onArchive: onArchive }, `${groupKey}:${sessionId}`))), sessionIds.length > 5 && (_jsx("button", { type: "button", className: styles.sessionOverflowButton, "aria-expanded": expanded, onClick: onToggleExpanded, children: expanded
|
|
220
|
+
? t('session.collapse')
|
|
221
|
+
: t('session.expandMore', { count: sessionIds.length - 5 }) }))] }));
|
|
222
|
+
}
|
|
223
|
+
//# sourceMappingURL=worktree-surface-rows.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-surface-rows.js","sourceRoot":"","sources":["../../src/client/worktree-surface-rows.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SessionBinding } from '../contract/index.js';
|
|
2
|
+
import { type SessionListLike } from './session-view.js';
|
|
3
|
+
import type { WorktreeWorkspaceView } from './worktree-view.js';
|
|
4
|
+
import type { WorktreeTranslate, WorkspaceLike } from './worktree-surface-types.js';
|
|
5
|
+
export declare function sessionLabel(sessionId: string, sessions: SessionListLike, t: WorktreeTranslate): string;
|
|
6
|
+
export declare function bindingIdsFor(bindings: readonly SessionBinding[], worktreeId: string): readonly string[];
|
|
7
|
+
export declare function includesText(value: string, query: string): boolean;
|
|
8
|
+
export declare function workspaceMatches(workspace: WorkspaceLike, view: WorktreeWorkspaceView | undefined, sessions: SessionListLike, query: string): boolean;
|
|
9
|
+
//# sourceMappingURL=worktree-surface-selectors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-surface-selectors.d.ts","sourceRoot":"","sources":["../../src/client/worktree-surface-selectors.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAC3D,OAAO,EAGL,KAAK,eAAe,EACrB,MAAM,mBAAmB,CAAC;AAC3B,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC;AAChE,OAAO,KAAK,EACV,iBAAiB,EACjB,aAAa,EACd,MAAM,6BAA6B,CAAC;AAErC,wBAAgB,YAAY,CAC1B,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,eAAe,EACzB,CAAC,EAAE,iBAAiB,GACnB,MAAM,CAER;AAED,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,SAAS,cAAc,EAAE,EACnC,UAAU,EAAE,MAAM,GACjB,SAAS,MAAM,EAAE,CAInB;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,OAAO,CAElE;AAED,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,aAAa,EACxB,IAAI,EAAE,qBAAqB,GAAG,SAAS,EACvC,QAAQ,EAAE,eAAe,EACzB,KAAK,EAAE,MAAM,GACZ,OAAO,CAoBT"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { sessionDisplayLabel, sessionMatchesQuery, } from './session-view.js';
|
|
2
|
+
export function sessionLabel(sessionId, sessions, t) {
|
|
3
|
+
return sessionDisplayLabel(sessionId, sessions, t('session.new'));
|
|
4
|
+
}
|
|
5
|
+
export function bindingIdsFor(bindings, worktreeId) {
|
|
6
|
+
return bindings
|
|
7
|
+
.filter((binding) => binding.worktreeId === worktreeId)
|
|
8
|
+
.map((binding) => binding.sessionId);
|
|
9
|
+
}
|
|
10
|
+
export function includesText(value, query) {
|
|
11
|
+
return value.toLocaleLowerCase().includes(query);
|
|
12
|
+
}
|
|
13
|
+
export function workspaceMatches(workspace, view, sessions, query) {
|
|
14
|
+
if (query.length === 0)
|
|
15
|
+
return true;
|
|
16
|
+
if (includesText(workspace.title, query))
|
|
17
|
+
return true;
|
|
18
|
+
if (workspace.sessionIds.some((sessionId) => sessionMatchesQuery(sessionId, sessions, query))) {
|
|
19
|
+
return true;
|
|
20
|
+
}
|
|
21
|
+
if (view === undefined)
|
|
22
|
+
return false;
|
|
23
|
+
if (view.worktrees.some((record) => includesText(record.branch, query) || includesText(record.absolutePath, query))) {
|
|
24
|
+
return true;
|
|
25
|
+
}
|
|
26
|
+
return view.bindings.some((binding) => sessionMatchesQuery(binding.sessionId, sessions, query));
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=worktree-surface-selectors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"worktree-surface-selectors.js","sourceRoot":"","sources":["../../src/client/worktree-surface-selectors.ts"],"names":[],"mappings":"AACA,OAAO,EACL,mBAAmB,EACnB,mBAAmB,GAEpB,MAAM,mBAAmB,CAAC;AAO3B,MAAM,UAAU,YAAY,CAC1B,SAAiB,EACjB,QAAyB,EACzB,CAAoB;IAEpB,OAAO,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC;AACpE,CAAC;AAED,MAAM,UAAU,aAAa,CAC3B,QAAmC,EACnC,UAAkB;IAElB,OAAO,QAAQ;SACZ,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,UAAU,KAAK,UAAU,CAAC;SACtD,GAAG,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa,EAAE,KAAa;IACvD,OAAO,KAAK,CAAC,iBAAiB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACnD,CAAC;AAED,MAAM,UAAU,gBAAgB,CAC9B,SAAwB,EACxB,IAAuC,EACvC,QAAyB,EACzB,KAAa;IAEb,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACpC,IAAI,YAAY,CAAC,SAAS,CAAC,KAAK,EAAE,KAAK,CAAC;QAAE,OAAO,IAAI,CAAC;IACtD,IACE,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,EAAE,CAAC,mBAAmB,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CAAC,EACzF,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,IACE,IAAI,CAAC,SAAS,CAAC,IAAI,CACjB,CAAC,MAAM,EAAE,EAAE,CACT,YAAY,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,IAAI,YAAY,CAAC,MAAM,CAAC,YAAY,EAAE,KAAK,CAAC,CACjF,EACD,CAAC;QACD,OAAO,IAAI,CAAC;IACd,CAAC;IACD,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CACpC,mBAAmB,CAAC,OAAO,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,CAAC,CACxD,CAAC;AACJ,CAAC"}
|