@sascha384/tic 4.8.0 → 4.9.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.
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "tic",
3
3
  "description": "Issue tracking skills for Claude Code",
4
- "version": "4.8.0",
4
+ "version": "4.9.0",
5
5
  "author": {
6
6
  "name": "Sascha Krug"
7
7
  },
@@ -1,78 +1,119 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
- import { useState, useEffect, useCallback, useMemo } from 'react';
1
+ import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect, useMemo } from 'react';
3
3
  import { Box, Text, useInput } from 'ink';
4
4
  import Spinner from 'ink-spinner';
5
+ import { TableLayout } from './TableLayout.js';
5
6
  import { useThemeStore } from '../stores/themeStore.js';
6
- import { useNavigationStore } from '../stores/navigationStore.js';
7
- import { useBackendDataStore } from '../stores/backendDataStore.js';
8
- import { listBranches, listWorktrees, getCurrentBranch, checkoutBranch, hasUncommittedChanges, createBranch, } from '../git.js';
9
- import { deleteBranch, mergeBranch, removeWorktree, fetchAll, pushBranch, } from '../git-async.js';
10
- import { linkBranchToItem } from '../branch-links.js';
7
+ import { navigationStore, useNavigationStore, } from '../stores/navigationStore.js';
8
+ import { backendDataStore, useBackendDataStore, } from '../stores/backendDataStore.js';
9
+ import { uiStore } from '../stores/uiStore.js';
10
+ import { getCurrentBranch, checkoutBranch, hasUncommittedChanges, createBranch, } from '../git.js';
11
+ import { deleteBranch, mergeBranch, removeWorktree, pushBranch, } from '../git-async.js';
11
12
  import { spawnSync } from 'node:child_process';
