centy 0.0.15 → 0.0.16

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.
@@ -162,6 +162,6 @@ export function IssueCreate() {
162
162
  if (isSubmitting) {
163
163
  return (_jsx(MainPanel, { title: `New Issue - ${projectName}`, children: _jsx("text", { fg: "cyan", children: "Creating issue..." }) }));
164
164
  }
165
- return (_jsx(MainPanel, { title: `New Issue - ${projectName}`, children: _jsxs("box", { flexDirection: "column", flexGrow: 1, children: [_jsx("box", { marginBottom: 1, children: _jsx("text", { fg: "gray", children: "Tab: next field | Shift+Tab: prev | Ctrl+S: save | Esc: cancel" }) }), error && (_jsx("box", { marginBottom: 1, children: _jsx("text", { fg: "red", children: error }) })), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'title' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Title ", activeField === 'title' ? '▸' : ' '] }) }), _jsxs("box", { paddingLeft: 2, borderStyle: activeField === 'title' ? 'single' : undefined, children: [_jsx("text", { children: title || (activeField === 'title' ? '│' : '') }), activeField === 'title' && _jsx("text", { fg: "cyan", children: "_" })] })] }), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'description' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Description ", activeField === 'description' ? '▸' : ' '] }) }), _jsx("box", { paddingLeft: 2, borderStyle: activeField === 'description' ? 'single' : undefined, height: 5, children: _jsxs("text", { children: [description || (activeField === 'description' ? '' : ''), activeField === 'description' && _jsx("text", { fg: "cyan", children: "_" })] }) })] }), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'priority' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Priority ", activeField === 'priority' ? '▸' : ' '] }) }), _jsxs("box", { paddingLeft: 2, flexDirection: "row", children: [activeField === 'priority' && _jsx("text", { fg: "gray", children: "\u25C0 " }), _jsxs("text", { fg: getPriorityColor(priority), children: [getPriorityLabel(priority), " (", priority, "/", priorityLevels, ")"] }), activeField === 'priority' && _jsx("text", { fg: "gray", children: " \u25B6" })] }), activeField === 'priority' && (_jsx("box", { paddingLeft: 2, children: _jsx("text", { fg: "gray", children: "Use arrow keys or h/l to change" }) }))] }), _jsx("box", { marginTop: 1, children: _jsx("text", { fg: "green", children: "Press Ctrl+S to create issue" }) })] }) }));
165
+ return (_jsx(MainPanel, { title: `New Issue - ${projectName}`, children: _jsxs("box", { flexDirection: "column", flexGrow: 1, children: [_jsx("box", { marginBottom: 1, children: _jsx("text", { fg: "gray", children: "Tab: next field | Shift+Tab: prev | Ctrl+S: save | Esc: cancel" }) }), error && (_jsx("box", { marginBottom: 1, children: _jsx("text", { fg: "red", children: error }) })), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'title' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Title ", activeField === 'title' ? '▸' : ' '] }) }), _jsxs("box", { paddingLeft: 2, borderStyle: activeField === 'title' ? 'single' : undefined, children: [_jsx("text", { children: title || (activeField === 'title' ? '│' : '') }), activeField === 'title' && _jsx("text", { fg: "cyan", children: "_" })] })] }), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'description' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Description ", activeField === 'description' ? '▸' : ' '] }) }), _jsxs("box", { paddingLeft: 2, borderStyle: activeField === 'description' ? 'single' : undefined, height: 5, children: [_jsx("text", { children: description || (activeField === 'description' ? '' : '') }), activeField === 'description' && _jsx("text", { fg: "cyan", children: "_" })] })] }), _jsxs("box", { flexDirection: "column", marginBottom: 1, children: [_jsx("text", { fg: activeField === 'priority' ? 'cyan' : 'white', children: _jsxs("b", { children: ["Priority ", activeField === 'priority' ? '▸' : ' '] }) }), _jsxs("box", { paddingLeft: 2, flexDirection: "row", children: [activeField === 'priority' && _jsx("text", { fg: "gray", children: "\u25C0 " }), _jsxs("text", { fg: getPriorityColor(priority), children: [getPriorityLabel(priority), " (", priority, "/", priorityLevels, ")"] }), activeField === 'priority' && _jsx("text", { fg: "gray", children: " \u25B6" })] }), activeField === 'priority' && (_jsx("box", { paddingLeft: 2, children: _jsx("text", { fg: "gray", children: "Use arrow keys or h/l to change" }) }))] }), _jsx("box", { marginTop: 1, children: _jsx("text", { fg: "green", children: "Press Ctrl+S to create issue" }) })] }) }));
166
166
  }
