@sascha384/tic 4.4.2 → 4.6.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.
- package/.claude-plugin/plugin.json +1 -1
- package/README.md +13 -2
- package/dist/app.js +4 -1
- package/dist/app.js.map +1 -1
- package/dist/backends/github/index.d.ts +14 -3
- package/dist/backends/github/index.js +68 -0
- package/dist/backends/github/index.js.map +1 -1
- package/dist/backends/github/pr-mappers.d.ts +27 -0
- package/dist/backends/github/pr-mappers.js +41 -0
- package/dist/backends/github/pr-mappers.js.map +1 -0
- package/dist/backends/types.d.ts +20 -1
- package/dist/backends/types.js +3 -0
- package/dist/backends/types.js.map +1 -1
- package/dist/cli/commands/mcp.d.ts +29 -0
- package/dist/cli/commands/mcp.js +137 -0
- package/dist/cli/commands/mcp.js.map +1 -1
- package/dist/cli/commands/pr.d.ts +19 -0
- package/dist/cli/commands/pr.js +75 -0
- package/dist/cli/commands/pr.js.map +1 -0
- package/dist/cli/index.js +178 -0
- package/dist/cli/index.js.map +1 -1
- package/dist/commands.js +0 -1
- package/dist/commands.js.map +1 -1
- package/dist/components/ColorPill.d.ts +5 -0
- package/dist/components/ColorPill.js +10 -0
- package/dist/components/ColorPill.js.map +1 -0
- package/dist/components/DetailPanel.js +6 -33
- package/dist/components/DetailPanel.js.map +1 -1
- package/dist/components/HelpScreen.js +14 -6
- package/dist/components/HelpScreen.js.map +1 -1
- package/dist/components/OverlayPanel.d.ts +3 -1
- package/dist/components/OverlayPanel.js +3 -2
- package/dist/components/OverlayPanel.js.map +1 -1
- package/dist/components/PullRequestList.d.ts +1 -0
- package/dist/components/PullRequestList.js +60 -0
- package/dist/components/PullRequestList.js.map +1 -0
- package/dist/components/Settings.js +128 -4
- package/dist/components/Settings.js.map +1 -1
- package/dist/components/TableLayout.js +23 -3
- package/dist/components/TableLayout.js.map +1 -1
- package/dist/components/WorkItemForm.js +7 -2
- package/dist/components/WorkItemForm.js.map +1 -1
- package/dist/components/WorkItemList.js +30 -19
- package/dist/components/WorkItemList.js.map +1 -1
- package/dist/git.d.ts +4 -0
- package/dist/git.js +16 -0
- package/dist/git.js.map +1 -1
- package/dist/storage/index.d.ts +24 -3
- package/dist/storage/index.js +199 -2
- package/dist/storage/index.js.map +1 -1
- package/dist/storage/mappers.d.ts +10 -2
- package/dist/storage/mappers.js +19 -0
- package/dist/storage/mappers.js.map +1 -1
- package/dist/storage/schema.d.ts +361 -0
- package/dist/storage/schema.js +37 -0
- package/dist/storage/schema.js.map +1 -1
- package/dist/stores/backendDataStore.d.ts +16 -2
- package/dist/stores/backendDataStore.js +115 -0
- package/dist/stores/backendDataStore.js.map +1 -1
- package/dist/stores/navigationStore.d.ts +1 -1
- package/dist/stores/navigationStore.js.map +1 -1
- package/dist/stores/themeStore.d.ts +14 -0
- package/dist/stores/themeStore.js +135 -1
- package/dist/stores/themeStore.js.map +1 -1
- package/dist/stores/uiStore.d.ts +7 -0
- package/dist/stores/uiStore.js.map +1 -1
- package/dist/sync/SyncManager.js +12 -1
- package/dist/sync/SyncManager.js.map +1 -1
- package/dist/sync/types.d.ts +1 -1
- package/dist/types.d.ts +22 -0
- package/drizzle/0003_nasty_nightshade.sql +7 -0
- package/drizzle/0004_pull_requests.sql +24 -0
- package/drizzle/meta/0003_snapshot.json +1266 -0
- package/drizzle/meta/_journal.json +14 -0
- package/package.json +1 -1
|
@@ -1,20 +1,8 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import { Box, Text } from 'ink';
|
|
3
3
|
import { useThemeStore } from '../stores/themeStore.js';
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
case 'critical':
|
|
7
|
-
return '▲▲';
|
|
8
|
-
case 'high':
|
|
9
|
-
return '▲';
|
|
10
|
-
case 'medium':
|
|
11
|
-
return '●';
|
|
12
|
-
case 'low':
|
|
13
|
-
return '▽';
|
|
14
|
-
default:
|
|
15
|
-
return '';
|
|
16
|
-
}
|
|
17
|
-
}
|
|
4
|
+
import { useBackendDataStore } from '../stores/backendDataStore.js';
|
|
5
|
+
import { ColorPill } from './ColorPill.js';
|
|
18
6
|
export function truncateDescription(description, width) {
|
|
19
7
|
if (!description)
|
|
20
8
|
return '';
|
|
@@ -24,24 +12,9 @@ export function truncateDescription(description, width) {
|
|
|
24
12
|
return firstLine.slice(0, width - 1) + '\u2026';
|
|
25
13
|
}
|
|
26
14
|
export function DetailPanel({ item, terminalWidth, showFullDescription, descriptionScrollOffset, maxDescriptionHeight, }) {
|
|
27
|
-
const {
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
case 'critical':
|
|
31
|
-
return error;
|
|
32
|
-
case 'high':
|
|
33
|
-
return warning;
|
|
34
|
-
case 'medium':
|
|
35
|
-
return info;
|
|
36
|
-
default:
|
|
37
|
-
return undefined;
|
|
38
|
-
}
|
|
39
|
-
}
|
|
40
|
-
const metaParts = [`#${item.id}`, item.status];
|
|
41
|
-
if (item.assignee) {
|
|
42
|
-
metaParts.push(`@${item.assignee}`);
|
|
43
|
-
}
|
|
44
|
-
const metaLine = metaParts.join(' · ');
|
|
15
|
+
const { border, mutedDim } = useThemeStore((s) => s.colors);
|
|
16
|
+
const pullRequests = useBackendDataStore((s) => s.pullRequests);
|
|
17
|
+
const linkedPrs = pullRequests.filter((pr) => pr.linkedItems.includes(item.id));
|
|
45
18
|
const hasBottom = item.priority || item.labels.length > 0;
|
|
46
19
|
const hasDescription = item.description.trim().length > 0;
|
|
47
20
|
// Border takes 2 chars (left+right), paddingLeft takes 1
|
|
@@ -50,6 +23,6 @@ export function DetailPanel({ item, terminalWidth, showFullDescription, descript
|
|
|
50
23
|
const scrollOffset = descriptionScrollOffset ?? 0;
|
|
51
24
|
const viewportHeight = maxDescriptionHeight ?? descriptionLines.length;
|
|
52
25
|
const visibleLines = descriptionLines.slice(scrollOffset, scrollOffset + viewportHeight);
|
|
53
|
-
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: border, paddingLeft: 1, paddingRight: 1, width: terminalWidth, children: [_jsx(Text, { bold: true, wrap: "truncate", children: item.title }),
|
|
26
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: border, paddingLeft: 1, paddingRight: 1, width: terminalWidth, children: [_jsx(Text, { bold: true, wrap: "truncate", children: item.title }), _jsxs(Box, { gap: 1, children: [_jsxs(Text, { dimColor: mutedDim, children: ["#", item.id] }), _jsx(ColorPill, { field: "status", value: item.status }), _jsx(ColorPill, { field: "type", value: item.type }), item.assignee && _jsxs(Text, { dimColor: mutedDim, children: ["@", item.assignee] })] }), hasBottom && (_jsxs(Box, { gap: 1, children: [item.priority && (_jsx(ColorPill, { field: "priority", value: item.priority })), item.labels.map((label) => (_jsx(ColorPill, { field: "label", value: label }, label)))] })), linkedPrs.length > 0 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, children: [_jsx(Text, { bold: true, children: "Pull Requests" }), linkedPrs.map((pr) => (_jsxs(Box, { gap: 1, children: [_jsxs(Text, { dimColor: true, children: ["#", pr.number] }), _jsx(Text, { children: pr.title }), _jsx(ColorPill, { field: "status", value: pr.status })] }, pr.id)))] })), hasDescription && !showFullDescription && (_jsx(Box, { children: _jsx(Text, { dimColor: mutedDim, wrap: "truncate", children: truncateDescription(item.description, contentWidth) }) })), showFullDescription && hasDescription && (_jsxs(_Fragment, { children: [_jsx(Box, { children: _jsxs(Text, { dimColor: mutedDim, children: ['─── description ', '─'.repeat(Math.max(0, contentWidth - 17))] }) }), visibleLines.map((line, idx) => (_jsx(Box, { children: _jsx(Text, { dimColor: mutedDim, children: line || ' ' }) }, idx)))] }))] }));
|
|
54
27
|
}
|
|
55
28
|
//# sourceMappingURL=DetailPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DetailPanel.js","sourceRoot":"","sources":["../../src/components/DetailPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAEhC,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"DetailPanel.js","sourceRoot":"","sources":["../../src/components/DetailPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -10,6 +10,7 @@ const SCREEN_LABELS = {
|
|
|
10
10
|
list: 'List View',
|
|
11
11
|
form: 'Form View',
|
|
12
12
|
'iteration-picker': 'Iteration Picker',
|
|
13
|
+
'pr-list': 'Pull Requests',
|
|
13
14
|
settings: 'Settings',
|
|
14
15
|
status: 'Status',
|
|
15
16
|
};
|
|
@@ -37,9 +38,7 @@ export function getShortcuts(screen, capabilities, gitAvailable, hasSyncManager)
|
|
|
37
38
|
actions.push({ key: 'F', description: 'Filter items' });
|
|
38
39
|
actions.push({ key: 'X', description: 'Clear all filters' });
|
|
39
40
|
actions.push({ key: '/', description: 'Command bar' });
|
|
40
|
-
|
|
41
|
-
actions.push({ key: 'p', description: 'Set parent' });
|
|
42
|
-
}
|
|
41
|
+
actions.push({ key: 'p', description: 'Create pull request' });
|
|
43
42
|
actions.push({ key: 'm', description: 'Toggle mark' });
|
|
44
43
|
actions.push({ key: 'M', description: 'Toggle mark all' });
|
|
45
44
|
actions.push({ key: 'shift+↑↓', description: 'Range select' });
|
|
@@ -48,9 +47,7 @@ export function getShortcuts(screen, capabilities, gitAvailable, hasSyncManager)
|
|
|
48
47
|
if (capabilities.customTypes) {
|
|
49
48
|
actions.push({ key: 't', description: 'Set type' });
|
|
50
49
|
}
|
|
51
|
-
|
|
52
|
-
actions.push({ key: 'P', description: 'Set priority' });
|
|
53
|
-
}
|
|
50
|
+
actions.push({ key: 'P', description: 'Pull requests' });
|
|
54
51
|
if (capabilities.fields.assignee) {
|
|
55
52
|
actions.push({ key: 'a', description: 'Set assignee' });
|
|
56
53
|
}
|
|
@@ -171,6 +168,17 @@ export function getShortcuts(screen, capabilities, gitAvailable, hasSyncManager)
|
|
|
171
168
|
: []),
|
|
172
169
|
];
|
|
173
170
|
}
|
|
171
|
+
case 'pr-list': {
|
|
172
|
+
return [
|
|
173
|
+
{
|
|
174
|
+
label: 'Navigation',
|
|
175
|
+
shortcuts: [
|
|
176
|
+
{ key: 'esc', description: 'Back to list' },
|
|
177
|
+
{ key: '?', description: 'Help' },
|
|
178
|
+
],
|
|
179
|
+
},
|
|
180
|
+
];
|
|
181
|
+
}
|
|
174
182
|
case 'status': {
|
|
175
183
|
const groups = [
|
|
176
184
|
{
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HelpScreen.js","sourceRoot":"","sources":["../../src/components/HelpScreen.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HelpScreen.js","sourceRoot":"","sources":["../../src/components/HelpScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { FieldType } from '../stores/themeStore.js';
|
|
1
2
|
export interface OverlayItem {
|
|
2
3
|
id: string;
|
|
3
4
|
label: string;
|
|
@@ -27,7 +28,8 @@ export interface OverlayPanelProps {
|
|
|
27
28
|
footer?: string;
|
|
28
29
|
externalFilter?: boolean;
|
|
29
30
|
onQueryChange?: (query: string) => void;
|
|
31
|
+
fieldType?: FieldType;
|
|
30
32
|
}
|
|
31
33
|
export declare function filterItems(items: OverlayItem[], query: string): OverlayItem[];
|
|
32
34
|
export declare function groupByCategory(items: OverlayItem[]): OverlayItemGroup[];
|
|
33
|
-
export declare function OverlayPanel({ title, items, onSelect, onCancel, multiSelect, allowFreeform, onSubmitFreeform, onConfirm, onAction, placeholder, initialQuery, emptyMessage, footer, externalFilter, onQueryChange, }: OverlayPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
35
|
+
export declare function OverlayPanel({ title, items, onSelect, onCancel, multiSelect, allowFreeform, onSubmitFreeform, onConfirm, onAction, placeholder, initialQuery, emptyMessage, footer, externalFilter, onQueryChange, fieldType, }: OverlayPanelProps): import("react/jsx-runtime").JSX.Element;
|
|
@@ -4,6 +4,7 @@ import { Box, Text, useInput } from 'ink';
|
|
|
4
4
|
import TextInput from 'ink-text-input';
|
|
5
5
|
import { useScrollViewport } from '../hooks/useScrollViewport.js';
|
|
6
6
|
import { useThemeStore } from '../stores/themeStore.js';
|
|
7
|
+
import { ColorPill } from './ColorPill.js';
|
|
7
8
|
export function filterItems(items, query) {
|
|
8
9
|
if (query.trim() === '')
|
|
9
10
|
return items;
|
|
@@ -25,7 +26,7 @@ export function groupByCategory(items) {
|
|
|
25
26
|
}
|
|
26
27
|
return groups;
|
|
27
28
|
}
|
|
28
|
-
export function OverlayPanel({ title, items, onSelect, onCancel, multiSelect = false, allowFreeform = false, onSubmitFreeform, onConfirm, onAction, placeholder = 'Type to filter...', initialQuery = '', emptyMessage = 'No matches', footer, externalFilter = false, onQueryChange, }) {
|
|
29
|
+
export function OverlayPanel({ title, items, onSelect, onCancel, multiSelect = false, allowFreeform = false, onSubmitFreeform, onConfirm, onAction, placeholder = 'Type to filter...', initialQuery = '', emptyMessage = 'No matches', footer, externalFilter = false, onQueryChange, fieldType, }) {
|
|
29
30
|
const [query, setQuery] = useState(initialQuery);
|
|
30
31
|
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
31
32
|
const [toggled, setToggled] = useState(() => {
|
|
@@ -131,7 +132,7 @@ export function OverlayPanel({ title, items, onSelect, onCancel, multiSelect = f
|
|
|
131
132
|
: '☐ '
|
|
132
133
|
: isSelected
|
|
133
134
|
? '● '
|
|
134
|
-
: ' ' }),
|
|
135
|
+
: ' ' }), _jsxs(Box, { flexGrow: 1, gap: 1, children: [fieldType && !item.value.startsWith('__') && (_jsx(ColorPill, { field: fieldType, value: item.value })), _jsx(Text, { color: isSelected ? accent : undefined, bold: isSelected, children: item.label })] }), item.hint && _jsxs(Text, { dimColor: mutedDim, children: [" ", item.hint] })] }, item.id));
|
|
135
136
|
})] }, group.category || '__default'))), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: mutedDim, children: footer ?? defaultFooter }) })] }));
|
|
136
137
|
}
|
|
137
138
|
//# sourceMappingURL=OverlayPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"OverlayPanel.js","sourceRoot":"","sources":["../../src/components/OverlayPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AAC1C,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAC1C,OAAO,SAAS,MAAM,gBAAgB,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;
|
|
1
|
+
{"version":3,"file":"OverlayPanel.js","sourceRoot":"","sources":["../../src/components/OverlayPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function PullRequestList(): import("react/jsx-runtime").JSX.Element;
|
|
@@ -0,0 +1,60 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { useState } from 'react';
|
|
3
|
+
import { Box, Text, useInput } from 'ink';
|
|
4
|
+
import { useThemeStore } from '../stores/themeStore.js';
|
|
5
|
+
import { useNavigationStore } from '../stores/navigationStore.js';
|
|
6
|
+
import { useBackendDataStore } from '../stores/backendDataStore.js';
|
|
7
|
+
import { ColorPill } from './ColorPill.js';
|
|
8
|
+
const openInBrowser = async (url) => {
|
|
9
|
+
const { default: open } = await import('open');
|
|
10
|
+
await open(url);
|
|
11
|
+
};
|
|
12
|
+
export function PullRequestList() {
|
|
13
|
+
const { accent, muted, mutedDim } = useThemeStore((s) => s.colors);
|
|
14
|
+
const navigate = useNavigationStore((s) => s.navigate);
|
|
15
|
+
const navigateToHelp = useNavigationStore((s) => s.navigateToHelp);
|
|
16
|
+
const pullRequests = useBackendDataStore((s) => s.pullRequests);
|
|
17
|
+
const [cursor, setCursor] = useState(0);
|
|
18
|
+
// Clamp cursor to valid range
|
|
19
|
+
const clampedCursor = Math.max(0, Math.min(cursor, pullRequests.length - 1));
|
|
20
|
+
if (clampedCursor !== cursor) {
|
|
21
|
+
setCursor(clampedCursor);
|
|
22
|
+
}
|
|
23
|
+
useInput((input, key) => {
|
|
24
|
+
if (key.escape) {
|
|
25
|
+
navigate('list');
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
if (input === '?') {
|
|
29
|
+
navigateToHelp();
|
|
30
|
+
return;
|
|
31
|
+
}
|
|
32
|
+
// Navigation
|
|
33
|
+
if (input === 'j' || key.downArrow) {
|
|
34
|
+
setCursor((c) => Math.min(c + 1, pullRequests.length - 1));
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
if (input === 'k' || key.upArrow) {
|
|
38
|
+
setCursor((c) => Math.max(c - 1, 0));
|
|
39
|
+
return;
|
|
40
|
+
}
|
|
41
|
+
// Open in browser
|
|
42
|
+
if (key.return || input === 'o') {
|
|
43
|
+
const pr = pullRequests[clampedCursor];
|
|
44
|
+
if (pr?.url) {
|
|
45
|
+
void openInBrowser(pr.url);
|
|
46
|
+
}
|
|
47
|
+
return;
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
return (_jsxs(Box, { flexDirection: "column", padding: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { bold: true, color: accent, children: "Pull Requests" }), _jsxs(Text, { color: muted, dimColor: mutedDim, children: [' ', "(", pullRequests.length, ")"] })] }), pullRequests.length === 0 ? (_jsx(Box, { children: _jsx(Text, { color: muted, dimColor: mutedDim, children: "No pull requests" }) })) : (_jsxs(Box, { flexDirection: "column", children: [_jsxs(Box, { children: [_jsx(Box, { width: 8, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "#" }) }), _jsx(Box, { width: 40, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Title" }) }), _jsx(Box, { width: 12, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Status" }) }), _jsx(Box, { width: 30, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Branches" }) }), _jsx(Box, { width: 16, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Author" }) }), _jsx(Box, { width: 6, children: _jsx(Text, { bold: true, color: muted, dimColor: mutedDim, children: "Links" }) })] }), pullRequests.map((pr, index) => {
|
|
51
|
+
const isSelected = index === clampedCursor;
|
|
52
|
+
const title = pr.title.length > 37 ? pr.title.slice(0, 37) + '...' : pr.title;
|
|
53
|
+
const branches = `${pr.sourceBranch} → ${pr.targetBranch}`;
|
|
54
|
+
const branchesDisplay = branches.length > 27 ? branches.slice(0, 27) + '...' : branches;
|
|
55
|
+
return (_jsxs(Box, { children: [_jsx(Box, { width: 8, children: _jsxs(Text, { inverse: isSelected, bold: isSelected, children: ["#", pr.number] }) }), _jsx(Box, { width: 40, children: _jsx(Text, { inverse: isSelected, bold: isSelected, children: title }) }), _jsx(Box, { width: 12, children: isSelected ? (_jsx(Text, { inverse: true, children: pr.status })) : (_jsx(ColorPill, { field: "status", value: pr.status })) }), _jsx(Box, { width: 30, children: _jsx(Text, { inverse: isSelected, color: muted, dimColor: mutedDim, children: branchesDisplay }) }), _jsx(Box, { width: 16, children: _jsx(Text, { inverse: isSelected, children: pr.author }) }), _jsx(Box, { width: 6, children: _jsx(Text, { inverse: isSelected, children: pr.linkedItems.length > 0
|
|
56
|
+
? String(pr.linkedItems.length)
|
|
57
|
+
: '' }) })] }, pr.id));
|
|
58
|
+
})] })), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: muted, dimColor: mutedDim, children: "j/k navigate \u00B7 Enter/o open in browser \u00B7 Esc back \u00B7 ? help" }) })] }));
|
|
59
|
+
}
|
|
60
|
+
//# sourceMappingURL=PullRequestList.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PullRequestList.js","sourceRoot":"","sources":["../../src/components/PullRequestList.tsx"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { useState, useEffect, useMemo } from 'react';
|
|
|
3
3
|
import { Box, Text, useInput, useApp } from 'ink';
|
|
4
4
|
import TextInput from 'ink-text-input';
|
|
5
5
|
import { useNavigationStore } from '../stores/navigationStore.js';
|
|
6
|
-
import { useBackendDataStore, defaultCapabilities, } from '../stores/backendDataStore.js';
|
|
6
|
+
import { backendDataStore, useBackendDataStore, defaultCapabilities, } from '../stores/backendDataStore.js';
|
|
7
7
|
import { useConfigStore, configStore } from '../stores/configStore.js';
|
|
8
8
|
import { uiStore, useUIStore } from '../stores/uiStore.js';
|
|
9
9
|
import { VALID_BACKENDS } from '../backends/factory.js';
|
|
@@ -15,7 +15,7 @@ import { OverlayPanel } from './OverlayPanel.js';
|
|
|
15
15
|
import { openInEditor } from '../editor.js';
|
|
16
16
|
import { defaultConfig } from '../storage/config.js';
|
|
17
17
|
import { useTerminalWidth } from '../hooks/useTerminalWidth.js';
|
|
18
|
-
import { themeStore, useThemeStore, themes } from '../stores/themeStore.js';
|
|
18
|
+
import { themeStore, useThemeStore, themes, autoFg, } from '../stores/themeStore.js';
|
|
19
19
|
const JIRA_FIELDS = ['site', 'project', 'boardId'];
|
|
20
20
|
export function Settings() {
|
|
21
21
|
const { exit } = useApp();
|
|
@@ -32,6 +32,7 @@ export function Settings() {
|
|
|
32
32
|
const themeName = useThemeStore((s) => s.themeName);
|
|
33
33
|
const { accent, success, mutedDim } = useThemeStore((s) => s.colors);
|
|
34
34
|
const queue = useBackendDataStore((s) => s.queue);
|
|
35
|
+
const storeLabels = useBackendDataStore((s) => s.labels);
|
|
35
36
|
const config = useConfigStore((s) => s.config);
|
|
36
37
|
const configLoaded = useConfigStore((s) => s.loaded);
|
|
37
38
|
const [cursor, setCursor] = useState(0);
|
|
@@ -135,6 +136,10 @@ export function Settings() {
|
|
|
135
136
|
items.push({ kind: 'branch-command' });
|
|
136
137
|
items.push({ kind: 'branch-clipboard-toggle' });
|
|
137
138
|
items.push({ kind: 'theme' });
|
|
139
|
+
items.push({ kind: 'color-status' });
|
|
140
|
+
items.push({ kind: 'color-priority' });
|
|
141
|
+
items.push({ kind: 'color-type' });
|
|
142
|
+
items.push({ kind: 'color-label' });
|
|
138
143
|
if (capabilities.templates) {
|
|
139
144
|
items.push({ kind: 'template-header' });
|
|
140
145
|
for (const t of templates) {
|
|
@@ -291,6 +296,21 @@ export function Settings() {
|
|
|
291
296
|
else if (item.kind === 'theme') {
|
|
292
297
|
openOverlay({ type: 'theme-picker' });
|
|
293
298
|
}
|
|
299
|
+
else if (item.kind === 'color-status' ||
|
|
300
|
+
item.kind === 'color-priority' ||
|
|
301
|
+
item.kind === 'color-type' ||
|
|
302
|
+
item.kind === 'color-label') {
|
|
303
|
+
const fieldMap = {
|
|
304
|
+
'color-status': 'status',
|
|
305
|
+
'color-priority': 'priority',
|
|
306
|
+
'color-type': 'type',
|
|
307
|
+
'color-label': 'label',
|
|
308
|
+
};
|
|
309
|
+
openOverlay({
|
|
310
|
+
type: 'color-value-picker',
|
|
311
|
+
fieldType: fieldMap[item.kind],
|
|
312
|
+
});
|
|
313
|
+
}
|
|
294
314
|
}
|
|
295
315
|
if (input === 'c' && capabilities.templates) {
|
|
296
316
|
setFormMode('template');
|
|
@@ -337,7 +357,11 @@ export function Settings() {
|
|
|
337
357
|
item.kind === 'update-now' ||
|
|
338
358
|
item.kind === 'update-check' ||
|
|
339
359
|
item.kind === 'update-toggle' ||
|
|
340
|
-
item.kind === 'theme'
|
|
360
|
+
item.kind === 'theme' ||
|
|
361
|
+
item.kind === 'color-status' ||
|
|
362
|
+
item.kind === 'color-priority' ||
|
|
363
|
+
item.kind === 'color-type' ||
|
|
364
|
+
item.kind === 'color-label') {
|
|
341
365
|
return null; // rendered separately below
|
|
342
366
|
}
|
|
343
367
|
// Jira config field
|
|
@@ -395,6 +419,20 @@ export function Settings() {
|
|
|
395
419
|
return null;
|
|
396
420
|
const focused = idx === cursor;
|
|
397
421
|
return (_jsxs(Box, { marginLeft: 2, children: [_jsxs(Text, { color: focused ? accent : undefined, children: [focused ? '>' : ' ', ' '] }), _jsxs(Text, { bold: focused, color: focused ? accent : undefined, children: ["Theme: ", themeName] })] }, "theme"));
|
|
422
|
+
})] }), _jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Colors:" }), navItems.map((item, idx) => {
|
|
423
|
+
if (item.kind !== 'color-status' &&
|
|
424
|
+
item.kind !== 'color-priority' &&
|
|
425
|
+
item.kind !== 'color-type' &&
|
|
426
|
+
item.kind !== 'color-label')
|
|
427
|
+
return null;
|
|
428
|
+
const focused = idx === cursor;
|
|
429
|
+
const label = {
|
|
430
|
+
'color-status': 'Status colors',
|
|
431
|
+
'color-priority': 'Priority colors',
|
|
432
|
+
'color-type': 'Type colors',
|
|
433
|
+
'color-label': 'Label colors',
|
|
434
|
+
};
|
|
435
|
+
return (_jsxs(Box, { marginLeft: 2, children: [_jsxs(Text, { color: focused ? accent : undefined, children: [focused ? '>' : ' ', ' '] }), _jsxs(Text, { bold: focused, color: focused ? accent : undefined, children: [label[item.kind], " \u2192"] })] }, item.kind));
|
|
398
436
|
})] }), capabilities.templates && (_jsxs(Box, { marginTop: 1, flexDirection: "column", children: [_jsx(Text, { bold: true, children: "Templates:" }), navItems.map((item, idx) => {
|
|
399
437
|
if (item.kind !== 'template')
|
|
400
438
|
return null;
|
|
@@ -472,7 +510,93 @@ export function Settings() {
|
|
|
472
510
|
})), onSelect: (item) => {
|
|
473
511
|
themeStore.getState().setTheme(item.value);
|
|
474
512
|
closeOverlay();
|
|
475
|
-
}, onCancel: () => closeOverlay() })),
|
|
513
|
+
}, onCancel: () => closeOverlay() })), activeOverlay?.type === 'color-value-picker' &&
|
|
514
|
+
(() => {
|
|
515
|
+
const ft = activeOverlay.fieldType;
|
|
516
|
+
const PRIORITIES = ['critical', 'high', 'medium', 'low'];
|
|
517
|
+
const values = ft === 'status'
|
|
518
|
+
? config.statuses
|
|
519
|
+
: ft === 'priority'
|
|
520
|
+
? PRIORITIES
|
|
521
|
+
: ft === 'type'
|
|
522
|
+
? config.types
|
|
523
|
+
: storeLabels;
|
|
524
|
+
const overrides = themeStore.getState().colorOverrides[ft] ?? {};
|
|
525
|
+
const items = [
|
|
526
|
+
{ id: '__reset_all__', label: 'Reset all', value: '__reset_all__' },
|
|
527
|
+
...values.map((v) => ({
|
|
528
|
+
id: v,
|
|
529
|
+
label: v,
|
|
530
|
+
value: v,
|
|
531
|
+
hint: overrides[v.toLowerCase()] ? '(custom)' : undefined,
|
|
532
|
+
})),
|
|
533
|
+
];
|
|
534
|
+
return (_jsx(OverlayPanel, { title: `${ft.charAt(0).toUpperCase() + ft.slice(1)} Colors`, items: items, fieldType: ft, onSelect: (item) => {
|
|
535
|
+
if (item.value === '__reset_all__') {
|
|
536
|
+
void backendDataStore
|
|
537
|
+
.getState()
|
|
538
|
+
.deleteColorMappingsByField(ft)
|
|
539
|
+
.catch(() => { });
|
|
540
|
+
closeOverlay();
|
|
541
|
+
}
|
|
542
|
+
else {
|
|
543
|
+
openOverlay({
|
|
544
|
+
type: 'color-palette-picker',
|
|
545
|
+
fieldType: ft,
|
|
546
|
+
value: item.value,
|
|
547
|
+
});
|
|
548
|
+
}
|
|
549
|
+
}, onCancel: () => closeOverlay(), emptyMessage: "(no values configured)" }));
|
|
550
|
+
})(), activeOverlay?.type === 'color-palette-picker' &&
|
|
551
|
+
(() => {
|
|
552
|
+
const ft = activeOverlay.fieldType;
|
|
553
|
+
const val = activeOverlay.value;
|
|
554
|
+
const TERMINAL_COLORS = [
|
|
555
|
+
'red',
|
|
556
|
+
'green',
|
|
557
|
+
'blue',
|
|
558
|
+
'magenta',
|
|
559
|
+
'cyan',
|
|
560
|
+
'yellow',
|
|
561
|
+
'gray',
|
|
562
|
+
'white',
|
|
563
|
+
'redBright',
|
|
564
|
+
'greenBright',
|
|
565
|
+
'blueBright',
|
|
566
|
+
'magentaBright',
|
|
567
|
+
'cyanBright',
|
|
568
|
+
'yellowBright',
|
|
569
|
+
'grayBright',
|
|
570
|
+
'whiteBright',
|
|
571
|
+
];
|
|
572
|
+
const items = [
|
|
573
|
+
{
|
|
574
|
+
id: '__reset__',
|
|
575
|
+
label: 'Reset to default',
|
|
576
|
+
value: '__reset__',
|
|
577
|
+
},
|
|
578
|
+
...TERMINAL_COLORS.map((c) => ({
|
|
579
|
+
id: c,
|
|
580
|
+
label: `${val} (${c})`,
|
|
581
|
+
value: c,
|
|
582
|
+
})),
|
|
583
|
+
];
|
|
584
|
+
return (_jsx(OverlayPanel, { title: `Pick color for "${val}"`, items: items, fieldType: ft, onSelect: (item) => {
|
|
585
|
+
const store = backendDataStore.getState();
|
|
586
|
+
if (item.value === '__reset__') {
|
|
587
|
+
void store.deleteColorMapping(ft, val).catch(() => { });
|
|
588
|
+
}
|
|
589
|
+
else {
|
|
590
|
+
const bg = item.value;
|
|
591
|
+
const fg = autoFg(bg);
|
|
592
|
+
void store.setColorMapping(ft, val, bg, fg).catch(() => { });
|
|
593
|
+
}
|
|
594
|
+
closeOverlay();
|
|
595
|
+
}, onCancel: () => {
|
|
596
|
+
// Go back to value picker
|
|
597
|
+
openOverlay({ type: 'color-value-picker', fieldType: ft });
|
|
598
|
+
} }));
|
|
599
|
+
})(), _jsx(Box, { marginTop: 1, children: _jsx(Text, { dimColor: mutedDim, children: capabilities.templates
|
|
476
600
|
? '↑↓ navigate enter select c create template d delete template esc back ? help'
|
|
477
601
|
: '↑↓ navigate enter select esc back ? help' }) })] }));
|
|
478
602
|
}
|