13
+ import { CommandBar } from './CommandBar.js';
14
+ import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
15
+ function relativeTime(isoDate) {
16
+ if (!isoDate)
17
+ return '';
18
+ const diff = Date.now() - new Date(isoDate).getTime();
19
+ const mins = Math.floor(diff / 60000);
20
+ if (mins < 60)
21
+ return `${mins}m ago`;
22
+ const hours = Math.floor(mins / 60);
23
+ if (hours < 24)
24
+ return `${hours}h ago`;
25
+ const days = Math.floor(hours / 24);
26
+ return `${days}d ago`;
27
+ }
28
+ function buildBranchColumns(accent, muted, mutedDim) {
29
+ return [
30
+ {
31
+ key: 'branch',
32
+ header: 'Branch',
33
+ width: -1, // flex
34
+ required: true,
35
+ render: (row, selected) => {
36
+ const isTic = row.branch.name.startsWith('tic/');
37
+ const prefix = row.branch.current ? '* ' : ' ';
38
+ return (_jsxs(Text, { color: selected ? accent : isTic ? accent : undefined, bold: selected || isTic, wrap: "truncate", children: [prefix, row.branch.name] }));
39
+ },
40
+ },
41
+ {
42
+ key: 'item',
43
+ header: 'Item',
44
+ width: 30,
45
+ hidePriority: 3,
46
+ render: (row, selected) => {
47
+ const display = row.linkedItem
48
+ ? `#${row.linkedItem.id} ${row.linkedItem.title}`
49
+ : '';
50
+ return (_jsx(Text, { color: row.linkedItem ? (selected ? undefined : muted) : undefined, dimColor: !row.linkedItem ? mutedDim : undefined, wrap: "truncate", children: display }));
51
+ },
52
+ },
53
+ {
54
+ key: 'worktree',
55
+ header: 'Worktree',
56
+ width: 10,
57
+ hidePriority: 1,
58
+ render: (row) => _jsx(Text, { children: row.worktree ? '\u2713' : '' }),
59
+ },
60
+ {
61
+ key: 'remote',
62
+ header: 'Remote',
63
+ width: 10,
64
+ hidePriority: 2,
65
+ render: (row) => {
66
+ if (!row.branch.upstream)
67
+ return _jsx(Text, { children: "--" });
68
+ const parts = [];
69
+ if (row.branch.ahead > 0)
70
+ parts.push(`\u2191${row.branch.ahead}`);
71
+ if (row.branch.behind > 0)
72
+ parts.push(`\u2193${row.branch.behind}`);
73
+ return _jsx(Text, { children: parts.length > 0 ? parts.join(' ') : '\u2713' });
74
+ },
75
+ },
76
+ {
77
+ key: 'time',
78
+ header: 'Last Commit',
79
+ width: 10,
80
+ hidePriority: 0,
81
+ render: (row, selected) => (_jsx(Text, { color: selected ? undefined : muted, dimColor: !selected ? mutedDim : undefined, children: relativeTime(row.branch.lastCommitDate) })),
82
+ },
83
+ ];
84
+ }
12
85
  export function BranchList() {
13
86
  const { accent, muted, mutedDim, warning } = useThemeStore((s) => s.colors);
14
87
  const navigate = useNavigationStore((s) => s.navigate);
15
88
  const navigateToHelp = useNavigationStore((s) => s.navigateToHelp);
16
- const items = useBackendDataStore((s) => s.items);
89
+ const selectedBranchName = useNavigationStore((s) => s.selectedBranchName);
90
+ const rows = useBackendDataStore((s) => s.branches);
91
+ const fetching = useBackendDataStore((s) => s.branchesLoading);
17
92
  const cwd = process.cwd();
18
- const [rows, setRows] = useState([]);
93
+ const termWidth = useTerminalWidth();
94
+ const branchColumns = useMemo(() => buildBranchColumns(accent, muted, mutedDim), [accent, muted, mutedDim]);
19
95
  const [cursor, setCursor] = useState(0);
20
- const [fetching, setFetching] = useState(false);
21
96
  const [confirmation, setConfirmation] = useState(null);
22
97
  const [toastMessage, setToastMessage] = useState(null);
23
98
  const [inputMode, setInputMode] = useState('normal');
24
99
  const [inputValue, setInputValue] = useState('');
25
- const [filterText, setFilterText] = useState('');
26
- const loadBranches = useCallback(() => {
27
- const branches = listBranches(cwd);
28
- const worktrees = listWorktrees(cwd);
29
- const branchRows = branches.map((b) => {
30
- const linked = linkBranchToItem(b.name, items);
31
- const wt = worktrees.find((w) => w.branch === b.name) ?? null;
32
- return {
33
- branch: b,
34
- linkedItem: linked ? { id: linked.id, title: linked.title } : null,
35
- worktree: wt,
36
- };
37
- });
38
- // Sort: current branch first, then tic/ branches, then alphabetical
39
- branchRows.sort((a, b) => {
40
- if (a.branch.current !== b.branch.current)
41
- return a.branch.current ? -1 : 1;
42
- const aIsTic = a.branch.name.startsWith('tic/');
43
- const bIsTic = b.branch.name.startsWith('tic/');
44
- if (aIsTic !== bIsTic)
45
- return aIsTic ? -1 : 1;
46
- return a.branch.name.localeCompare(b.branch.name);
47
- });
48
- setRows(branchRows);
49
- }, [cwd, items]);
50
- // Initial load + background fetch
100
+ const { activeOverlay, openOverlay, closeOverlay } = uiStore.getState();
101
+ // Trigger background fetch on mount
51
102
  useEffect(() => {
52
- loadBranches();
53
- setFetching(true);
54
- fetchAll(cwd)
55
- .then(() => {
56
- loadBranches(); // reload with updated remote info
57
- })
58
- .catch(() => {
59
- // fetch failed (no remote, offline, etc) — ignore
60
- })
61
- .finally(() => {
62
- setFetching(false);
63
- });
64
- }, [cwd, loadBranches]);
65
- // Filtered rows
66
- const filteredRows = useMemo(() => {
67
- if (!filterText)
68
- return rows;
69
- const lower = filterText.toLowerCase();
70
- return rows.filter((r) => r.branch.name.toLowerCase().includes(lower) ||
71
- r.linkedItem?.title.toLowerCase().includes(lower));
72
- }, [rows, filterText]);
103
+ backendDataStore.getState().refreshBranches();
104
+ }, []);
105
+ // Set initial cursor from navigation
106
+ useEffect(() => {
107
+ if (selectedBranchName) {
108
+ const idx = rows.findIndex((r) => r.branch.name === selectedBranchName);
109
+ if (idx >= 0)
110
+ setCursor(idx);
111
+ navigationStore.getState().selectBranch(null);
112
+ }
113
+ }, [selectedBranchName, rows]);
73
114
  // Clamp cursor