167
167
  //# sourceMappingURL=IssueCreate.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"IssueCreate.js","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueCreate.tsx"],"names":[],"mappings":";AAAA,OAAO,EAAE,QAAQ,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAC7C,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAA;AAE5C,OAAO,EAAE,SAAS,EAAE,MAAM,wBAAwB,CAAA;AAClD,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,WAAW,EAAE,MAAM,0BAA0B,CAAA;AACtD,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,aAAa,EAAE,MAAM,kCAAkC,CAAA;AAIhE,MAAM,MAAM,GAAgB,CAAC,OAAO,EAAE,aAAa,EAAE,UAAU,CAAC,CAAA;AAEhE,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,KAAK,CAAA;IAChC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACnC,OAAO,OAAO,CAAA;AAChB,CAAC;AAED,SAAS,gBAAgB,CAAC,QAAgB;IACxC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,MAAM,CAAA;IACjC,IAAI,QAAQ,KAAK,CAAC;QAAE,OAAO,QAAQ,CAAA;IACnC,OAAO,KAAK,CAAA;AACd,CAAC;AAED,MAAM,UAAU,WAAW;IACzB,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,GAAG,aAAa,EAAE,CAAA;IAC5C,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,WAAW,EAAE,CAAA;IACzC,MAAM,EAAE,MAAM,EAAE,GAAG,SAAS,EAAE,CAAA;IAE9B,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IACtC,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAC,EAAE,CAAC,CAAA;IAClD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAA,CAAC,iBAAiB;IAC7D,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAY,OAAO,CAAC,CAAA;IAClE,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvD,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAgB,IAAI,CAAC,CAAA;IAEvD,MAAM,cAAc,GAAG,MAAM,EAAE,cAAc,IAAI,CAAC,CAAA;IAElD,MAAM,YAAY,GAAG,WAAW,CAAC,KAAK,IAAI,EAAE;QAC1C,IAAI,CAAC,KAAK,CAAC,mBAAmB;YAAE,OAAM;QACtC,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC;YAClB,QAAQ,CAAC,mBAAmB,CAAC,CAAA;YAC7B,OAAM;QACR,CAAC;QAED,eAAe,CAAC,IAAI,CAAC,CAAA;QACrB,QAAQ,CAAC,IAAI,CAAC,CAAA;QAEd,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,WAAW,CAAC,KAAK,CAAC,mBAAmB,EAAE;YACxE,KAAK,EAAE,KAAK,CAAC,IAAI,EAAE;YACnB,WAAW,EAAE,WAAW,CAAC,IAAI,EAAE;YAC/B,QAAQ;SACT,CAAC,CAAA;QAEF,eAAe,CAAC,KAAK,CAAC,CAAA;QAEtB,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;YACnB,wCAAwC;YACxC,QAAQ,CAAC,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC,CAAA,CAAC,wBAAwB;YACrE,QAAQ,CAAC,QAAQ,CAAC,CAAA;QACpB,CAAC;aAAM,CAAC;YACN,QAAQ,CAAC,MAAM,CAAC,KAAK,IAAI,wBAAwB,CAAC,CAAA;QACpD,CAAC;IACH,CAAC,EAAE;QACD,KAAK,CAAC,mBAAmB;QACzB,KAAK;QACL,WAAW;QACX,QAAQ;QACR,QAAQ;QACR,QAAQ;KACT,CAAC,CAAA;IAEF,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAChD,IAAI,YAAY,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACrC,cAAc,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,eAAe,GAAG,WAAW,CAAC,GAAG,EAAE;QACvC,MAAM,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,WAAW,CAAC,CAAA;QAChD,IAAI,YAAY,GAAG,CAAC,EAAE,CAAC;YACrB,cAAc,CAAC,MAAM,CAAC,YAAY,GAAG,CAAC,CAAC,CAAC,CAAA;QAC1C,CAAC;IACH,CAAC,EAAE,CAAC,WAAW,CAAC,CAAC,CAAA;IAEjB,MAAM,aAAa,GAAG,WAAW,CAC/B,CAAC,SAAwB,EAAE,EAAE;QAC3B,IAAI,SAAS,KAAK,IAAI,EAAE,CAAC;YACvB,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAA;QAC7D,CAAC;aAAM,CAAC;YACN,WAAW,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,IAAI,GAAG,cAAc,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAA;QAC7D,CAAC;IACH,CAAC,EACD,CAAC,cAAc,CAAC,CACjB,CAAA;IAED,WAAW,CAAC,CAAC,KAAe,EAAE,EAAE;QAC9B,qBAAqB;QACrB,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;YAC5B,MAAM,EAAE,CAAA;YACR,OAAM;QACR,CAAC;QAED,qBAAqB;QACrB,IAAI,KAAK,CAAC,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;YACrC,YAAY,EAAE,CAAA;YACd,OAAM;QACR,CAAC;QAED,6CAA6C;QAC7C,IAAI,KAAK,CAAC,IAAI,KAAK,KAAK,EAAE,CAAC;YACzB,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC;gBAChB,eAAe,EAAE,CAAA;YACnB,CAAC;iBAAM,CAAC;gBACN,eAAe,EAAE,CAAA;YACnB,CAAC;YACD,OAAM;QACR,CAAC;QAED,qCAAqC;QACrC,IAAI,WAAW,KAAK,UAAU,EAAE,CAAC;YAC/B,IAAI,KAAK,CAAC,IAAI,KAAK,IAAI,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBAC9C,aAAa,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACvD,aAAa,CAAC,MAAM,CAAC,CAAA;YACvB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,MAAM,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACvD,aAAa,CAAC,IAAI,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,IAAI,KAAK,CAAC,IAAI,KAAK,GAAG,EAAE,CAAC;gBACxD,aAAa,CAAC,MAAM,CAAC,CAAA;YACvB,CAAC;QACH,CAAC;aAAM,IAAI,WAAW,KAAK,OAAO,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;YACpE,oBAAoB;YACpB,IAAI,KAAK,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBAC/B,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;gBACnC,IAAI,WAAW,KAAK,aAAa,EAAE,CAAC;oBAClC,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,IAAI,CAAC,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,eAAe,EAAE,CAAA;gBACnB,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;gBAClC,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;gBAC9B,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,GAAG,CAAC,CAAA;gBACpC,CAAC;YACH,CAAC;iBAAM,IAAI,KAAK,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,CAAC;gBACjE,IAAI,WAAW,KAAK,OAAO,EAAE,CAAC;oBAC5B,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;gBACrC,CAAC;qBAAM,CAAC;oBACN,cAAc,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC,CAAA;gBAC3C,CAAC;YACH,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAA;IAEF,MAAM,WAAW,GAAG,KAAK,CAAC,mBAAmB,EAAE,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAA;IAE5E,IAAI,CAAC,KAAK,CAAC,mBAAmB,EAAE,CAAC;QAC/B,OAAO,CACL,KAAC,SAAS,IAAC,KAAK,EAAC,WAAW,YAC1B,eAAM,EAAE,EAAC,MAAM,wCAA+B,GACpC,CACb,CAAA;IACH,CAAC;IAED,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,CACL,KAAC,SAAS,IAAC,KAAK,EAAE,eAAe,WAAW,EAAE,YAC5C,eAAM,EAAE,EAAC,MAAM,kCAAyB,GAC9B,CACb,CAAA;IACH,CAAC;IAED,OAAO,CACL,KAAC,SAAS,IAAC,KAAK,EAAE,eAAe,WAAW,EAAE,YAC5C,eAAK,aAAa,EAAC,QAAQ,EAAC,QAAQ,EAAE,CAAC,aAErC,cAAK,YAAY,EAAE,CAAC,YAClB,eAAM,EAAE,EAAC,MAAM,+EAER,GACH,EAGL,KAAK,IAAI,CACR,cAAK,YAAY,EAAE,CAAC,YAClB,eAAM,EAAE,EAAC,KAAK,YAAE,KAAK,GAAQ,GACzB,CACP,EAGD,eAAK,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,eAAM,EAAE,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YAClD,kCAAU,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAK,GAC7C,EACP,eACE,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,aAE3D,yBAAO,KAAK,IAAI,CAAC,WAAW,KAAK,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,GAAQ,EAC3D,WAAW,KAAK,OAAO,IAAI,eAAM,EAAE,EAAC,MAAM,kBAAS,IAChD,IACF,EAGN,eAAK,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,eAAM,EAAE,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YACxD,wCAAgB,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAK,GACzD,EACP,cACE,WAAW,EAAE,CAAC,EACd,WAAW,EAAE,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,EACjE,MAAM,EAAE,CAAC,YAET,2BACG,WAAW,IAAI,CAAC,WAAW,KAAK,aAAa,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EACxD,WAAW,KAAK,aAAa,IAAI,eAAM,EAAE,EAAC,MAAM,kBAAS,IACrD,GACH,IACF,EAGN,eAAK,aAAa,EAAC,QAAQ,EAAC,YAAY,EAAE,CAAC,aACzC,eAAM,EAAE,EAAE,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,YACrD,qCAAa,WAAW,KAAK,UAAU,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAK,GACnD,EACP,eAAK,WAAW,EAAE,CAAC,EAAE,aAAa,EAAC,KAAK,aACrC,WAAW,KAAK,UAAU,IAAI,eAAM,EAAE,EAAC,MAAM,wBAAU,EACxD,gBAAM,EAAE,EAAE,gBAAgB,CAAC,QAAQ,CAAC,aACjC,gBAAgB,CAAC,QAAQ,CAAC,QAAI,QAAQ,OAAG,cAAc,SACnD,EACN,WAAW,KAAK,UAAU,IAAI,eAAM,EAAE,EAAC,MAAM,wBAAU,IACpD,EACL,WAAW,KAAK,UAAU,IAAI,CAC7B,cAAK,WAAW,EAAE,CAAC,YACjB,eAAM,EAAE,EAAC,MAAM,gDAAuC,GAClD,CACP,IACG,EAGN,cAAK,SAAS,EAAE,CAAC,YACf,eAAM,EAAE,EAAC,OAAO,6CAAoC,GAChD,IACF,GACI,CACb,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"IssueCreate.js","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueCreate.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"IssueList.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueList.tsx"],"names":[],"mappings":"AAwBA,wBAAgB,SAAS,8BAgIxB"}
