@knpkv/codecommit 0.2.0 → 0.3.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/dist/package.json +1 -1
- package/dist/src/tui/Constants.d.ts +0 -7
- package/dist/src/tui/Constants.d.ts.map +1 -1
- package/dist/src/tui/Constants.js +5 -31
- package/dist/src/tui/Constants.js.map +1 -1
- package/dist/src/tui/atoms/ui.d.ts +17 -1
- package/dist/src/tui/atoms/ui.d.ts.map +1 -1
- package/dist/src/tui/atoms/ui.js +12 -1
- package/dist/src/tui/atoms/ui.js.map +1 -1
- package/dist/src/tui/components/MainList.js +2 -2
- package/dist/src/tui/components/MainList.js.map +1 -1
- package/dist/src/tui/components/SettingsAboutTab.d.ts +2 -0
- package/dist/src/tui/components/SettingsAboutTab.d.ts.map +1 -0
- package/dist/src/tui/components/SettingsAboutTab.js +7 -0
- package/dist/src/tui/components/SettingsAboutTab.js.map +1 -0
- package/dist/src/tui/components/SettingsAccountsTab.d.ts +8 -0
- package/dist/src/tui/components/SettingsAccountsTab.d.ts.map +1 -0
- package/dist/src/tui/components/{SettingsTable.js → SettingsAccountsTab.js} +4 -14
- package/dist/src/tui/components/SettingsAccountsTab.js.map +1 -0
- package/dist/src/tui/components/SettingsConfigTab.d.ts +2 -0
- package/dist/src/tui/components/SettingsConfigTab.d.ts.map +1 -0
- package/dist/src/tui/components/SettingsConfigTab.js +10 -0
- package/dist/src/tui/components/SettingsConfigTab.js.map +1 -0
- package/dist/src/tui/components/SettingsThemeTab.d.ts +2 -0
- package/dist/src/tui/components/SettingsThemeTab.d.ts.map +1 -0
- package/dist/src/tui/components/SettingsThemeTab.js +24 -0
- package/dist/src/tui/components/SettingsThemeTab.js.map +1 -0
- package/dist/src/tui/components/SettingsView.d.ts +8 -0
- package/dist/src/tui/components/SettingsView.d.ts.map +1 -0
- package/dist/src/tui/components/SettingsView.js +33 -0
- package/dist/src/tui/components/SettingsView.js.map +1 -0
- package/dist/src/tui/components/index.d.ts +1 -1
- package/dist/src/tui/components/index.d.ts.map +1 -1
- package/dist/src/tui/components/index.js +1 -1
- package/dist/src/tui/components/index.js.map +1 -1
- package/dist/src/tui/hooks/useKeyboardNav.d.ts +0 -1
- package/dist/src/tui/hooks/useKeyboardNav.d.ts.map +1 -1
- package/dist/src/tui/hooks/useKeyboardNav.js +110 -76
- package/dist/src/tui/hooks/useKeyboardNav.js.map +1 -1
- package/dist/src/tui/ui/DialogCommand.d.ts.map +1 -1
- package/dist/src/tui/ui/DialogCommand.js +47 -25
- package/dist/src/tui/ui/DialogCommand.js.map +1 -1
- package/dist/src/tui/ui/index.d.ts +0 -2
- package/dist/src/tui/ui/index.d.ts.map +1 -1
- package/dist/src/tui/ui/index.js +0 -2
- package/dist/src/tui/ui/index.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +3 -3
- package/dist/src/tui/components/SettingsTable.d.ts +0 -12
- package/dist/src/tui/components/SettingsTable.d.ts.map +0 -1
- package/dist/src/tui/components/SettingsTable.js.map +0 -1
- package/dist/src/tui/ui/DialogHelp.d.ts +0 -6
- package/dist/src/tui/ui/DialogHelp.d.ts.map +0 -1
- package/dist/src/tui/ui/DialogHelp.js +0 -93
- package/dist/src/tui/ui/DialogHelp.js.map +0 -1
- package/dist/src/tui/ui/DialogTheme.d.ts +0 -2
- package/dist/src/tui/ui/DialogTheme.d.ts.map +0 -1
- package/dist/src/tui/ui/DialogTheme.js +0 -124
- package/dist/src/tui/ui/DialogTheme.js.map +0 -1
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@knpkv/codecommit",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.3.0",
|
|
4
4
|
"description": "TUI for browsing AWS CodeCommit PRs",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"open": "^10.1.0",
|
|
27
27
|
"react": "^19.1.0",
|
|
28
28
|
"tslib": "^2.8.1",
|
|
29
|
-
"@knpkv/codecommit-core": "^0.
|
|
30
|
-
"@knpkv/codecommit-web": "^0.
|
|
29
|
+
"@knpkv/codecommit-core": "^0.3.0",
|
|
30
|
+
"@knpkv/codecommit-web": "^0.3.0"
|
|
31
31
|
},
|
|
32
32
|
"devDependencies": {
|
|
33
33
|
"@effect/vitest": "latest",
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { ListItem } from "../ListBuilder.js";
|
|
2
|
-
interface SettingsTableProps {
|
|
3
|
-
readonly items: ReadonlyArray<ListItem>;
|
|
4
|
-
readonly selectedIndex: number;
|
|
5
|
-
}
|
|
6
|
-
/**
|
|
7
|
-
* Table for settings view
|
|
8
|
-
* @category components
|
|
9
|
-
*/
|
|
10
|
-
export declare function SettingsTable({ items, selectedIndex }: SettingsTableProps): import("react").ReactNode;
|
|
11
|
-
export {};
|
|
12
|
-
//# sourceMappingURL=SettingsTable.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsTable.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/SettingsTable.tsx"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAIjD,UAAU,kBAAkB;IAC1B,QAAQ,CAAC,KAAK,EAAE,aAAa,CAAC,QAAQ,CAAC,CAAA;IACvC,QAAQ,CAAC,aAAa,EAAE,MAAM,CAAA;CAC/B;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAAE,KAAK,EAAE,aAAa,EAAE,EAAE,kBAAkB,6BA4GzE"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsTable.js","sourceRoot":"","sources":["../../../../src/tui/components/SettingsTable.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogHelp.d.ts","sourceRoot":"","sources":["../../../../src/tui/ui/DialogHelp.tsx"],"names":[],"mappings":"AAsDA;;;GAGG;AACH,wBAAgB,UAAU,8BAsEzB"}
|
|
@@ -1,93 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
-
import { useAtomValue } from "@effect-atom/atom-react";
|
|
3
|
-
import { useKeyboard } from "@opentui/react";
|
|
4
|
-
import { useMemo, useRef } from "react";
|
|
5
|
-
import { viewAtom } from "../atoms/ui.js";
|
|
6
|
-
import { useDialog } from "../context/dialog.js";
|
|
7
|
-
import { useTheme } from "../context/theme.js";
|
|
8
|
-
const HELP_ITEMS = {
|
|
9
|
-
prs: [
|
|
10
|
-
{ key: "f", description: "Filter PRs" },
|
|
11
|
-
{ key: "1", description: "All PRs" },
|
|
12
|
-
{ key: "2", description: "My PRs" },
|
|
13
|
-
{ key: "3", description: "By Account" },
|
|
14
|
-
{ key: "4", description: "By Author" },
|
|
15
|
-
{ key: "5", description: "By Scope" },
|
|
16
|
-
{ key: "6", description: "By Age" },
|
|
17
|
-
{ key: "←→", description: "Cycle filter values" },
|
|
18
|
-
{ key: "Enter", description: "PR Details" },
|
|
19
|
-
{ key: "o", description: "Open PR in browser" },
|
|
20
|
-
{ key: "s", description: "Manage Accounts" },
|
|
21
|
-
{ key: "n", description: "Notifications" }
|
|
22
|
-
],
|
|
23
|
-
settings: [
|
|
24
|
-
{ key: "Enter", description: "Toggle account sync" },
|
|
25
|
-
{ key: "s", description: "Back to PRs" },
|
|
26
|
-
{ key: "n", description: "Notifications" }
|
|
27
|
-
],
|
|
28
|
-
notifications: [
|
|
29
|
-
{ key: "Enter", description: "Run action" },
|
|
30
|
-
{ key: "c", description: "Clear all" },
|
|
31
|
-
{ key: "s", description: "Manage Accounts" },
|
|
32
|
-
{ key: "n", description: "Back to PRs" }
|
|
33
|
-
],
|
|
34
|
-
details: [
|
|
35
|
-
{ key: "Esc", description: "Back to list" },
|
|
36
|
-
{ key: "Enter", description: "Open in browser" }
|
|
37
|
-
]
|
|
38
|
-
};
|
|
39
|
-
const COMMON_ITEMS = [
|
|
40
|
-
{ key: ":", description: "Command palette" },
|
|
41
|
-
{ key: "r", description: "Refresh" },
|
|
42
|
-
{ key: "t", description: "Theme" },
|
|
43
|
-
{ key: "h", description: "Help" },
|
|
44
|
-
{ key: "Esc", description: "Close / Clear" },
|
|
45
|
-
{ key: "q", description: "Quit" }
|
|
46
|
-
];
|
|
47
|
-
/**
|
|
48
|
-
* Help modal showing keyboard shortcuts for current view
|
|
49
|
-
* @category ui
|
|
50
|
-
*/
|
|
51
|
-
export function DialogHelp() {
|
|
52
|
-
const { theme } = useTheme();
|
|
53
|
-
const dialog = useDialog();
|
|
54
|
-
const view = useAtomValue(viewAtom);
|
|
55
|
-
const scrollRef = useRef(null);
|
|
56
|
-
const items = useMemo(() => {
|
|
57
|
-
const viewItems = HELP_ITEMS[view] || [];
|
|
58
|
-
return [...viewItems, { key: "─", description: "───────────────" }, ...COMMON_ITEMS];
|
|
59
|
-
}, [view]);
|
|
60
|
-
useKeyboard((key) => {
|
|
61
|
-
if (key.name === "escape" || key.name === "h" || key.name === "return") {
|
|
62
|
-
dialog.hide();
|
|
63
|
-
}
|
|
64
|
-
});
|
|
65
|
-
return (_jsxs("box", { style: {
|
|
66
|
-
position: "absolute",
|
|
67
|
-
top: 2,
|
|
68
|
-
left: "20%",
|
|
69
|
-
width: "60%",
|
|
70
|
-
height: Math.min(items.length + 2, 18),
|
|
71
|
-
backgroundColor: theme.backgroundElement,
|
|
72
|
-
borderStyle: "rounded",
|
|
73
|
-
borderColor: theme.primary,
|
|
74
|
-
flexDirection: "column"
|
|
75
|
-
}, children: [_jsx("box", { style: {
|
|
76
|
-
height: 1,
|
|
77
|
-
width: "100%",
|
|
78
|
-
paddingLeft: 1,
|
|
79
|
-
paddingRight: 1,
|
|
80
|
-
flexDirection: "row",
|
|
81
|
-
backgroundColor: theme.backgroundHeader
|
|
82
|
-
}, children: _jsx("text", { fg: theme.primary, children: "KEYBOARD SHORTCUTS" }) }), _jsx("scrollbox", { ref: scrollRef, style: {
|
|
83
|
-
flexGrow: 1,
|
|
84
|
-
width: "100%"
|
|
85
|
-
}, children: items.map((item, i) => (_jsxs("box", { style: {
|
|
86
|
-
height: 1,
|
|
87
|
-
width: "100%",
|
|
88
|
-
paddingLeft: 1,
|
|
89
|
-
paddingRight: 1,
|
|
90
|
-
flexDirection: "row"
|
|
91
|
-
}, children: [_jsx("box", { style: { width: 8 }, children: _jsx("text", { fg: item.key === "─" ? theme.textMuted : theme.primary, children: item.key }) }), _jsx("text", { fg: theme.text, children: item.description })] }, i))) })] }));
|
|
92
|
-
}
|
|
93
|
-
//# sourceMappingURL=DialogHelp.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogHelp.js","sourceRoot":"","sources":["../../../../src/tui/ui/DialogHelp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTheme.d.ts","sourceRoot":"","sources":["../../../../src/tui/ui/DialogTheme.tsx"],"names":[],"mappings":"AASA,wBAAgB,WAAW,8BAqJ1B"}
|
|
@@ -1,124 +0,0 @@
|
|
|
1
|
-
import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
|
|
2
|
-
import { useAtomSet, useAtomValue } from "@effect-atom/atom-react";
|
|
3
|
-
import { useKeyboard } from "@opentui/react";
|
|
4
|
-
import { useEffect, useMemo, useRef, useState } from "react";
|
|
5
|
-
import { themeAtom } from "../atoms/ui.js";
|
|
6
|
-
import { useDialog } from "../context/dialog.js";
|
|
7
|
-
import { useTheme } from "../context/theme.js";
|
|
8
|
-
import { themes } from "../theme/themes.js";
|
|
9
|
-
export function DialogTheme() {
|
|
10
|
-
const currentThemeId = useAtomValue(themeAtom);
|
|
11
|
-
const [originalThemeId] = useState(currentThemeId);
|
|
12
|
-
const { theme } = useTheme();
|
|
13
|
-
const setTheme = useAtomSet(themeAtom);
|
|
14
|
-
const dialog = useDialog();
|
|
15
|
-
const [search, setSearch] = useState("");
|
|
16
|
-
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
17
|
-
const [scrollOffset, setScrollOffset] = useState(0);
|
|
18
|
-
const scrollRef = useRef(null);
|
|
19
|
-
const visibleHeight = 11; // 15 max height - 3 for border/header - 1 for padding
|
|
20
|
-
const allThemes = useMemo(() => Object.keys(themes)
|
|
21
|
-
.sort()
|
|
22
|
-
.map((name) => ({ id: name, label: name })), []);
|
|
23
|
-
const filteredThemes = useMemo(() => {
|
|
24
|
-
if (!search)
|
|
25
|
-
return allThemes;
|
|
26
|
-
const s = search.toLowerCase();
|
|
27
|
-
return allThemes.filter((t) => t.label.toLowerCase().includes(s));
|
|
28
|
-
}, [allThemes, search]);
|
|
29
|
-
// Set initial selection to current theme
|
|
30
|
-
useEffect(() => {
|
|
31
|
-
if (!search) {
|
|
32
|
-
const idx = filteredThemes.findIndex((t) => t.id === currentThemeId);
|
|
33
|
-
if (idx >= 0) {
|
|
34
|
-
setSelectedIndex(idx);
|
|
35
|
-
// Set initial scroll to show item with margin
|
|
36
|
-
const initialOffset = Math.max(0, idx - 1);
|
|
37
|
-
setScrollOffset(initialOffset);
|
|
38
|
-
if (scrollRef.current) {
|
|
39
|
-
scrollRef.current.scrollTo({ x: 0, y: initialOffset });
|
|
40
|
-
}
|
|
41
|
-
}
|
|
42
|
-
}
|
|
43
|
-
}, []);
|
|
44
|
-
// Scroll to keep selected item visible with 1-item margin
|
|
45
|
-
useEffect(() => {
|
|
46
|
-
if (!scrollRef.current)
|
|
47
|
-
return;
|
|
48
|
-
let newOffset = scrollOffset;
|
|
49
|
-
if (selectedIndex < scrollOffset + 1) {
|
|
50
|
-
newOffset = Math.max(0, selectedIndex - 1);
|
|
51
|
-
}
|
|
52
|
-
else if (selectedIndex > scrollOffset + visibleHeight - 2) {
|
|
53
|
-
newOffset = selectedIndex - visibleHeight + 2;
|
|
54
|
-
}
|
|
55
|
-
if (newOffset !== scrollOffset) {
|
|
56
|
-
setScrollOffset(newOffset);
|
|
57
|
-
scrollRef.current.scrollTo({ x: 0, y: newOffset });
|
|
58
|
-
}
|
|
59
|
-
}, [selectedIndex, scrollOffset, visibleHeight]);
|
|
60
|
-
// Live preview
|
|
61
|
-
useEffect(() => {
|
|
62
|
-
const selected = filteredThemes[selectedIndex];
|
|
63
|
-
if (selected) {
|
|
64
|
-
setTheme(selected.id);
|
|
65
|
-
}
|
|
66
|
-
}, [selectedIndex, filteredThemes, setTheme]);
|
|
67
|
-
useKeyboard((key) => {
|
|
68
|
-
if (key.name === "escape") {
|
|
69
|
-
setTheme(originalThemeId);
|
|
70
|
-
dialog.hide();
|
|
71
|
-
}
|
|
72
|
-
else if (key.name === "return") {
|
|
73
|
-
dialog.hide();
|
|
74
|
-
}
|
|
75
|
-
else if (key.name === "down") {
|
|
76
|
-
setSelectedIndex((i) => Math.min(i + 1, filteredThemes.length - 1));
|
|
77
|
-
}
|
|
78
|
-
else if (key.name === "up") {
|
|
79
|
-
setSelectedIndex((i) => Math.max(i - 1, 0));
|
|
80
|
-
}
|
|
81
|
-
else if (key.name === "backspace") {
|
|
82
|
-
setSearch((s) => s.slice(0, -1));
|
|
83
|
-
setSelectedIndex(0);
|
|
84
|
-
setScrollOffset(0);
|
|
85
|
-
}
|
|
86
|
-
else {
|
|
87
|
-
const char = key.char || (key.name?.length === 1 ? key.name : null);
|
|
88
|
-
if (char && char.length === 1) {
|
|
89
|
-
setSearch((s) => s + char);
|
|
90
|
-
setSelectedIndex(0);
|
|
91
|
-
setScrollOffset(0);
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
return (_jsxs("box", { style: {
|
|
96
|
-
position: "absolute",
|
|
97
|
-
top: 2,
|
|
98
|
-
left: "20%",
|
|
99
|
-
width: "60%",
|
|
100
|
-
height: Math.min(filteredThemes.length + 3, 15),
|
|
101
|
-
backgroundColor: theme.backgroundElement,
|
|
102
|
-
borderStyle: "rounded",
|
|
103
|
-
borderColor: theme.primary,
|
|
104
|
-
flexDirection: "column"
|
|
105
|
-
}, children: [_jsxs("box", { style: {
|
|
106
|
-
height: 1,
|
|
107
|
-
width: "100%",
|
|
108
|
-
paddingLeft: 1,
|
|
109
|
-
paddingRight: 1,
|
|
110
|
-
flexDirection: "row",
|
|
111
|
-
backgroundColor: theme.backgroundHeader
|
|
112
|
-
}, children: [_jsx("text", { fg: theme.text, children: `> ${search}` }), _jsx("text", { fg: theme.primary, children: "│" })] }), _jsxs("scrollbox", { ref: scrollRef, style: {
|
|
113
|
-
flexGrow: 1,
|
|
114
|
-
width: "100%"
|
|
115
|
-
}, children: [filteredThemes.map((t, i) => (_jsx("box", { style: {
|
|
116
|
-
height: 1,
|
|
117
|
-
width: "100%",
|
|
118
|
-
paddingLeft: 1,
|
|
119
|
-
paddingRight: 1,
|
|
120
|
-
flexDirection: "row",
|
|
121
|
-
...(i === selectedIndex && { backgroundColor: theme.primary })
|
|
122
|
-
}, children: _jsx("text", { fg: i === selectedIndex ? theme.selectedText : theme.text, children: t.id === currentThemeId ? `${t.label} (current)` : t.label }) }, t.id))), filteredThemes.length === 0 && (_jsx("box", { style: { height: 1, paddingLeft: 1 }, children: _jsx("text", { fg: theme.textMuted, children: "No themes found" }) }))] })] }));
|
|
123
|
-
}
|
|
124
|
-
//# sourceMappingURL=DialogTheme.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"DialogTheme.js","sourceRoot":"","sources":["../../../../src/tui/ui/DialogTheme.tsx"],"names":[],"mappings":"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"}
|