74
- const clampedCursor = Math.max(0, Math.min(cursor, filteredRows.length - 1));
75
- if (clampedCursor !== cursor && filteredRows.length > 0) {
115
+ const clampedCursor = Math.max(0, Math.min(cursor, rows.length - 1));
116
+ if (clampedCursor !== cursor && rows.length > 0) {
76
117
  setCursor(clampedCursor);
77
118
  }
78
119
  // Auto-clear toast
@@ -83,8 +124,11 @@ export function BranchList() {
83
124
  return () => clearTimeout(timer);
84
125
  }, [toastMessage]);
85
126
  const showToast = (msg) => setToastMessage(msg);
86
- const currentRow = filteredRows[clampedCursor];
127
+ const reloadBranches = () => backendDataStore.getState().loadBranches();
128
+ const currentRow = rows[clampedCursor];
87
129
  useInput((input, key) => {
130
+ if (activeOverlay)
131
+ return;
88
132
  // --- Confirmation mode ---
89
133
  if (confirmation) {
90
134
  if (input === 'y' || input === 'Y') {
@@ -99,7 +143,7 @@ export function BranchList() {
99
143
  }
100
144
  await deleteBranch(conf.branch, cwd, force);
101
145
  showToast(`Deleted ${conf.branch}`);
102
- loadBranches();
146
+ reloadBranches();
103
147
  }
104
148
  else if (conf.type === 'merge') {
105
149
  const result = await mergeBranch(conf.branch, cwd);
@@ -121,7 +165,7 @@ export function BranchList() {
121
165
  else {
122
166
  showToast(`Merge failed: ${result.message}`);
123
167
  }
124
- loadBranches();
168
+ reloadBranches();
125
169
  }
126
170
  }
127
171
  catch (err) {
@@ -148,13 +192,11 @@ export function BranchList() {
148
192
  }
149
193
  return; // block other input during confirmation
150
194
  }
151
- // --- Input modes (new branch name, search) ---
195
+ // --- Input mode (new branch name) ---
152
196
  if (inputMode !== 'normal') {
153
197
  if (key.escape) {
154
198
  setInputMode('normal');
155
199
  setInputValue('');
156
- if (inputMode === 'search')
157
- setFilterText('');
158
200
  return;
159
201
  }
160
202
  if (key.return) {
@@ -162,39 +204,28 @@ export function BranchList() {
162
204
  try {
163
205
  createBranch(inputValue.trim(), cwd);
164
206
  showToast(`Created branch ${inputValue.trim()}`);
165
- loadBranches();
207
+ reloadBranches();
166
208
  }
167
209
  catch (err) {
168
210
  showToast(err instanceof Error ? err.message : 'Failed to create branch');
169
211
  }
170
212
  }
171
- if (inputMode === 'search') {
172
- setFilterText(inputValue);
173
- }
174
213
  setInputMode('normal');
175
214
  setInputValue('');
176
215
  return;
177
216
  }
178
217
  if (key.backspace || key.delete) {
179
218
  setInputValue((v) => v.slice(0, -1));
180
- if (inputMode === 'search')
181
- setFilterText(inputValue.slice(0, -1));
182
219
  return;
183
220
  }
184
221
  if (input && !key.ctrl && !key.meta) {
185
222
  setInputValue((v) => v + input);
186
- if (inputMode === 'search')
187
- setFilterText(inputValue + input);
188
223
  return;
189
224
  }
190
225
  return;
191
226
  }
192
227
  // --- Normal mode ---
193
228
  if (key.escape) {
194
- if (filterText) {
195
- setFilterText('');
196
- return;
197
- }
198
229
  navigate('list');
199
230
  return;
200
231
  }
@@ -202,9 +233,13 @@ export function BranchList() {
202
233
  navigateToHelp();
203
234
  return;
204
235
  }
236
+ if (input === '/') {
237
+ openOverlay({ type: 'command-bar' });
238
+ return;
239
+ }
205
240
  // Navigation
206
241
  if (input === 'j' || key.downArrow) {
207
- setCursor((c) => Math.min(c + 1, filteredRows.length - 1));
242
+ setCursor((c) => Math.min(c + 1, rows.length - 1));
208
243
  return;
209
244
  }
210
245
  if (input === 'k' || key.upArrow) {
@@ -226,7 +261,7 @@ export function BranchList() {
226
261
  try {
227
262
  checkoutBranch(currentRow.branch.name, cwd);
228
263
  showToast(`Switched to ${currentRow.branch.name}`);
229
- loadBranches();
264
+ reloadBranches();
230
265
  }
231
266
  catch (err) {
232
267
  showToast(err instanceof Error ? err.message : 'Checkout failed');
@@ -239,7 +274,6 @@ export function BranchList() {
239
274
  showToast('No worktree for this branch');
240
275
  return;
241
276
  }
242
- // Spawn shell in worktree directory
243
277
  const shell = process.env['SHELL'] ?? '/bin/sh';
244
278
  process.stdin.setRawMode?.(false);
245
279
  spawnSync(shell, [], {
@@ -248,7 +282,7 @@ export function BranchList() {
248
282
  env: { ...process.env },
249
283
  });
250
284
  process.stdin.setRawMode?.(true);
251
- loadBranches();
285
+ reloadBranches();
252
286
  return;
253
287
  }
254
288
  // Delete branch
@@ -286,7 +320,7 @@ export function BranchList() {
286
320
  showToast(`Pushing ${currentRow.branch.name}...`);
287
321
  await pushBranch(currentRow.branch.name, cwd);
288
322
  showToast(`Pushed ${currentRow.branch.name}`);
289
- loadBranches();
323
+ reloadBranches();
290
324
  }
291
325
  catch (err) {
292
326
  showToast(err instanceof Error ? err.message : 'Push failed');
@@ -294,20 +328,14 @@ export function BranchList() {
294
328
  })();
295
329
  return;
296
330
  }
297
- // Create PR (reuse existing flow)
331
+ // Create PR
298
332
  if (input === 'p') {
299
- // Navigate back to list and trigger PR creation for this branch
300
- // For now, show toast — full integration in Task 7
301
333
  showToast('PR creation — use p from list view');
302
334
  return;
303
335
  }
304
336
  // Refresh
305
337
  if (input === 'r') {
306
- setFetching(true);
307
- fetchAll(cwd)
308
- .then(() => loadBranches())
309
- .catch(() => { })
310
- .finally(() => setFetching(false));
338
+ backendDataStore.getState().refreshBranches();
311
339
  return;
312
340
  }
313
341
  // New branch
@@ -316,29 +344,9 @@ export function BranchList() {
316
344
  setInputValue('');
317
345
  return;
318
346
  }
319
- // Search
320
- if (input === '/') {
321
- setInputMode('search');
322
- setInputValue('');
323
- return;
324
- }
325
347
  });
326
- // --- Time formatting helper ---
327
- const relativeTime = (isoDate) => {
328
- if (!isoDate)
329
- return '';
330
- const diff = Date.now() - new Date(isoDate).getTime();
331
- const mins = Math.floor(diff / 60000);
332
- if (mins < 60)
333
- return `${mins}m ago`;
334
- const hours = Math.floor(mins / 60);
335
- if (hours < 24)
336
- return `${hours}h ago`;
337
- const days = Math.floor(hours / 24);
338
- return `${days}d ago`;
339
- };
340
348
  // --- Render ---
341
- return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, color: accent, children: "Branches" }), _jsxs(Text, { color: muted, dimColor: mutedDim, children: [' ', "(", filteredRows.length, ")"] }), fetching && (_jsxs(Text, { color: warning, children: [' ', _jsx(Spinner, { type: "dots" }), " Fetching..."] })), filterText && (_jsxs(Text, { color: muted, dimColor: mutedDim, children: [' ', "filter: ", filterText] }))] }), inputMode === 'new-branch' && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: accent, children: "New branch name: " }), _jsx(Text, { children: inputValue }), _jsx(Text, { color: muted, dimColor: mutedDim, children: "\u2588" })] })), inputMode === 'search' && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: accent, children: "/" }), _jsx(Text, { children: inputValue }), _jsx(Text, { color: muted, dimColor: mutedDim, children: "\u2588" })] })), confirmation && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: warning, children: [confirmation.type === 'delete' &&
349
+ return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, color: accent, children: "Branches" }), _jsxs(Text, { color: muted, dimColor: mutedDim, children: [' ', "(", rows.length, ")"] }), fetching && (_jsxs(Text, { color: warning, children: [' ', _jsx(Spinner, { type: "dots" }), " Fetching..."] }))] }), inputMode === 'new-branch' && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: accent, children: "New branch name: " }), _jsx(Text, { children: inputValue }), _jsx(Text, { color: muted, dimColor: mutedDim, children: "\u2588" })] })), confirmation && (_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { color: warning, children: [confirmation.type === 'delete' &&
342
350
  `Delete branch "${confirmation.branch}"?` +
343
351
  (confirmation.worktreePath
344
352
  ? ` This will also remove worktree at ${confirmation.worktreePath}.`
@@ -347,35 +355,6 @@ export function BranchList() {
347
355
  (confirmation.worktreePath
348
356
  ? ` This will also remove worktree at ${confirmation.worktreePath}.`
349
357
  : ''), confirmation.type === 'merge' &&
350
- `Merge "${confirmation.branch}" into "${confirmation.into}"?`, ' (y/n)'] }) })), filteredRows.length === 0 ? (_jsx(Box, { children: _jsx(Text, { color: muted, dimColor: mutedDim, children: "No branches" }) })) : (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Box, { width: 32, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Branch" }) }), _jsx(Box, { width: 30, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Item" }) }), _jsx(Box, { width: 20, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Worktree" }) }), _jsx(Box, { width: 10, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Remote" }) }), _jsx(Box, { width: 10, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Last Commit" }) })] }), filteredRows.map((row, index) => {
351
- const isSelected = index === clampedCursor;
352
- const isTic = row.branch.name.startsWith('tic/');
353
- const prefix = row.branch.current ? '* ' : ' ';
354
- const branchDisplay = prefix + row.branch.name;
355
- const truncBranch = branchDisplay.length > 30
356
- ? branchDisplay.slice(0, 30) + '\u2026'
357
- : branchDisplay;
358
- const itemDisplay = row.linkedItem
359
- ? `#${row.linkedItem.id} ${row.linkedItem.title}`
360
- : '';
361
- const truncItem = itemDisplay.length > 28
362
- ? itemDisplay.slice(0, 28) + '\u2026'
363
- : itemDisplay;
364
- const wtDisplay = row.worktree ? '\u2713' : '';
365
- let remoteDisplay = '--';
366
- if (row.branch.upstream) {
367
- const parts = [];
368
- if (row.branch.ahead > 0)
369
- parts.push(`\u2191${row.branch.ahead}`);
370
- if (row.branch.behind > 0)
371
- parts.push(`\u2193${row.branch.behind}`);
372
- remoteDisplay = parts.length > 0 ? parts.join(' ') : '\u2713';
373
- }
374
- return (_jsxs(Box, { children: [_jsx(Box, { width: 32, children: _jsx(Text, { inverse: isSelected, bold: isSelected || isTic, color: isTic && !isSelected ? accent : undefined, children: truncBranch }) }), _jsx(Box, { width: 30, children: _jsx(Text, { inverse: isSelected, color: row.linkedItem
375
- ? isSelected
376
- ? undefined
377
- : muted
378
- : undefined, dimColor: !row.linkedItem ? mutedDim : undefined, children: truncItem }) }), _jsx(Box, { width: 20, children: _jsx(Text, { inverse: isSelected, children: wtDisplay }) }), _jsx(Box, { width: 10, children: _jsx(Text, { inverse: isSelected, children: remoteDisplay }) }), _jsx(Box, { width: 10, children: _jsx(Text, { inverse: isSelected, color: muted, dimColor: mutedDim, children: relativeTime(row.branch.lastCommitDate) }) })] }, row.branch.name));
379
- })] })), toastMessage && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: warning, children: toastMessage }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: muted, dimColor: mutedDim, children: ["j/k navigate ", '\u00b7', " Enter switch ", '\u00b7', " d delete ", '\u00b7', " m merge ", '\u00b7', " P push ", '\u00b7', " n new ", '\u00b7', " w worktree", ' ', '\u00b7', " r refresh ", '\u00b7', " / search ", '\u00b7', " Esc back", ' ', '\u00b7', " ? help"] }) })] }));
358
+ `Merge "${confirmation.branch}" into "${confirmation.into}"?`, ' (y/n)'] }) })), rows.length === 0 ? (_jsx(Box, { children: _jsx(Text, { color: muted, dimColor: mutedDim, children: "No branches" }) })) : (_jsx(TableLayout, { items: rows, columns: branchColumns, cursor: clampedCursor, terminalWidth: termWidth, getKey: (row) => row.branch.name })), toastMessage && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: warning, children: toastMessage }) })), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: muted, dimColor: mutedDim, children: ["j/k navigate ", '\u00b7', " Enter switch ", '\u00b7', " d delete ", '\u00b7', " m merge ", '\u00b7', " P push ", '\u00b7', " n new ", '\u00b7', " w worktree", ' ', '\u00b7', " r refresh ", '\u00b7', " / search ", '\u00b7', " Esc back", ' ', '\u00b7', " ? help"] }) }), activeOverlay?.type === 'command-bar' && (_jsx(CommandBar, { commands: [], onCommand: () => closeOverlay(), onCancel: closeOverlay }))] }));
380
359
  }