1
+ {"version":3,"file":"IssueList.d.ts","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueList.tsx"],"names":[],"mappings":"AAyEA,wBAAgB,SAAS,8BA0KxB"}
@@ -1,11 +1,47 @@
1
- import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
- import { useState, useRef, useEffect } from 'react';
1
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "@opentui/react/jsx-runtime";
2
+ import { useState, useRef, useEffect, useMemo } from 'react';
3
3
  import { useKeyboard } from '@opentui/react';
4
4
  import { MainPanel } from '../layout/MainPanel.js';
5
5
  import { useIssues } from '../../hooks/useIssues.js';
6
6
  import { useNavigation } from '../../hooks/useNavigation.js';
7
- import { useAppState } from '../../state/app-state.js';
7
+ import { useAppState, SORT_FIELD_LABELS, } from '../../state/app-state.js';
8
+ import { saveIssueSortConfig } from '../../utils/local-config.js';
8
9
  const ITEM_HEIGHT = 1;
10
+ const SORT_FIELDS = [
11
+ 'priority',
12
+ 'displayNumber',
13
+ 'createdAt',
14
+ 'updatedAt',
15
+ 'status',
16
+ ];
17
+ function sortIssues(issues, field, direction) {
18
+ const sorted = [...issues].sort((a, b) => {
19
+ let comparison = 0;
20
+ switch (field) {
21
+ case 'priority':
22
+ comparison = a.metadata.priority - b.metadata.priority;
23
+ break;
24
+ case 'displayNumber':
25
+ comparison = a.displayNumber - b.displayNumber;
26
+ break;
27
+ case 'createdAt':
28
+ comparison =
29
+ new Date(a.metadata.createdAt).getTime() -
30
+ new Date(b.metadata.createdAt).getTime();
31
+ break;
32
+ case 'updatedAt':
33
+ comparison =
34
+ new Date(a.metadata.updatedAt).getTime() -
35
+ new Date(b.metadata.updatedAt).getTime();
36
+ break;
37
+ case 'status':
38
+ comparison = a.metadata.status.localeCompare(b.metadata.status);
39
+ break;
40
+ }
41
+ return direction === 'asc' ? comparison : -comparison;
42
+ });
43
+ return sorted;
44
+ }
9
45
  function getPriorityColor(priority) {
10
46
  if (priority === 1)
11
47
  return 'red';
@@ -25,14 +61,36 @@ function getPriorityLabel(priority, label) {
25
61
  export function IssueList() {
26
62
  const { issues, isLoading, selectIssue } = useIssues();
27
63
  const { navigate } = useNavigation();
28
- const { state } = useAppState();
64
+ const { state, dispatch } = useAppState();
29
65
  const [selectedIndex, setSelectedIndex] = useState(0);
30
66
  const [showAll, setShowAll] = useState(false);
31
67
  const scrollBoxRef = useRef(null);
68
+ const { issueSort } = state;
32
69
  // Filter issues: hide closed by default unless showAll is true
33
70
  const filteredIssues = showAll
34
71
  ? issues
35
72
  : issues.filter((issue) => issue.metadata.status !== 'closed');
73
+ // Sort filtered issues based on current sort configuration
74
+ const sortedIssues = useMemo(() => sortIssues(filteredIssues, issueSort.field, issueSort.direction), [filteredIssues, issueSort.field, issueSort.direction]);
75
+ // Cycle to next sort field
76
+ const cycleSortField = () => {
77
+ const currentIndex = SORT_FIELDS.indexOf(issueSort.field);
78
+ const nextIndex = (currentIndex + 1) % SORT_FIELDS.length;
79
+ const newSort = { ...issueSort, field: SORT_FIELDS[nextIndex] };
80
+ dispatch({ type: 'SET_ISSUE_SORT', sort: newSort });
81
+ saveIssueSortConfig(newSort);
82
+ setSelectedIndex(0); // Reset selection when changing sort
83
+ };
84
+ // Toggle sort direction
85
+ const toggleSortDirection = () => {
86
+ const newSort = {
87
+ ...issueSort,
88
+ direction: issueSort.direction === 'asc' ? 'desc' : 'asc',
89
+ };
90
+ dispatch({ type: 'SET_ISSUE_SORT', sort: newSort });
91
+ saveIssueSortConfig(newSort);
92
+ setSelectedIndex(0); // Reset selection when changing sort
93
+ };
36
94
  useEffect(() => {
37
95
  if (scrollBoxRef.current) {
38
96
  const targetScrollTop = selectedIndex * ITEM_HEIGHT;
@@ -49,13 +107,13 @@ export function IssueList() {
49
107
  }, [selectedIndex]);
50
108
  useKeyboard((event) => {
51
109
  if (event.name === 'j' || event.name === 'down') {
52
- setSelectedIndex((prev) => Math.min(prev + 1, filteredIssues.length - 1));
110
+ setSelectedIndex((prev) => Math.min(prev + 1, sortedIssues.length - 1));
53
111
  }
54
112
  else if (event.name === 'k' || event.name === 'up') {
55
113
  setSelectedIndex((prev) => Math.max(prev - 1, 0));
56
114
  }
57
115
  else if (event.name === 'return') {
58
- const issue = filteredIssues[selectedIndex];
116
+ const issue = sortedIssues[selectedIndex];
59
117
  if (issue) {
60
118
  selectIssue(issue.id);
61
119
  navigate('issue-detail', { issueId: issue.id });
@@ -68,6 +126,12 @@ export function IssueList() {
68
126
  setShowAll(prev => !prev);
69
127
  setSelectedIndex(0); // Reset selection when toggling filter
70
128
  }
129
+ else if (event.name === 's') {
130
+ cycleSortField(); // Cycle through sort fields
131
+ }
132
+ else if (event.name === 'S') {
133
+ toggleSortDirection(); // Toggle sort direction
134
+ }
71
135
  });
72
136
  const projectName = state.selectedProjectPath?.split('/').pop() || 'Project';
73
137
  if (!state.selectedProjectPath) {
@@ -76,17 +140,20 @@ export function IssueList() {
76
140
  if (isLoading) {
77
141
  return (_jsx(MainPanel, { title: `Issues - ${projectName}`, children: _jsx("text", { fg: "gray", children: "Loading issues..." }) }));
78
142
  }
79
- if (filteredIssues.length === 0) {
143
+ if (sortedIssues.length === 0) {
80
144
  const hasClosedIssues = issues.length > 0 && !showAll;
81
145
  return (_jsxs(MainPanel, { title: `Issues - ${projectName}`, children: [_jsx("text", { fg: "gray", children: hasClosedIssues
82
146
  ? 'No open issues. Press `a` to show all issues.'
83
147
  : 'No issues found.' }), _jsx("text", { fg: "gray", children: "Press `n` to create a new issue." })] }));
84
148
  }
85
149
  const closedCount = issues.filter((i) => i.metadata.status === 'closed').length;
86
- const filterLabel = showAll
87
- ? `Showing all (${closedCount} closed)`
88
- : `Hiding ${closedCount} closed`;
89
- return (_jsxs(MainPanel, { title: `Issues - ${projectName}`, children: [closedCount > 0 && (_jsx("box", { marginBottom: 1, children: _jsxs("text", { fg: "gray", children: [filterLabel, " - press `a` to ", showAll ? 'hide' : 'show', " closed"] }) })), _jsx("scrollbox", { ref: scrollBoxRef, flexGrow: 1, scrollY: true, children: filteredIssues.map((issue, index) => {
150
+ const sortLabel = `Sort: ${SORT_FIELD_LABELS[issueSort.field]} ${issueSort.direction === 'asc' ? '↑' : '↓'}`;
151
+ const filterLabel = closedCount > 0
152
+ ? showAll
153
+ ? `(${closedCount} closed)`
154
+ : `(hiding ${closedCount} closed)`
155
+ : null;
156
+ return (_jsxs(MainPanel, { title: `Issues - ${projectName}`, children: [_jsxs("box", { marginBottom: 1, flexDirection: "row", children: [_jsx("text", { fg: "cyan", children: sortLabel }), _jsx("text", { fg: "gray", children: " [s]cycle [S]dir" }), filterLabel && (_jsxs(_Fragment, { children: [_jsx("text", { fg: "gray", children: " | " }), _jsx("text", { fg: "gray", children: filterLabel }), _jsx("text", { fg: "gray", children: " [a]toggle" })] }))] }), _jsx("scrollbox", { ref: scrollBoxRef, flexGrow: 1, scrollY: true, children: sortedIssues.map((issue, index) => {
90
157
  const isSelected = index === selectedIndex;
91
158
  const priorityColor = getPriorityColor(issue.metadata.priority);
92
159
  const priorityLabel = getPriorityLabel(issue.metadata.priority, issue.metadata.priorityLabel);
@@ -1 +1 @@
1
- {"version":3,"file":"IssueList.js","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"IssueList.js","sourceRoot":"","sources":["../../../../src/tui/components/domain/IssueList.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAOA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CAwC9C"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAQA,wBAAsB,QAAQ,IAAI,OAAO,CAAC,IAAI,CAAC,CA4C9C"}
package/dist/tui/index.js CHANGED
@@ -4,6 +4,7 @@ import React from 'react';
4
4
  import { App } from './App.js';
5
5
  import { AppProvider } from './state/app-state.js';
6
6
  import { checkDaemonConnection } from '../daemon/check-daemon-connection.js';
7
+ import { loadIssueSortConfig } from './utils/local-config.js';
7
8
  export async function startTUI() {
8
9
  // Check daemon connection first
9
10
  const connectionStatus = await checkDaemonConnection();
@@ -12,6 +13,8 @@ export async function startTUI() {
12
13
  console.log('Some features will be unavailable.');
13
14
  console.log('Run "centy start" to start the daemon.\n');
14
15
  }
16
+ // Load saved sort configuration
17
+ const savedSortConfig = loadIssueSortConfig();
15
18
  // Create renderer
16
19
  const renderer = await createCliRenderer({
17
20
  useAlternateScreen: true,
@@ -28,6 +31,7 @@ export async function startTUI() {
28
31
  // Render the app
29
32
  root.render(React.createElement(AppProvider, {
30
33
  initialDaemonConnected: connectionStatus.connected,
34
+ initialIssueSort: savedSortConfig,
31
35
  children: React.createElement(App, { onExit: handleExit }),
32
36
  }));
33
37
  // Start the renderer
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAE5E,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,EAAE,CAAA;IAEtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IACzD,CAAC;IAED,kBAAkB;IAClB,MAAM,QAAQ,GAAgB,MAAM,iBAAiB,CAAC;QACpD,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAA;IAEF,oBAAoB;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEjC,eAAe;IACf,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,QAAQ,CAAC,OAAO,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,iBAAiB;IACjB,IAAI,CAAC,MAAM,CACT,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QAC/B,sBAAsB,EAAE,gBAAgB,CAAC,SAAS;QAClD,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KAC3D,CAAC,CACH,CAAA;IAED,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAA;IAEhB,yBAAyB;IACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AACnC,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/tui/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,iBAAiB,EAAoB,MAAM,eAAe,CAAA;AACnE,OAAO,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAA;AAC3C,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,GAAG,EAAE,MAAM,UAAU,CAAA;AAC9B,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAClD,OAAO,EAAE,qBAAqB,EAAE,MAAM,sCAAsC,CAAA;AAC5E,OAAO,EAAE,mBAAmB,EAAE,MAAM,yBAAyB,CAAA;AAE7D,MAAM,CAAC,KAAK,UAAU,QAAQ;IAC5B,gCAAgC;IAChC,MAAM,gBAAgB,GAAG,MAAM,qBAAqB,EAAE,CAAA;IAEtD,IAAI,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC;QAChC,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAA;QACnE,OAAO,CAAC,GAAG,CAAC,oCAAoC,CAAC,CAAA;QACjD,OAAO,CAAC,GAAG,CAAC,0CAA0C,CAAC,CAAA;IACzD,CAAC;IAED,gCAAgC;IAChC,MAAM,eAAe,GAAG,mBAAmB,EAAE,CAAA;IAE7C,kBAAkB;IAClB,MAAM,QAAQ,GAAgB,MAAM,iBAAiB,CAAC;QACpD,kBAAkB,EAAE,IAAI;QACxB,WAAW,EAAE,KAAK;KACnB,CAAC,CAAA;IAEF,oBAAoB;IACpB,MAAM,IAAI,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAA;IAEjC,eAAe;IACf,MAAM,UAAU,GAAG,GAAG,EAAE;QACtB,IAAI,CAAC,OAAO,EAAE,CAAA;QACd,QAAQ,CAAC,OAAO,EAAE,CAAA;QAClB,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;IACjB,CAAC,CAAA;IAED,iBAAiB;IACjB,IAAI,CAAC,MAAM,CACT,KAAK,CAAC,aAAa,CAAC,WAAW,EAAE;QAC/B,sBAAsB,EAAE,gBAAgB,CAAC,SAAS;QAClD,gBAAgB,EAAE,eAAe;QACjC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,GAAG,EAAE,EAAE,MAAM,EAAE,UAAU,EAAE,CAAC;KAC3D,CAAC,CACH,CAAA;IAED,qBAAqB;IACrB,QAAQ,CAAC,KAAK,EAAE,CAAA;IAEhB,yBAAyB;IACzB,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAA;IAChC,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,UAAU,CAAC,CAAA;AACnC,CAAC"}
@@ -1,6 +1,14 @@
1
1
  import { type ReactNode, type Dispatch } from 'react';
2
2
  import type { ViewId, ViewParams } from '../types/views.js';
3
3
  import type { Issue, Doc, ProjectInfo, Config, DaemonInfo } from '../../daemon/types.js';
4
+ export type IssueSortField = 'priority' | 'displayNumber' | 'createdAt' | 'updatedAt' | 'status';
5
+ export type SortDirection = 'asc' | 'desc';
6
+ export interface IssueSortConfig {
7
+ field: IssueSortField;
8
+ direction: SortDirection;
9
+ }
10
+ export declare const SORT_FIELD_LABELS: Record<IssueSortField, string>;
11
+ export declare const DEFAULT_SORT_CONFIG: IssueSortConfig;
4
12
  export interface AppState {
5
13
  currentView: ViewId;
6
14
  viewParams: ViewParams;
@@ -20,6 +28,7 @@ export interface AppState {
20
28
  isLoading: boolean;
21
29
  error: string | null;
22
30
  daemonConnected: boolean;
31
+ issueSort: IssueSortConfig;
23
32
  }
24
33
  export type AppAction = {
25
34
  type: 'NAVIGATE';
@@ -69,6 +78,9 @@ export type AppAction = {
69
78
  } | {
70
79
  type: 'SET_DAEMON_STATUS';
71
80
  connected: boolean;
81
+ } | {
82
+ type: 'SET_ISSUE_SORT';
83
+ sort: IssueSortConfig;
72
84
  };
73
85
  interface AppContextValue {
74
86
  state: AppState;
@@ -77,8 +89,9 @@ interface AppContextValue {
77
89
  interface AppProviderProps {
78
90
  children: ReactNode;
79
91
  initialDaemonConnected?: boolean;
92
+ initialIssueSort?: IssueSortConfig;
80
93
  }
81
- export declare function AppProvider({ children, initialDaemonConnected, }: AppProviderProps): ReactNode;
94
+ export declare function AppProvider({ children, initialDaemonConnected, initialIssueSort, }: AppProviderProps): ReactNode;
82
95
  export declare function useAppState(): AppContextValue;
83
96
  export {};
84
97
  //# sourceMappingURL=app-state.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-state.d.ts","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
@@ -1,5 +1,16 @@
1
1
  import { jsx as _jsx } from "@opentui/react/jsx-runtime";
2
2
  import { createContext, useContext, useReducer, } from 'react';
3
+ export const SORT_FIELD_LABELS = {
4
+ priority: 'Priority',
5
+ displayNumber: 'Number',
6
+ createdAt: 'Created',
7
+ updatedAt: 'Updated',
8
+ status: 'Status',
9
+ };
10
+ export const DEFAULT_SORT_CONFIG = {
11
+ field: 'priority',
12
+ direction: 'asc', // Lower priority number = higher priority, so asc means highest first
13
+ };
3
14
  const initialState = {
4
15
  currentView: 'projects',
5
16
  viewParams: {},
@@ -16,6 +27,7 @@ const initialState = {
16
27
  isLoading: false,
17
28
  error: null,
18
29
  daemonConnected: false,
30
+ issueSort: DEFAULT_SORT_CONFIG,
19
31
  };
20
32
  function appReducer(state, action) {
21
33
  switch (action.type) {
@@ -81,15 +93,18 @@ function appReducer(state, action) {
81
93
  return { ...state, error: action.error };
82
94
  case 'SET_DAEMON_STATUS':
83
95
  return { ...state, daemonConnected: action.connected };
96
+ case 'SET_ISSUE_SORT':
97
+ return { ...state, issueSort: action.sort };
84
98
  default:
85
99
  return state;
86
100
  }
87
101
  }
88
102
  const AppContext = createContext(null);
89
- export function AppProvider({ children, initialDaemonConnected = false, }) {
103
+ export function AppProvider({ children, initialDaemonConnected = false, initialIssueSort, }) {
90
104
  const [state, dispatch] = useReducer(appReducer, {
91
105
  ...initialState,
92
106
  daemonConnected: initialDaemonConnected,
107
+ issueSort: initialIssueSort ?? DEFAULT_SORT_CONFIG,
93
108
  });
94
109
  return (_jsx(AppContext.Provider, { value: { state, dispatch }, children: children }));
95
110
  }
@@ -1 +1 @@
1
- {"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"app-state.js","sourceRoot":"","sources":["../../../src/tui/state/app-state.tsx"],"names":[],"mappings":"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"}
@@ -0,0 +1,14 @@
1
+ /**
2
+ * Local configuration utility for TUI user preferences.
3
+ * Stores settings in config.local.json in the user's home directory.
4
+ * This file is user-specific and should not be committed to version control.
5
+ */
6
+ import type { IssueSortConfig } from '../state/app-state.js';
7
+ export interface LocalConfig {
8
+ issueSort?: IssueSortConfig;
9
+ }
10
+ export declare function loadLocalConfig(): LocalConfig;
11
+ export declare function saveLocalConfig(config: LocalConfig): void;
12
+ export declare function loadIssueSortConfig(): IssueSortConfig;
13
+ export declare function saveIssueSortConfig(sortConfig: IssueSortConfig): void;
14
+ //# sourceMappingURL=local-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-config.d.ts","sourceRoot":"","sources":["../../../src/tui/utils/local-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,uBAAuB,CAAA;AAO5D,MAAM,WAAW,WAAW;IAC1B,SAAS,CAAC,EAAE,eAAe,CAAA;CAC5B;AAUD,wBAAgB,eAAe,IAAI,WAAW,CAa7C;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI,CAQzD;AAED,wBAAgB,mBAAmB,IAAI,eAAe,CAGrD;AAED,wBAAgB,mBAAmB,CAAC,UAAU,EAAE,eAAe,GAAG,IAAI,CAIrE"}
@@ -0,0 +1,54 @@
1
+ /**
2
+ * Local configuration utility for TUI user preferences.
3
+ * Stores settings in config.local.json in the user's home directory.
4
+ * This file is user-specific and should not be committed to version control.
5
+ */
6
+ import { readFileSync, writeFileSync, existsSync, mkdirSync } from 'node:fs';
7
+ import { join } from 'node:path';
8
+ import { homedir } from 'node:os';
9
+ import { DEFAULT_SORT_CONFIG } from '../state/app-state.js';
10
+ // Config directory and file paths for local user preferences
11
+ const CONFIG_DIR = join(homedir(), '.centy');
12
+ const CONFIG_FILE = join(CONFIG_DIR, 'config.local.json');
13
+ function ensureConfigDir() {
14
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
15
+ if (!existsSync(CONFIG_DIR)) {
16
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
17
+ mkdirSync(CONFIG_DIR, { recursive: true });
18
+ }
19
+ }
20
+ export function loadLocalConfig() {
21
+ try {
22
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
23
+ if (!existsSync(CONFIG_FILE)) {
24
+ return {};
25
+ }
26
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
27
+ const content = readFileSync(CONFIG_FILE, 'utf-8');
28
+ return JSON.parse(content);
29
+ }
30
+ catch {
31
+ // If file doesn't exist or is invalid, return empty config
32
+ return {};
33
+ }
34
+ }
35
+ export function saveLocalConfig(config) {
36
+ try {
37
+ ensureConfigDir();
38
+ // eslint-disable-next-line security/detect-non-literal-fs-filename
39
+ writeFileSync(CONFIG_FILE, JSON.stringify(config, null, 2), 'utf-8');
40
+ }
41
+ catch {
42
+ // Silently fail if we can't write the config
43
+ }
44
+ }
45
+ export function loadIssueSortConfig() {
46
+ const config = loadLocalConfig();
47
+ return config.issueSort ?? DEFAULT_SORT_CONFIG;
48
+ }
49
+ export function saveIssueSortConfig(sortConfig) {
50
+ const config = loadLocalConfig();
51
+ config.issueSort = sortConfig;
52
+ saveLocalConfig(config);
53
+ }
54
+ //# sourceMappingURL=local-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local-config.js","sourceRoot":"","sources":["../../../src/tui/utils/local-config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,SAAS,CAAA;AAC5E,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AAChC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAA;AAEjC,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAE3D,6DAA6D;AAC7D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAA;AAC5C,MAAM,WAAW,GAAG,IAAI,CAAC,UAAU,EAAE,mBAAmB,CAAC,CAAA;AAMzD,SAAS,eAAe;IACtB,mEAAmE;IACnE,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC5B,mEAAmE;QACnE,SAAS,CAAC,UAAU,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAC5C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe;IAC7B,IAAI,CAAC;QACH,mEAAmE;QACnE,IAAI,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YAC7B,OAAO,EAAE,CAAA;QACX,CAAC;QACD,mEAAmE;QACnE,MAAM,OAAO,GAAG,YAAY,CAAC,WAAW,EAAE,OAAO,CAAC,CAAA;QAClD,OAAO,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAA;IAC3C,CAAC;IAAC,MAAM,CAAC;QACP,2DAA2D;QAC3D,OAAO,EAAE,CAAA;IACX,CAAC;AACH,CAAC;AAED,MAAM,UAAU,eAAe,CAAC,MAAmB;IACjD,IAAI,CAAC;QACH,eAAe,EAAE,CAAA;QACjB,mEAAmE;QACnE,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,OAAO,CAAC,CAAA;IACtE,CAAC;IAAC,MAAM,CAAC;QACP,6CAA6C;IAC/C,CAAC;AACH,CAAC;AAED,MAAM,UAAU,mBAAmB;IACjC,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,OAAO,MAAM,CAAC,SAAS,IAAI,mBAAmB,CAAA;AAChD,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,UAA2B;IAC7D,MAAM,MAAM,GAAG,eAAe,EAAE,CAAA;IAChC,MAAM,CAAC,SAAS,GAAG,UAAU,CAAA;IAC7B,eAAe,CAAC,MAAM,CAAC,CAAA;AACzB,CAAC"}
@@ -635,52 +635,7 @@
635
635
  "pr.js"
636
636
  ]
637
637
  },
638
- "daemon:autostart": {
639
- "aliases": [],
640
- "args": {},
641
- "description": "Configure daemon to start automatically on boot",
642
- "examples": [
643
- "<%= config.bin %> daemon autostart",
644
- "<%= config.bin %> daemon autostart --enable",
645
- "<%= config.bin %> daemon autostart --disable"
646
- ],
647
- "flags": {
648
- "enable": {
649
- "description": "Enable autostart on boot",
650
- "exclusive": [
651
- "disable"
652
- ],
653
- "name": "enable",
654
- "allowNo": false,
655
- "type": "boolean"
656
- },
657
- "disable": {
658
- "description": "Disable autostart on boot",
659
- "exclusive": [
660
- "enable"
661
- ],
662
- "name": "disable",
663
- "allowNo": false,
664
- "type": "boolean"
665
- }
666
- },
667
- "hasDynamicHelp": false,
668
- "hiddenAliases": [],
669
- "id": "daemon:autostart",
670
- "pluginAlias": "centy",
671
- "pluginName": "centy",
672
- "pluginType": "core",
673
- "strict": true,
674
- "enableJsonFlag": false,
675
- "isESM": true,
676
- "relativePath": [
677
- "dist",
678
- "commands",
679
- "daemon",
680
- "autostart.js"
681
- ]
682
- },
683
- "get:asset": {
638
+ "delete:asset": {
684
639
  "aliases": [],
685
640
  "args": {
686
641
  "filename": {
@@ -689,10 +644,11 @@
689
644
  "required": true
690
645
  }
691
646
  },
692
- "description": "Get an asset and save it to a file",
647
+ "description": "Delete an asset",
693
648
  "examples": [
694
- "<%= config.bin %> get asset screenshot.png --issue 1 --output ./screenshot.png",
695
- "<%= config.bin %> get asset logo.svg --shared --output ./logo.svg"
649
+ "<%= config.bin %> delete asset screenshot.png --issue 1",
650
+ "<%= config.bin %> delete asset logo.svg --shared",
651
+ "<%= config.bin %> delete asset old-image.png --issue 1 --force"
696
652
  ],
697
653
  "flags": {
698
654
  "issue": {
@@ -705,23 +661,22 @@
705
661
  },
706
662
  "shared": {
707
663
  "char": "s",
708
- "description": "Get a shared asset",
664
+ "description": "Delete a shared asset",
709
665
  "name": "shared",
710
666
  "allowNo": false,
711
667
  "type": "boolean"
712
668
  },
713
- "output": {
714
- "char": "o",
715
- "description": "Output file path (defaults to asset filename)",
716
- "name": "output",
717
- "hasDynamicHelp": false,
718
- "multiple": false,
719
- "type": "option"
669
+ "force": {
670
+ "char": "f",
671
+ "description": "Skip confirmation prompt",
672
+ "name": "force",
673
+ "allowNo": false,
674
+ "type": "boolean"
720
675
  }
721
676
  },
722
677
  "hasDynamicHelp": false,
723
678
  "hiddenAliases": [],
724
- "id": "get:asset",
679
+ "id": "delete:asset",
725
680
  "pluginAlias": "centy",
726
681
  "pluginName": "centy",
727
682
  "pluginType": "core",
@@ -731,11 +686,11 @@
731
686
  "relativePath": [
732
687
  "dist",
733
688
  "commands",
734
- "get",
689
+ "delete",
735
690
  "asset.js"
736
691
  ]
737
692
  },
738
- "get:doc": {
693
+ "delete:doc": {
739
694
  "aliases": [],
740
695
  "args": {
741
696
  "slug": {
@@ -744,22 +699,23 @@
744
699
  "required": true
745
700
  }
746
701
  },
747
- "description": "Get a documentation file by slug",
702
+ "description": "Delete a documentation file",
748
703
  "examples": [
749
- "<%= config.bin %> get doc getting-started",
750
- "<%= config.bin %> get doc api-reference --json"
704
+ "<%= config.bin %> delete doc getting-started",
705
+ "<%= config.bin %> delete doc api-reference --force"
751
706
  ],
752
707
  "flags": {
753
- "json": {
754
- "description": "Output as JSON",
755
- "name": "json",
708
+ "force": {
709
+ "char": "f",
710
+ "description": "Skip confirmation prompt",
711
+ "name": "force",
756
712
  "allowNo": false,
757
713
  "type": "boolean"
758
714
  }
759
715
  },
760
716
  "hasDynamicHelp": false,
761
717
  "hiddenAliases": [],
762
- "id": "get:doc",
718
+ "id": "delete:doc",
763
719
  "pluginAlias": "centy",
764
720
  "pluginName": "centy",
765
721
  "pluginType": "core",
@@ -769,11 +725,11 @@
769
725
  "relativePath": [
770
726
  "dist",
771
727
  "commands",
772
- "get",
728
+ "delete",
773
729
  "doc.js"
774
730
  ]
775
731
  },
776
- "get:issue": {
732
+ "delete:issue": {
777
733
  "aliases": [],
778
734
  "args": {
779
735
  "id": {
@@ -782,23 +738,24 @@
782
738
  "required": true
783
739
  }
784
740
  },
785
- "description": "Get a single issue by ID or display number",
741
+ "description": "Delete an issue",
786
742
  "examples": [
787
- "<%= config.bin %> get issue 1",
788
- "<%= config.bin %> get issue abc123-uuid",
789
- "<%= config.bin %> get issue 1 --json"
743
+ "<%= config.bin %> delete issue 1",
744
+ "<%= config.bin %> delete issue abc123-uuid",
745
+ "<%= config.bin %> delete issue 1 --force"
790
746
  ],
791
747
  "flags": {
792
- "json": {
793
- "description": "Output as JSON",
794
- "name": "json",
748
+ "force": {
749
+ "char": "f",
750
+ "description": "Skip confirmation prompt",
751
+ "name": "force",
795
752
  "allowNo": false,
796
753
  "type": "boolean"
797
754
  }
798
755
  },
799
756
  "hasDynamicHelp": false,
800
757
  "hiddenAliases": [],
801
- "id": "get:issue",
758
+ "id": "delete:issue",
802
759
  "pluginAlias": "centy",
803
760
  "pluginName": "centy",
804
761
  "pluginType": "core",
@@ -808,11 +765,11 @@
808
765
  "relativePath": [
809
766
  "dist",
810
767
  "commands",
811
- "get",
768
+ "delete",
812
769
  "issue.js"
813
770
  ]
814
771
  },
815
- "get:pr": {
772
+ "delete:pr": {
816
773
  "aliases": [],
817
774
  "args": {
818
775
  "id": {
@@ -821,23 +778,24 @@
821
778
  "required": true
822
779
  }
823
780
  },
824
- "description": "Get a single pull request by ID or display number",
781
+ "description": "Delete a pull request",
825
782
  "examples": [
826
- "<%= config.bin %> get pr 1",
827
- "<%= config.bin %> get pr abc123-uuid",
828
- "<%= config.bin %> get pr 1 --json"
783
+ "<%= config.bin %> delete pr 1",
784
+ "<%= config.bin %> delete pr abc123-uuid",
785
+ "<%= config.bin %> delete pr 1 --force"
829
786
  ],
830
787
  "flags": {
831
- "json": {
832
- "description": "Output as JSON",
833
- "name": "json",
788
+ "force": {
789
+ "char": "f",
790
+ "description": "Skip confirmation prompt",
791
+ "name": "force",
834
792
  "allowNo": false,
835
793
  "type": "boolean"
836
794
  }
837
795
  },
838
796
  "hasDynamicHelp": false,
839
797
  "hiddenAliases": [],
840
- "id": "get:pr",
798
+ "id": "delete:pr",
841
799
  "pluginAlias": "centy",
842
800
  "pluginName": "centy",
843
801
  "pluginType": "core",
@@ -847,36 +805,42 @@
847
805
  "relativePath": [
848
806
  "dist",
849
807
  "commands",
850
- "get",
808
+ "delete",
851
809
  "pr.js"
852
810
  ]
853
811
  },
854
- "get:project": {
812
+ "daemon:autostart": {
855
813
  "aliases": [],
856
- "args": {
857
- "path": {
858
- "description": "Path to the project (defaults to current directory)",
859
- "name": "path",
860
- "required": false
861
- }
862
- },
863
- "description": "Get info about a specific project",
814
+ "args": {},
815
+ "description": "Configure daemon to start automatically on boot",
864
816
  "examples": [
865
- "<%= config.bin %> get project",
866
- "<%= config.bin %> get project /path/to/project",
867
- "<%= config.bin %> get project --json"
817
+ "<%= config.bin %> daemon autostart",
818
+ "<%= config.bin %> daemon autostart --enable",
819
+ "<%= config.bin %> daemon autostart --disable"
868
820
  ],
869
821
  "flags": {
870
- "json": {
871
- "description": "Output as JSON",
872
- "name": "json",
822
+ "enable": {
823
+ "description": "Enable autostart on boot",
824
+ "exclusive": [
825
+ "disable"
826
+ ],
827
+ "name": "enable",
828
+ "allowNo": false,
829
+ "type": "boolean"
830
+ },
831
+ "disable": {
832
+ "description": "Disable autostart on boot",
833
+ "exclusive": [
834
+ "enable"
835
+ ],
836
+ "name": "disable",
873
837
  "allowNo": false,
874
838
  "type": "boolean"
875
839
  }
876
840
  },
877
841
  "hasDynamicHelp": false,
878
842
  "hiddenAliases": [],
879
- "id": "get:project",
843
+ "id": "daemon:autostart",
880
844
  "pluginAlias": "centy",
881
845
  "pluginName": "centy",
882
846
  "pluginType": "core",
@@ -886,11 +850,11 @@
886
850
  "relativePath": [
887
851
  "dist",
888
852
  "commands",
889
- "get",
890
- "project.js"
853
+ "daemon",
854
+ "autostart.js"
891
855
  ]
892
856
  },
893
- "delete:asset": {
857
+ "get:asset": {
894
858
  "aliases": [],
895
859
  "args": {
896
860
  "filename": {
@@ -899,11 +863,10 @@
899
863
  "required": true
900
864
  }
901
865
  },
902
- "description": "Delete an asset",
866
+ "description": "Get an asset and save it to a file",
903
867
  "examples": [
904
- "<%= config.bin %> delete asset screenshot.png --issue 1",
905
- "<%= config.bin %> delete asset logo.svg --shared",
906
- "<%= config.bin %> delete asset old-image.png --issue 1 --force"
868
+ "<%= config.bin %> get asset screenshot.png --issue 1 --output ./screenshot.png",
869
+ "<%= config.bin %> get asset logo.svg --shared --output ./logo.svg"
907
870
  ],
908
871
  "flags": {
909
872
  "issue": {
@@ -916,22 +879,23 @@
916
879
  },
917
880
  "shared": {
918
881
  "char": "s",
919
- "description": "Delete a shared asset",
882
+ "description": "Get a shared asset",
920
883
  "name": "shared",
921
884
  "allowNo": false,
922
885
  "type": "boolean"
923
886
  },
924
- "force": {
925
- "char": "f",
926
- "description": "Skip confirmation prompt",
927
- "name": "force",
928
- "allowNo": false,
929
- "type": "boolean"
887
+ "output": {
888
+ "char": "o",
889
+ "description": "Output file path (defaults to asset filename)",
890
+ "name": "output",
891
+ "hasDynamicHelp": false,
892
+ "multiple": false,
893
+ "type": "option"
930
894
  }
931
895
  },
932
896
  "hasDynamicHelp": false,
933
897
  "hiddenAliases": [],
934
- "id": "delete:asset",
898
+ "id": "get:asset",
935
899
  "pluginAlias": "centy",
936
900
  "pluginName": "centy",
937
901
  "pluginType": "core",
@@ -941,11 +905,11 @@
941
905
  "relativePath": [
942
906
  "dist",
943
907
  "commands",
944
- "delete",
908
+ "get",
945
909
  "asset.js"
946
910
  ]
947
911
  },
948
- "delete:doc": {
912
+ "get:doc": {
949
913
  "aliases": [],
950
914
  "args": {
951
915
  "slug": {
@@ -954,23 +918,22 @@
954
918
  "required": true
955
919
  }
956
920
  },
957
- "description": "Delete a documentation file",
921
+ "description": "Get a documentation file by slug",
958
922
  "examples": [
959
- "<%= config.bin %> delete doc getting-started",
960
- "<%= config.bin %> delete doc api-reference --force"
923
+ "<%= config.bin %> get doc getting-started",
924
+ "<%= config.bin %> get doc api-reference --json"
961
925
  ],
962
926
  "flags": {
963
- "force": {
964
- "char": "f",
965
- "description": "Skip confirmation prompt",
966
- "name": "force",
927
+ "json": {
928
+ "description": "Output as JSON",
929
+ "name": "json",
967
930
  "allowNo": false,
968
931
  "type": "boolean"
969
932
  }
970
933
  },
971
934
  "hasDynamicHelp": false,
972
935
  "hiddenAliases": [],
973
- "id": "delete:doc",
936
+ "id": "get:doc",
974
937
  "pluginAlias": "centy",
975
938
  "pluginName": "centy",
976
939
  "pluginType": "core",
@@ -980,11 +943,11 @@
980
943
  "relativePath": [
981
944
  "dist",
982
945
  "commands",
983
- "delete",
946
+ "get",
984
947
  "doc.js"
985
948
  ]
986
949
  },
987
- "delete:issue": {
950
+ "get:issue": {
988
951
  "aliases": [],
989
952
  "args": {
990
953
  "id": {
@@ -993,24 +956,23 @@
993
956
  "required": true
994
957
  }
995
958
  },
996
- "description": "Delete an issue",
959
+ "description": "Get a single issue by ID or display number",
997
960
  "examples": [
998
- "<%= config.bin %> delete issue 1",
999
- "<%= config.bin %> delete issue abc123-uuid",
1000
- "<%= config.bin %> delete issue 1 --force"
961
+ "<%= config.bin %> get issue 1",
962
+ "<%= config.bin %> get issue abc123-uuid",
963
+ "<%= config.bin %> get issue 1 --json"
1001
964
  ],
1002
965
  "flags": {
1003
- "force": {
1004
- "char": "f",
1005
- "description": "Skip confirmation prompt",
1006
- "name": "force",
966
+ "json": {
967
+ "description": "Output as JSON",
968
+ "name": "json",
1007
969
  "allowNo": false,
1008
970
  "type": "boolean"
1009
971
  }
1010
972
  },
1011
973
  "hasDynamicHelp": false,
1012
974
  "hiddenAliases": [],
1013
- "id": "delete:issue",
975
+ "id": "get:issue",
1014
976
  "pluginAlias": "centy",
1015
977
  "pluginName": "centy",
1016
978
  "pluginType": "core",
@@ -1020,11 +982,11 @@
1020
982
  "relativePath": [
1021
983
  "dist",
1022
984
  "commands",
1023
- "delete",
985
+ "get",
1024
986
  "issue.js"
1025
987
  ]
1026
988
  },
1027
- "delete:pr": {
989
+ "get:pr": {
1028
990
  "aliases": [],
1029
991
  "args": {
1030
992
  "id": {
@@ -1033,24 +995,23 @@
1033
995
  "required": true
1034
996
  }
1035
997
  },
1036
- "description": "Delete a pull request",
998
+ "description": "Get a single pull request by ID or display number",
1037
999
  "examples": [
1038
- "<%= config.bin %> delete pr 1",
1039
- "<%= config.bin %> delete pr abc123-uuid",
1040
- "<%= config.bin %> delete pr 1 --force"
1000
+ "<%= config.bin %> get pr 1",
1001
+ "<%= config.bin %> get pr abc123-uuid",
1002
+ "<%= config.bin %> get pr 1 --json"
1041
1003
  ],
1042
1004
  "flags": {
1043
- "force": {
1044
- "char": "f",
1045
- "description": "Skip confirmation prompt",
1046
- "name": "force",
1005
+ "json": {
1006
+ "description": "Output as JSON",
1007
+ "name": "json",
1047
1008
  "allowNo": false,
1048
1009
  "type": "boolean"
1049
1010
  }
1050
1011
  },
1051
1012
  "hasDynamicHelp": false,
1052
1013
  "hiddenAliases": [],
1053
- "id": "delete:pr",
1014
+ "id": "get:pr",
1054
1015
  "pluginAlias": "centy",
1055
1016
  "pluginName": "centy",
1056
1017
  "pluginType": "core",
@@ -1060,10 +1021,49 @@
1060
1021
  "relativePath": [
1061
1022
  "dist",
1062
1023
  "commands",
1063
- "delete",
1024
+ "get",
1064
1025
  "pr.js"
1065
1026
  ]
1066
1027
  },
1028
+ "get:project": {
1029
+ "aliases": [],
1030
+ "args": {
1031
+ "path": {
1032
+ "description": "Path to the project (defaults to current directory)",
1033
+ "name": "path",
1034
+ "required": false
1035
+ }
1036
+ },
1037
+ "description": "Get info about a specific project",
1038
+ "examples": [
1039
+ "<%= config.bin %> get project",
1040
+ "<%= config.bin %> get project /path/to/project",
1041
+ "<%= config.bin %> get project --json"
1042
+ ],
1043
+ "flags": {
1044
+ "json": {
1045
+ "description": "Output as JSON",
1046
+ "name": "json",
1047
+ "allowNo": false,
1048
+ "type": "boolean"
1049
+ }
1050
+ },
1051
+ "hasDynamicHelp": false,
1052
+ "hiddenAliases": [],
1053
+ "id": "get:project",
1054
+ "pluginAlias": "centy",
1055
+ "pluginName": "centy",
1056
+ "pluginType": "core",
1057
+ "strict": true,
1058
+ "enableJsonFlag": false,
1059
+ "isESM": true,
1060
+ "relativePath": [
1061
+ "dist",
1062
+ "commands",
1063
+ "get",
1064
+ "project.js"
1065
+ ]
1066
+ },
1067
1067
  "install:daemon": {
1068
1068
  "aliases": [],
1069
1069
  "args": {},
@@ -1743,5 +1743,5 @@
1743
1743
  ]
1744
1744
  }
1745
1745
  },
1746
- "version": "0.0.15"
1746
+ "version": "0.0.16"
1747
1747
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "centy",
3
- "version": "0.0.15",
3
+ "version": "0.0.16",
4
4
  "description": "CLI for managing project issues and docs via code in the .centy folder",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",