@brainfile/cli 0.10.2 → 0.10.3
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/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,11 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.10.3] - 2025-11-27
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
- **Task card border overflow** - Fixed metadata row (tags, priority) overflowing the rounded border. Added explicit width constraints and tag truncation with ellipsis.
|
|
14
|
+
|
|
10
15
|
## [0.10.2] - 2025-11-27
|
|
11
16
|
|
|
12
17
|
### Fixed
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;
|
|
1
|
+
{"version":3,"file":"TaskCard.d.ts","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AACH,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAI5C,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,IAAI,CAAC;IACX,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;CACf;AA0FD,wBAAgB,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,UAAU,EAAE,KAAK,EAAE,EAAE,aAAa,qBAmF9E"}
|
|
@@ -32,18 +32,23 @@ function PriorityBadge({ priority }) {
|
|
|
32
32
|
const label = abbrev[priority.toLowerCase()] || priority.toUpperCase().slice(0, 4);
|
|
33
33
|
return (react_1.default.createElement(ink_1.Text, { color: "black", backgroundColor: color, bold: true }, ` ${label} `));
|
|
34
34
|
}
|
|
35
|
-
// Tag pills
|
|
36
|
-
function TagPills({ tags, maxTags = 3 }) {
|
|
35
|
+
// Tag pills with optional truncation
|
|
36
|
+
function TagPills({ tags, maxTags = 3, maxWidth }) {
|
|
37
37
|
if (!tags || tags.length === 0)
|
|
38
38
|
return null;
|
|
39
|
+
const visibleTags = tags.slice(0, maxTags);
|
|
40
|
+
const remaining = tags.length - maxTags;
|
|
41
|
+
// Join tags with spaces for consistent rendering
|
|
42
|
+
let tagString = visibleTags.map(t => `#${t}`).join(' ');
|
|
43
|
+
if (remaining > 0) {
|
|
44
|
+
tagString += ` +${remaining}`;
|
|
45
|
+
}
|
|
46
|
+
// Truncate if maxWidth provided
|
|
47
|
+
if (maxWidth && tagString.length > maxWidth) {
|
|
48
|
+
tagString = tagString.slice(0, maxWidth - 1) + '…';
|
|
49
|
+
}
|
|
39
50
|
return (react_1.default.createElement(ink_1.Box, { marginLeft: 1 },
|
|
40
|
-
|
|
41
|
-
react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
|
|
42
|
-
"#",
|
|
43
|
-
tag)))),
|
|
44
|
-
tags.length > maxTags && (react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary },
|
|
45
|
-
" +",
|
|
46
|
-
tags.length - maxTags))));
|
|
51
|
+
react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textSecondary }, tagString)));
|
|
47
52
|
}
|
|
48
53
|
// Subtask progress indicator
|
|
49
54
|
function SubtaskProgress({ completed, total }) {
|
|
@@ -83,14 +88,14 @@ function TaskCard({ task, isSelected, isExpanded, width }) {
|
|
|
83
88
|
const completedSubtasks = subtasks.filter(s => s.completed).length;
|
|
84
89
|
const borderColor = isSelected ? theme_js_1.PALETTE.progress : theme_js_1.PALETTE.border;
|
|
85
90
|
const contentWidth = width - 4; // Account for border + padding
|
|
86
|
-
return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1, marginBottom: 1 },
|
|
91
|
+
return (react_1.default.createElement(ink_1.Box, { flexDirection: "column", borderStyle: "round", borderColor: borderColor, paddingX: 1, marginBottom: 1, width: width },
|
|
87
92
|
react_1.default.createElement(ink_1.Box, { justifyContent: "space-between" },
|
|
88
93
|
react_1.default.createElement(ink_1.Box, { flexShrink: 1 },
|
|
89
94
|
react_1.default.createElement(ink_1.Text, { color: isSelected ? theme_js_1.PALETTE.text : theme_js_1.PALETTE.textSecondary, bold: isSelected }, (0, utils_js_1.truncate)(task.title, contentWidth - task.id.length - 2))),
|
|
90
95
|
react_1.default.createElement(ink_1.Text, { color: theme_js_1.PALETTE.textMuted }, task.id)),
|
|
91
|
-
(task.priority || (task.tags && task.tags.length > 0) || subtasks.length > 0 || task.dueDate) && (react_1.default.createElement(ink_1.Box, { marginTop: 0 },
|
|
96
|
+
(task.priority || (task.tags && task.tags.length > 0) || subtasks.length > 0 || task.dueDate) && (react_1.default.createElement(ink_1.Box, { marginTop: 0, width: contentWidth },
|
|
92
97
|
react_1.default.createElement(PriorityBadge, { priority: task.priority }),
|
|
93
|
-
react_1.default.createElement(TagPills, { tags: task.tags }),
|
|
98
|
+
react_1.default.createElement(TagPills, { tags: task.tags, maxWidth: contentWidth - 25 }),
|
|
94
99
|
subtasks.length > 0 && (react_1.default.createElement(ink_1.Box, { marginLeft: 1 },
|
|
95
100
|
react_1.default.createElement(SubtaskProgress, { completed: completedSubtasks, total: subtasks.length }))),
|
|
96
101
|
task.dueDate && (react_1.default.createElement(ink_1.Box, { marginLeft: 1 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":";;;;;
|
|
1
|
+
{"version":3,"file":"TaskCard.js","sourceRoot":"","sources":["../../../src/tui/components/TaskCard.tsx"],"names":[],"mappings":"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"}
|