381
360
  //# sourceMappingURL=BranchList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BranchList.js","sourceRoot":"","sources":["../../src/components/BranchList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BranchList.js","sourceRoot":"","sources":["../../src/components/BranchList.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { Command } from '../commands.js';
2
+ interface CommandBarProps {
3
+ commands: Command[];
4
+ onCommand: (cmd: Command) => void;
5
+ onCancel: () => void;
6
+ }
7
+ export declare function CommandBar({ commands, onCommand, onCancel }: CommandBarProps): import("react/jsx-runtime").JSX.Element;
8
+ export {};
@@ -0,0 +1,142 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ import { useState, useEffect, useMemo, useCallback } from 'react';
3
+ import { backendDataStore, useBackendDataStore, } from '../stores/backendDataStore.js';
4
+ import { navigationStore, useNavigationStore, } from '../stores/navigationStore.js';
5
+ import { recentCommandsStore, useRecentCommandsStore, } from '../stores/recentCommandsStore.js';
6
+ import { OverlayPanel } from './OverlayPanel.js';
7
+ export function CommandBar({ commands, onCommand, onCancel }) {
8
+ const [query, setQuery] = useState('');
9
+ const [allSearchItems, setAllSearchItems] = useState([]);
10
+ const recentIds = useRecentCommandsStore((s) => s.recentIds);
11
+ const pullRequests = useBackendDataStore((s) => s.pullRequests);
12
+ const branches = useBackendDataStore((s) => s.branches);
13
+ const navigate = useNavigationStore((s) => s.navigate);
14
+ const screen = useNavigationStore((s) => s.screen);
15
+ // Load all work items on mount (may differ from filtered list)
16
+ useEffect(() => {
17
+ const backend = backendDataStore.getState().backend;
18
+ if (!backend)
19
+ return;
20
+ let cancelled = false;
21
+ void backend
22
+ .listWorkItems()
23
+ .then((items) => {
24
+ if (!cancelled)
25
+ setAllSearchItems(items);
26
+ })
27
+ .catch(() => { });
28
+ return () => {
29
+ cancelled = true;
30
+ };
31
+ }, []);
32
+ const items = useMemo(() => {
33
+ const q = query.toLowerCase();
34
+ // Build command items (recent + categorized)
35
+ const commandMap = new Map(commands.map((c) => [c.id, c]));
36
+ const recentItems = [];
37
+ for (const id of recentIds) {
38
+ const cmd = commandMap.get(id);
39
+ if (cmd) {
40
+ recentItems.push({
41
+ id: `recent-${cmd.id}`,
42
+ label: cmd.label,
43
+ value: cmd.id,
44
+ category: 'Recent',
45
+ kind: 'command',
46
+ });
47
+ }
48
+ }
49
+ const commandItems = commands.map((cmd) => ({
50
+ id: cmd.id,
51
+ label: cmd.label,
52
+ value: cmd.id,
53
+ category: cmd.category,
54
+ kind: 'command',
55
+ }));
56
+ let all = [...recentItems, ...commandItems];
57
+ if (q) {
58
+ all = all.filter((item) => item.label.toLowerCase().includes(q));
59
+ // Add matching issues (up to 5)
60
+ const matchingIssues = allSearchItems
61
+ .filter((item) => item.title.toLowerCase().includes(q) ||
62
+ item.id.toLowerCase().includes(q))
63
+ .slice(0, 5)
64
+ .map((item) => ({
65
+ id: `issue-${item.id}`,
66
+ label: `#${item.id} ${item.title}`,
67
+ value: item.id,
68
+ hint: item.type,
69
+ category: 'Issues',
70
+ kind: 'issue',
71
+ }));
72
+ // Add matching PRs (up to 5)
73
+ const matchingPrs = pullRequests
74
+ .filter((pr) => pr.title.toLowerCase().includes(q) || String(pr.number).includes(q))
75
+ .slice(0, 5)
76
+ .map((pr) => ({
77
+ id: `pr-${pr.id}`,
78
+ label: `PR #${pr.number} ${pr.title}`,
79
+ value: pr.id,
80
+ hint: pr.status,
81
+ category: 'Pull Requests',
82
+ kind: 'pr',
83
+ }));
84
+ // Add matching branches (up to 5)
85
+ const matchingBranches = branches
86
+ .filter((r) => r.branch.name.toLowerCase().includes(q) ||
87
+ r.linkedItem?.title.toLowerCase().includes(q))
88
+ .slice(0, 5)
89
+ .map((r) => ({
90
+ id: `branch-${r.branch.name}`,
91
+ label: r.branch.name,
92
+ value: r.branch.name,
93
+ hint: r.linkedItem
94
+ ? `#${r.linkedItem.id} ${r.linkedItem.title}`
95
+ : undefined,
96
+ category: 'Branches',
97
+ kind: 'branch',
98
+ }));
99
+ all = [...all, ...matchingIssues, ...matchingPrs, ...matchingBranches];
100
+ }
101
+ return all;
102
+ }, [commands, recentIds, query, allSearchItems, pullRequests, branches]);
103
+ const handleSelect = useCallback((item) => {
104
+ setQuery('');
105
+ if (item.kind === 'issue') {
106
+ const workItem = allSearchItems.find((i) => i.id === item.value);
107
+ if (workItem) {
108
+ navigationStore.getState().selectWorkItem(workItem.id);
109
+ if (screen !== 'list')
110
+ navigate('list');
111
+ navigate('form');
112
+ }
113
+ onCancel();
114
+ return;
115
+ }
116
+ if (item.kind === 'pr') {
117
+ navigationStore.getState().selectPr(item.value);
118
+ if (screen !== 'pr-list')
119
+ navigate('pr-list');
120
+ onCancel();
121
+ return;
122
+ }
123
+ if (item.kind === 'branch') {
124
+ navigationStore.getState().selectBranch(item.value);
125
+ if (screen !== 'branch-list')
126
+ navigate('branch-list');
127
+ onCancel();
128
+ return;
129
+ }
130
+ // Command
131
+ const cmd = commands.find((c) => c.id === item.value);
132
+ if (cmd) {
133
+ recentCommandsStore.getState().addRecent(cmd.id);
134
+ onCommand(cmd);
135
+ }
136
+ }, [allSearchItems, commands, onCommand, onCancel, screen, navigate]);
137
+ return (_jsx(OverlayPanel, { title: "Commands", items: items, placeholder: "Type to search...", externalFilter: true, onQueryChange: setQuery, onSelect: handleSelect, onCancel: () => {
138
+ setQuery('');
139
+ onCancel();
140
+ } }));
141
+ }
142
+ //# sourceMappingURL=CommandBar.js.map