brainrot-cli 0.1.0 → 0.2.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/AchievementNotification.d.ts.map +1 -1
- package/dist/AchievementNotification.js.map +1 -1
- package/dist/AppNew.d.ts +11 -0
- package/dist/AppNew.d.ts.map +1 -0
- package/dist/AppNew.js +437 -0
- package/dist/AppNew.js.map +1 -0
- package/dist/AttentionOverlay.d.ts +28 -0
- package/dist/AttentionOverlay.d.ts.map +1 -0
- package/dist/AttentionOverlay.js +92 -0
- package/dist/AttentionOverlay.js.map +1 -0
- package/dist/ClaudeChat.d.ts +38 -0
- package/dist/ClaudeChat.d.ts.map +1 -0
- package/dist/ClaudeChat.js +81 -0
- package/dist/ClaudeChat.js.map +1 -0
- package/dist/DynamicInterviewFlow.d.ts +66 -0
- package/dist/DynamicInterviewFlow.d.ts.map +1 -0
- package/dist/DynamicInterviewFlow.js +352 -0
- package/dist/DynamicInterviewFlow.js.map +1 -0
- package/dist/FeatureInput.d.ts +20 -0
- package/dist/FeatureInput.d.ts.map +1 -0
- package/dist/FeatureInput.js +66 -0
- package/dist/FeatureInput.js.map +1 -0
- package/dist/FeaturePromptScreen.d.ts +24 -0
- package/dist/FeaturePromptScreen.d.ts.map +1 -0
- package/dist/FeaturePromptScreen.js +117 -0
- package/dist/FeaturePromptScreen.js.map +1 -0
- package/dist/GameSelectScreen.d.ts +24 -0
- package/dist/GameSelectScreen.d.ts.map +1 -0
- package/dist/GameSelectScreen.js +78 -0
- package/dist/GameSelectScreen.js.map +1 -0
- package/dist/GameSelector.d.ts +9 -1
- package/dist/GameSelector.d.ts.map +1 -1
- package/dist/GameSelector.js +116 -19
- package/dist/GameSelector.js.map +1 -1
- package/dist/GameSelectorOverlay.d.ts +21 -0
- package/dist/GameSelectorOverlay.d.ts.map +1 -0
- package/dist/GameSelectorOverlay.js +98 -0
- package/dist/GameSelectorOverlay.js.map +1 -0
- package/dist/HelpOverlay.d.ts.map +1 -1
- package/dist/HelpOverlay.js +5 -2
- package/dist/HelpOverlay.js.map +1 -1
- package/dist/InterviewQuestion.d.ts +36 -0
- package/dist/InterviewQuestion.d.ts.map +1 -0
- package/dist/InterviewQuestion.js +148 -0
- package/dist/InterviewQuestion.js.map +1 -0
- package/dist/Layout.d.ts +1 -1
- package/dist/Layout.d.ts.map +1 -1
- package/dist/Layout.js +4 -4
- package/dist/Layout.js.map +1 -1
- package/dist/LogViewer.d.ts.map +1 -1
- package/dist/LogViewer.js +2 -2
- package/dist/LogViewer.js.map +1 -1
- package/dist/LoopAlertOverlay.d.ts +1 -1
- package/dist/LoopAlertOverlay.d.ts.map +1 -1
- package/dist/LoopAlertOverlay.js +1 -1
- package/dist/LoopAlertOverlay.js.map +1 -1
- package/dist/LoopComplete.d.ts +42 -0
- package/dist/LoopComplete.d.ts.map +1 -0
- package/dist/LoopComplete.js +69 -0
- package/dist/LoopComplete.js.map +1 -0
- package/dist/LoopManagementPanel.d.ts.map +1 -1
- package/dist/LoopManagementPanel.js.map +1 -1
- package/dist/OnboardingTutorial.d.ts +23 -0
- package/dist/OnboardingTutorial.d.ts.map +1 -0
- package/dist/OnboardingTutorial.js +165 -0
- package/dist/OnboardingTutorial.js.map +1 -0
- package/dist/PrdGenerationScreen.d.ts +43 -0
- package/dist/PrdGenerationScreen.d.ts.map +1 -0
- package/dist/PrdGenerationScreen.js +411 -0
- package/dist/PrdGenerationScreen.js.map +1 -0
- package/dist/PrdOverlay.d.ts +29 -0
- package/dist/PrdOverlay.d.ts.map +1 -0
- package/dist/PrdOverlay.js +174 -0
- package/dist/PrdOverlay.js.map +1 -0
- package/dist/PreStartReviewScreen.d.ts +29 -0
- package/dist/PreStartReviewScreen.d.ts.map +1 -0
- package/dist/PreStartReviewScreen.js +161 -0
- package/dist/PreStartReviewScreen.js.map +1 -0
- package/dist/ResumeOverlay.d.ts +26 -0
- package/dist/ResumeOverlay.d.ts.map +1 -0
- package/dist/ResumeOverlay.js +163 -0
- package/dist/ResumeOverlay.js.map +1 -0
- package/dist/ResumePrompt.d.ts +32 -0
- package/dist/ResumePrompt.d.ts.map +1 -0
- package/dist/ResumePrompt.js +65 -0
- package/dist/ResumePrompt.js.map +1 -0
- package/dist/SettingsMenu.d.ts.map +1 -1
- package/dist/SettingsMenu.js +14 -7
- package/dist/SettingsMenu.js.map +1 -1
- package/dist/SetupWizard.d.ts +41 -0
- package/dist/SetupWizard.d.ts.map +1 -0
- package/dist/SetupWizard.js +167 -0
- package/dist/SetupWizard.js.map +1 -0
- package/dist/SidePanel.d.ts +26 -0
- package/dist/SidePanel.d.ts.map +1 -0
- package/dist/SidePanel.js +90 -0
- package/dist/SidePanel.js.map +1 -0
- package/dist/SplitPane.d.ts.map +1 -1
- package/dist/SplitPane.js +6 -2
- package/dist/SplitPane.js.map +1 -1
- package/dist/StatsMenu.d.ts.map +1 -1
- package/dist/StatsMenu.js +24 -6
- package/dist/StatsMenu.js.map +1 -1
- package/dist/StatusBar.d.ts +45 -2
- package/dist/StatusBar.d.ts.map +1 -1
- package/dist/StatusBar.js +193 -23
- package/dist/StatusBar.js.map +1 -1
- package/dist/StatusBarMinimal.d.ts +26 -0
- package/dist/StatusBarMinimal.d.ts.map +1 -0
- package/dist/StatusBarMinimal.js +111 -0
- package/dist/StatusBarMinimal.js.map +1 -0
- package/dist/TaskBreakdownScreen.d.ts +27 -0
- package/dist/TaskBreakdownScreen.d.ts.map +1 -0
- package/dist/TaskBreakdownScreen.js +96 -0
- package/dist/TaskBreakdownScreen.js.map +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +3 -1
- package/dist/cli.js.map +1 -1
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -1
- package/dist/games/MinesweeperGame.d.ts +1 -1
- package/dist/games/MinesweeperGame.d.ts.map +1 -1
- package/dist/games/MinesweeperGame.js +30 -10
- package/dist/games/MinesweeperGame.js.map +1 -1
- package/dist/games/PongGame.d.ts +1 -1
- package/dist/games/PongGame.d.ts.map +1 -1
- package/dist/games/PongGame.js +7 -2
- package/dist/games/PongGame.js.map +1 -1
- package/dist/games/SnakeGame.d.ts +1 -1
- package/dist/games/SnakeGame.d.ts.map +1 -1
- package/dist/games/SnakeGame.js +12 -4
- package/dist/games/SnakeGame.js.map +1 -1
- package/dist/games/TetrisGame.d.ts +1 -1
- package/dist/games/TetrisGame.d.ts.map +1 -1
- package/dist/games/TetrisGame.js +22 -5
- package/dist/games/TetrisGame.js.map +1 -1
- package/dist/high-scores.d.ts.map +1 -1
- package/dist/high-scores.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -236
- package/dist/index.js.map +1 -1
- package/dist/loop-state.d.ts +137 -0
- package/dist/loop-state.d.ts.map +1 -0
- package/dist/loop-state.js +228 -0
- package/dist/loop-state.js.map +1 -0
- package/dist/ralph-loop-parser.d.ts.map +1 -1
- package/dist/ralph-loop-parser.js +4 -2
- package/dist/ralph-loop-parser.js.map +1 -1
- package/dist/stats.d.ts.map +1 -1
- package/dist/stats.js.map +1 -1
- package/dist/styled-components.d.ts +1 -1
- package/dist/styled-components.d.ts.map +1 -1
- package/dist/styled-components.js +5 -3
- package/dist/styled-components.js.map +1 -1
- package/dist/theme.d.ts.map +1 -1
- package/dist/theme.js +15 -2
- package/dist/theme.js.map +1 -1
- package/dist/themes.d.ts.map +1 -1
- package/dist/themes.js.map +1 -1
- package/dist/use-claude-code.d.ts.map +1 -1
- package/dist/use-claude-code.js +7 -1
- package/dist/use-claude-code.js.map +1 -1
- package/dist/use-config.d.ts.map +1 -1
- package/dist/use-config.js.map +1 -1
- package/dist/use-loop-state.d.ts +55 -0
- package/dist/use-loop-state.d.ts.map +1 -0
- package/dist/use-loop-state.js +208 -0
- package/dist/use-loop-state.js.map +1 -0
- package/dist/use-stats.d.ts.map +1 -1
- package/dist/use-stats.js.map +1 -1
- package/dist/useTheme.d.ts.map +1 -1
- package/dist/useTheme.js.map +1 -1
- package/package.json +3 -2
- package/dist/__tests__/ralph-loop-parser.test.d.ts +0 -2
- package/dist/__tests__/ralph-loop-parser.test.d.ts.map +0 -1
- package/dist/__tests__/ralph-loop-parser.test.js +0 -143
- package/dist/__tests__/ralph-loop-parser.test.js.map +0 -1
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PrdOverlay.js","sourceRoot":"","sources":["../src/PrdOverlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Pre-Start Review Screen
|
|
3
|
+
*
|
|
4
|
+
* Displays a review of the generated PRD and tasks before starting the loop.
|
|
5
|
+
* Allows users to confirm and start, or go back to edit tasks.
|
|
6
|
+
*/
|
|
7
|
+
import type { GeneratedPrd } from "./PrdGenerationScreen.js";
|
|
8
|
+
export interface PreStartReviewScreenProps {
|
|
9
|
+
/** Whether the component is visible */
|
|
10
|
+
isVisible: boolean;
|
|
11
|
+
/** Generated PRD data */
|
|
12
|
+
generatedPrd: GeneratedPrd;
|
|
13
|
+
/** Feature name/description */
|
|
14
|
+
featureName: string;
|
|
15
|
+
/** Callback when user clicks Start Loop */
|
|
16
|
+
onStart: () => void;
|
|
17
|
+
/** Callback when user clicks Edit Tasks */
|
|
18
|
+
onEditTasks: () => void;
|
|
19
|
+
/** Whether the component has focus */
|
|
20
|
+
hasFocus: boolean;
|
|
21
|
+
/** Terminal dimensions */
|
|
22
|
+
dimensions?: {
|
|
23
|
+
width: number;
|
|
24
|
+
height: number;
|
|
25
|
+
};
|
|
26
|
+
}
|
|
27
|
+
export declare function PreStartReviewScreen({ isVisible, generatedPrd, featureName, onStart, onEditTasks, hasFocus, dimensions, }: PreStartReviewScreenProps): import("react/jsx-runtime").JSX.Element | null;
|
|
28
|
+
export default PreStartReviewScreen;
|
|
29
|
+
//# sourceMappingURL=PreStartReviewScreen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreStartReviewScreen.d.ts","sourceRoot":"","sources":["../src/PreStartReviewScreen.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAOH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAM7D,MAAM,WAAW,yBAAyB;IACxC,uCAAuC;IACvC,SAAS,EAAE,OAAO,CAAC;IACnB,yBAAyB;IACzB,YAAY,EAAE,YAAY,CAAC;IAC3B,+BAA+B;IAC/B,WAAW,EAAE,MAAM,CAAC;IACpB,2CAA2C;IAC3C,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,2CAA2C;IAC3C,WAAW,EAAE,MAAM,IAAI,CAAC;IACxB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AA2OD,wBAAgB,oBAAoB,CAAC,EACnC,SAAS,EACT,YAAY,EACZ,WAAW,EACX,OAAO,EACP,WAAW,EACX,QAAQ,EACR,UAAU,GACX,EAAE,yBAAyB,kDAwI3B;AAED,eAAe,oBAAoB,CAAC"}
|
|
@@ -0,0 +1,161 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Pre-Start Review Screen
|
|
4
|
+
*
|
|
5
|
+
* Displays a review of the generated PRD and tasks before starting the loop.
|
|
6
|
+
* Allows users to confirm and start, or go back to edit tasks.
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text, useInput } from "ink";
|
|
9
|
+
import { useState, useMemo, useCallback } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
import { decorChars, navIcons, alertIcons } from "./theme.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// CONSTANTS
|
|
14
|
+
// ============================================================================
|
|
15
|
+
const actionButtons = [
|
|
16
|
+
{
|
|
17
|
+
id: "start",
|
|
18
|
+
label: "Start Loop",
|
|
19
|
+
icon: navIcons.arrowRight,
|
|
20
|
+
description: "Begin working on these tasks",
|
|
21
|
+
hotkey: "Enter",
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
id: "edit",
|
|
25
|
+
label: "Edit Tasks",
|
|
26
|
+
icon: navIcons.chevronRight,
|
|
27
|
+
description: "Review and modify the task breakdown",
|
|
28
|
+
hotkey: "E",
|
|
29
|
+
},
|
|
30
|
+
];
|
|
31
|
+
function ComplexityBadge({ complexity }) {
|
|
32
|
+
const colors = useThemeColors();
|
|
33
|
+
const badgeColor = {
|
|
34
|
+
small: colors.success,
|
|
35
|
+
medium: colors.warning,
|
|
36
|
+
large: colors.error,
|
|
37
|
+
}[complexity];
|
|
38
|
+
const badgeText = {
|
|
39
|
+
small: "S",
|
|
40
|
+
medium: "M",
|
|
41
|
+
large: "L",
|
|
42
|
+
}[complexity];
|
|
43
|
+
return (_jsxs(Text, { color: badgeColor, bold: true, children: ["[", badgeText, "]"] }));
|
|
44
|
+
}
|
|
45
|
+
function ComplexityStats({ tasks }) {
|
|
46
|
+
const colors = useThemeColors();
|
|
47
|
+
const stats = useMemo(() => {
|
|
48
|
+
const small = tasks.filter((t) => t.complexity === "small").length;
|
|
49
|
+
const medium = tasks.filter((t) => t.complexity === "medium").length;
|
|
50
|
+
const large = tasks.filter((t) => t.complexity === "large").length;
|
|
51
|
+
// Calculate estimated complexity score (S=1, M=2, L=3)
|
|
52
|
+
const complexityScore = small * 1 + medium * 2 + large * 3;
|
|
53
|
+
let estimatedComplexity;
|
|
54
|
+
let complexityColor;
|
|
55
|
+
if (complexityScore <= tasks.length) {
|
|
56
|
+
estimatedComplexity = "Low";
|
|
57
|
+
complexityColor = colors.success;
|
|
58
|
+
}
|
|
59
|
+
else if (complexityScore <= tasks.length * 2) {
|
|
60
|
+
estimatedComplexity = "Medium";
|
|
61
|
+
complexityColor = colors.warning;
|
|
62
|
+
}
|
|
63
|
+
else {
|
|
64
|
+
estimatedComplexity = "High";
|
|
65
|
+
complexityColor = colors.error;
|
|
66
|
+
}
|
|
67
|
+
return {
|
|
68
|
+
small,
|
|
69
|
+
medium,
|
|
70
|
+
large,
|
|
71
|
+
total: tasks.length,
|
|
72
|
+
estimatedComplexity,
|
|
73
|
+
complexityColor,
|
|
74
|
+
};
|
|
75
|
+
}, [tasks, colors]);
|
|
76
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: colors.textMuted, children: "Tasks: " }), _jsx(Text, { bold: true, color: colors.primary, children: stats.total })] }), _jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: colors.textMuted, children: "Breakdown: " }), _jsxs(Text, { color: colors.success, children: [stats.small, " small"] }), _jsx(Text, { color: colors.textMuted, children: " | " }), _jsxs(Text, { color: colors.warning, children: [stats.medium, " medium"] }), _jsx(Text, { color: colors.textMuted, children: " | " }), _jsxs(Text, { color: colors.error, children: [stats.large, " large"] })] }), _jsxs(Box, { children: [_jsx(Text, { color: colors.textMuted, children: "Estimated complexity: " }), _jsx(Text, { bold: true, color: stats.complexityColor, children: stats.estimatedComplexity })] })] }));
|
|
77
|
+
}
|
|
78
|
+
function TaskPreviewList({ tasks, maxItems = 5 }) {
|
|
79
|
+
const colors = useThemeColors();
|
|
80
|
+
const visibleTasks = tasks.slice(0, maxItems);
|
|
81
|
+
const remainingCount = tasks.length - visibleTasks.length;
|
|
82
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: colors.accent, children: "Task Preview:" }) }), visibleTasks.map((task) => {
|
|
83
|
+
// Extract task number from title
|
|
84
|
+
const taskNumber = task.title.match(/^(\d+)\./)?.[1] ?? "";
|
|
85
|
+
const titleWithoutNumber = task.title.replace(/^\d+\.\s*/, "");
|
|
86
|
+
return (_jsxs(Box, { children: [_jsxs(Text, { color: colors.textMuted, children: [navIcons.bullet, " "] }), _jsxs(Text, { color: colors.secondary, bold: true, children: [taskNumber, "."] }), _jsx(Text, { children: " " }), _jsx(Text, { color: colors.text, children: titleWithoutNumber.length > 40
|
|
87
|
+
? titleWithoutNumber.slice(0, 40) + "..."
|
|
88
|
+
: titleWithoutNumber }), _jsx(Text, { children: " " }), task.complexity && (_jsx(ComplexityBadge, { complexity: task.complexity }))] }, task.id));
|
|
89
|
+
}), remainingCount > 0 && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, italic: true, children: ["... and ", remainingCount, " more task", remainingCount > 1 ? "s" : ""] }) }))] }));
|
|
90
|
+
}
|
|
91
|
+
function ActionButtons({ buttons, selectedIndex }) {
|
|
92
|
+
const colors = useThemeColors();
|
|
93
|
+
return (_jsx(Box, { flexDirection: "column", marginTop: 1, children: buttons.map((button, index) => {
|
|
94
|
+
const isSelected = index === selectedIndex;
|
|
95
|
+
return (_jsxs(Box, { marginY: 0, children: [_jsxs(Text, { color: isSelected ? colors.primary : colors.textMuted, bold: isSelected, children: [isSelected ? navIcons.pointer : " ", " "] }), _jsxs(Text, { color: isSelected ? colors.primary : colors.text, bold: isSelected, children: [button.icon, " ", button.label] }), _jsxs(Text, { dimColor: true, children: [" [", button.hotkey, "]"] }), isSelected && _jsxs(Text, { dimColor: true, children: [" - ", button.description] })] }, button.id));
|
|
96
|
+
}) }));
|
|
97
|
+
}
|
|
98
|
+
// ============================================================================
|
|
99
|
+
// MAIN COMPONENT
|
|
100
|
+
// ============================================================================
|
|
101
|
+
export function PreStartReviewScreen({ isVisible, generatedPrd, featureName, onStart, onEditTasks, hasFocus, dimensions, }) {
|
|
102
|
+
const colors = useThemeColors();
|
|
103
|
+
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
104
|
+
const handleSelect = useCallback(() => {
|
|
105
|
+
const selectedAction = actionButtons[selectedIndex];
|
|
106
|
+
if (selectedAction) {
|
|
107
|
+
if (selectedAction.id === "start") {
|
|
108
|
+
onStart();
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
onEditTasks();
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
}, [selectedIndex, onStart, onEditTasks]);
|
|
115
|
+
// Calculate box dimensions (must be before early return to follow React hooks rules)
|
|
116
|
+
const boxWidth = useMemo(() => {
|
|
117
|
+
if (dimensions?.width) {
|
|
118
|
+
return Math.min(70, dimensions.width - 4);
|
|
119
|
+
}
|
|
120
|
+
return 70;
|
|
121
|
+
}, [dimensions?.width]);
|
|
122
|
+
// Handle keyboard input
|
|
123
|
+
useInput((input, key) => {
|
|
124
|
+
if (!hasFocus || !isVisible)
|
|
125
|
+
return;
|
|
126
|
+
// Navigate up
|
|
127
|
+
if (key.upArrow || input === "k" || input === "K") {
|
|
128
|
+
setSelectedIndex((prev) => Math.max(0, prev - 1));
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// Navigate down
|
|
132
|
+
if (key.downArrow || input === "j" || input === "J") {
|
|
133
|
+
setSelectedIndex((prev) => Math.min(actionButtons.length - 1, prev + 1));
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
// Select action with Enter
|
|
137
|
+
if (key.return) {
|
|
138
|
+
handleSelect();
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
// Quick select - E for edit
|
|
142
|
+
if (input === "e" || input === "E") {
|
|
143
|
+
onEditTasks();
|
|
144
|
+
return;
|
|
145
|
+
}
|
|
146
|
+
// Quick select - S for start (alternative to Enter)
|
|
147
|
+
if (input === "s" || input === "S") {
|
|
148
|
+
onStart();
|
|
149
|
+
return;
|
|
150
|
+
}
|
|
151
|
+
}, { isActive: hasFocus && isVisible });
|
|
152
|
+
if (!isVisible) {
|
|
153
|
+
return null;
|
|
154
|
+
}
|
|
155
|
+
const tasks = generatedPrd.taskBreakdown;
|
|
156
|
+
return (_jsx(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: colors.primary, paddingX: 2, paddingY: 1, width: boxWidth, children: [_jsx(Box, { justifyContent: "center", marginBottom: 1, children: _jsxs(Text, { color: colors.secondary, bold: true, children: [decorChars.sparkle, " Ready to Start ", decorChars.sparkle] }) }), _jsx(Box, { justifyContent: "center", marginBottom: 1, children: _jsx(Text, { bold: true, color: colors.primary, children: featureName.length > boxWidth - 8
|
|
157
|
+
? featureName.slice(0, boxWidth - 11) + "..."
|
|
158
|
+
: featureName }) }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(boxWidth - 6) }) }), _jsx(ComplexityStats, { tasks: tasks }), _jsx(TaskPreviewList, { tasks: tasks, maxItems: 5 }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(boxWidth - 6) }) }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { bold: true, color: colors.accent, children: [alertIcons.info, " Review complete. What would you like to do?"] }), _jsx(ActionButtons, { buttons: actionButtons, selectedIndex: selectedIndex })] }), _jsx(Box, { marginTop: 1, justifyContent: "center", children: _jsx(Text, { dimColor: true, children: "\u2191\u2193: Navigate | Enter/S: Start | E: Edit Tasks" }) })] }) }));
|
|
159
|
+
}
|
|
160
|
+
export default PreStartReviewScreen;
|
|
161
|
+
//# sourceMappingURL=PreStartReviewScreen.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"PreStartReviewScreen.js","sourceRoot":"","sources":["../src/PreStartReviewScreen.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume Overlay Component
|
|
3
|
+
*
|
|
4
|
+
* Full-screen modal that displays when previous loop data exists on startup.
|
|
5
|
+
* Shows previous progress and offers options to Resume, Start New, or View History.
|
|
6
|
+
*/
|
|
7
|
+
import type { LoopState } from "./loop-state.js";
|
|
8
|
+
export type ResumeAction = "resume" | "new" | "history";
|
|
9
|
+
export interface ResumeOverlayProps {
|
|
10
|
+
/** Whether the overlay is visible */
|
|
11
|
+
isVisible: boolean;
|
|
12
|
+
/** The previous loop state to display */
|
|
13
|
+
loopState: LoopState;
|
|
14
|
+
/** Callback when user selects an action */
|
|
15
|
+
onAction: (action: ResumeAction) => void;
|
|
16
|
+
/** Whether the component has focus */
|
|
17
|
+
hasFocus: boolean;
|
|
18
|
+
/** Terminal dimensions for centering */
|
|
19
|
+
dimensions?: {
|
|
20
|
+
width: number;
|
|
21
|
+
height: number;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
export declare function ResumeOverlay({ isVisible, loopState, onAction, hasFocus, dimensions, }: ResumeOverlayProps): import("react/jsx-runtime").JSX.Element | null;
|
|
25
|
+
export default ResumeOverlay;
|
|
26
|
+
//# sourceMappingURL=ResumeOverlay.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeOverlay.d.ts","sourceRoot":"","sources":["../src/ResumeOverlay.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,OAAO,KAAK,EAAE,SAAS,EAAY,MAAM,iBAAiB,CAAC;AAM3D,MAAM,MAAM,YAAY,GAAG,QAAQ,GAAG,KAAK,GAAG,SAAS,CAAC;AAExD,MAAM,WAAW,kBAAkB;IACjC,qCAAqC;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,yCAAyC;IACzC,SAAS,EAAE,SAAS,CAAC;IACrB,2CAA2C;IAC3C,QAAQ,EAAE,CAAC,MAAM,EAAE,YAAY,KAAK,IAAI,CAAC;IACzC,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,wCAAwC;IACxC,UAAU,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAChD;AA2PD,wBAAgB,aAAa,CAAC,EAC5B,SAAS,EACT,SAAS,EACT,QAAQ,EACR,QAAQ,EACR,UAAU,GACX,EAAE,kBAAkB,kDAiIpB;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,163 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Resume Overlay Component
|
|
4
|
+
*
|
|
5
|
+
* Full-screen modal that displays when previous loop data exists on startup.
|
|
6
|
+
* Shows previous progress and offers options to Resume, Start New, or View History.
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text, useInput } from "ink";
|
|
9
|
+
import { useState, useMemo, useCallback } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
import { navIcons, decorChars, progressChars, createProgressBar, } from "./theme.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// CONSTANTS
|
|
14
|
+
// ============================================================================
|
|
15
|
+
const actionButtons = [
|
|
16
|
+
{
|
|
17
|
+
id: "resume",
|
|
18
|
+
label: "Resume Loop",
|
|
19
|
+
icon: navIcons.arrowRight,
|
|
20
|
+
description: "Continue where you left off",
|
|
21
|
+
},
|
|
22
|
+
{
|
|
23
|
+
id: "new",
|
|
24
|
+
label: "Start New Loop",
|
|
25
|
+
icon: decorChars.sparkle,
|
|
26
|
+
description: "Begin a fresh session",
|
|
27
|
+
},
|
|
28
|
+
{
|
|
29
|
+
id: "history",
|
|
30
|
+
label: "View History",
|
|
31
|
+
icon: navIcons.chevronRight,
|
|
32
|
+
description: "See past sessions and stats",
|
|
33
|
+
},
|
|
34
|
+
];
|
|
35
|
+
// ============================================================================
|
|
36
|
+
// HELPER FUNCTIONS
|
|
37
|
+
// ============================================================================
|
|
38
|
+
function getTaskStatusCounts(tasks) {
|
|
39
|
+
return {
|
|
40
|
+
completed: tasks.filter((t) => t.status === "completed").length,
|
|
41
|
+
inProgress: tasks.filter((t) => t.status === "in_progress").length,
|
|
42
|
+
pending: tasks.filter((t) => t.status === "pending").length,
|
|
43
|
+
total: tasks.length,
|
|
44
|
+
};
|
|
45
|
+
}
|
|
46
|
+
function formatTimeSince(isoDate) {
|
|
47
|
+
const date = new Date(isoDate);
|
|
48
|
+
const now = new Date();
|
|
49
|
+
const diffMs = now.getTime() - date.getTime();
|
|
50
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
51
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
52
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
53
|
+
if (diffDays > 0) {
|
|
54
|
+
return `${diffDays} day${diffDays > 1 ? "s" : ""} ago`;
|
|
55
|
+
}
|
|
56
|
+
if (diffHours > 0) {
|
|
57
|
+
return `${diffHours} hour${diffHours > 1 ? "s" : ""} ago`;
|
|
58
|
+
}
|
|
59
|
+
if (diffMins > 0) {
|
|
60
|
+
return `${diffMins} minute${diffMins > 1 ? "s" : ""} ago`;
|
|
61
|
+
}
|
|
62
|
+
return "Just now";
|
|
63
|
+
}
|
|
64
|
+
function ProgressSummary({ loopState, colors }) {
|
|
65
|
+
const taskCounts = useMemo(() => getTaskStatusCounts(loopState.tasks), [loopState.tasks]);
|
|
66
|
+
const progressBar = useMemo(() => createProgressBar(loopState.progress.percentage, 20), [loopState.progress.percentage]);
|
|
67
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [loopState.prd && (_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: colors.textMuted, children: "Project: " }), _jsx(Text, { bold: true, color: colors.primary, children: loopState.prd.name })] })), _jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: colors.textMuted, children: "Progress: " }), _jsx(Text, { color: colors.success, children: progressBar }), _jsxs(Text, { color: colors.text, children: [" ", loopState.progress.percentage, "%"] })] }), _jsxs(Box, { children: [_jsx(Text, { color: colors.textMuted, children: "Tasks: " }), _jsxs(Text, { color: colors.success, children: [taskCounts.completed, " completed"] }), _jsx(Text, { color: colors.textMuted, children: " | " }), taskCounts.inProgress > 0 && (_jsxs(_Fragment, { children: [_jsxs(Text, { color: colors.warning, children: [taskCounts.inProgress, " in progress"] }), _jsx(Text, { color: colors.textMuted, children: " | " })] })), _jsxs(Text, { color: colors.textMuted, children: [taskCounts.pending, " remaining"] })] }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, italic: true, children: ["Last updated: ", formatTimeSince(loopState.updatedAt)] }) })] }));
|
|
68
|
+
}
|
|
69
|
+
function TaskListPreview({ tasks, colors, maxItems = 5, }) {
|
|
70
|
+
const visibleTasks = useMemo(() => {
|
|
71
|
+
// Show completed tasks first, then in-progress, then pending
|
|
72
|
+
const sorted = [...tasks].sort((a, b) => {
|
|
73
|
+
const order = { completed: 0, in_progress: 1, pending: 2, skipped: 3 };
|
|
74
|
+
return order[a.status] - order[b.status];
|
|
75
|
+
});
|
|
76
|
+
return sorted.slice(0, maxItems);
|
|
77
|
+
}, [tasks, maxItems]);
|
|
78
|
+
const remainingCount = tasks.length - visibleTasks.length;
|
|
79
|
+
const getStatusIcon = (status) => {
|
|
80
|
+
switch (status) {
|
|
81
|
+
case "completed":
|
|
82
|
+
return { icon: navIcons.checkboxChecked, color: colors.success };
|
|
83
|
+
case "in_progress":
|
|
84
|
+
return { icon: progressChars.half, color: colors.warning };
|
|
85
|
+
case "pending":
|
|
86
|
+
return { icon: navIcons.checkbox, color: colors.textMuted };
|
|
87
|
+
default:
|
|
88
|
+
return { icon: navIcons.checkbox, color: colors.textMuted };
|
|
89
|
+
}
|
|
90
|
+
};
|
|
91
|
+
if (tasks.length === 0) {
|
|
92
|
+
return (_jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, italic: true, children: "No tasks recorded" }) }));
|
|
93
|
+
}
|
|
94
|
+
return (_jsxs(Box, { flexDirection: "column", marginY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { bold: true, color: colors.accent, children: "Task Overview:" }) }), visibleTasks.map((task) => {
|
|
95
|
+
const { icon, color } = getStatusIcon(task.status);
|
|
96
|
+
return (_jsxs(Box, { children: [_jsxs(Text, { color: color, children: [icon, " "] }), _jsx(Text, { color: task.status === "completed" ? colors.textMuted : colors.text, children: task.title })] }, task.id));
|
|
97
|
+
}), remainingCount > 0 && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, italic: true, children: ["... and ", remainingCount, " more task", remainingCount > 1 ? "s" : ""] }) }))] }));
|
|
98
|
+
}
|
|
99
|
+
function ActionButtons({ buttons, selectedIndex, colors }) {
|
|
100
|
+
return (_jsx(Box, { flexDirection: "column", marginTop: 1, children: buttons.map((button, index) => {
|
|
101
|
+
const isSelected = index === selectedIndex;
|
|
102
|
+
return (_jsxs(Box, { marginY: 0, children: [_jsxs(Text, { color: isSelected ? colors.primary : colors.textMuted, bold: isSelected, children: [isSelected ? navIcons.pointer : " ", " "] }), _jsxs(Text, { color: isSelected ? colors.primary : colors.text, bold: isSelected, children: [button.icon, " ", button.label] }), isSelected && _jsxs(Text, { dimColor: true, children: [" - ", button.description] })] }, button.id));
|
|
103
|
+
}) }));
|
|
104
|
+
}
|
|
105
|
+
// ============================================================================
|
|
106
|
+
// MAIN COMPONENT
|
|
107
|
+
// ============================================================================
|
|
108
|
+
export function ResumeOverlay({ isVisible, loopState, onAction, hasFocus, dimensions, }) {
|
|
109
|
+
const [selectedIndex, setSelectedIndex] = useState(0);
|
|
110
|
+
const colors = useThemeColors();
|
|
111
|
+
const handleSelect = useCallback(() => {
|
|
112
|
+
const selectedAction = actionButtons[selectedIndex];
|
|
113
|
+
if (selectedAction) {
|
|
114
|
+
onAction(selectedAction.id);
|
|
115
|
+
}
|
|
116
|
+
}, [selectedIndex, onAction]);
|
|
117
|
+
// Handle keyboard input
|
|
118
|
+
useInput((input, key) => {
|
|
119
|
+
if (!hasFocus || !isVisible)
|
|
120
|
+
return;
|
|
121
|
+
// Navigate up
|
|
122
|
+
if (key.upArrow || input === "k" || input === "K") {
|
|
123
|
+
setSelectedIndex((prev) => Math.max(0, prev - 1));
|
|
124
|
+
return;
|
|
125
|
+
}
|
|
126
|
+
// Navigate down
|
|
127
|
+
if (key.downArrow || input === "j" || input === "J") {
|
|
128
|
+
setSelectedIndex((prev) => Math.min(actionButtons.length - 1, prev + 1));
|
|
129
|
+
return;
|
|
130
|
+
}
|
|
131
|
+
// Select action
|
|
132
|
+
if (key.return || input === " ") {
|
|
133
|
+
handleSelect();
|
|
134
|
+
return;
|
|
135
|
+
}
|
|
136
|
+
// Quick select with number keys
|
|
137
|
+
if (input === "1") {
|
|
138
|
+
onAction("resume");
|
|
139
|
+
return;
|
|
140
|
+
}
|
|
141
|
+
if (input === "2") {
|
|
142
|
+
onAction("new");
|
|
143
|
+
return;
|
|
144
|
+
}
|
|
145
|
+
if (input === "3") {
|
|
146
|
+
onAction("history");
|
|
147
|
+
return;
|
|
148
|
+
}
|
|
149
|
+
}, { isActive: hasFocus && isVisible });
|
|
150
|
+
// Calculate box dimensions
|
|
151
|
+
const boxWidth = useMemo(() => {
|
|
152
|
+
if (dimensions?.width) {
|
|
153
|
+
return Math.min(65, dimensions.width - 4);
|
|
154
|
+
}
|
|
155
|
+
return 65;
|
|
156
|
+
}, [dimensions?.width]);
|
|
157
|
+
if (!isVisible) {
|
|
158
|
+
return null;
|
|
159
|
+
}
|
|
160
|
+
return (_jsx(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", width: "100%", height: "100%", children: _jsxs(Box, { flexDirection: "column", borderStyle: "double", borderColor: colors.primary, paddingX: 2, paddingY: 1, width: boxWidth, children: [_jsx(Box, { justifyContent: "center", marginBottom: 1, children: _jsxs(Text, { color: colors.secondary, bold: true, children: [decorChars.sparkle, " Welcome Back! ", decorChars.sparkle] }) }), _jsx(Box, { justifyContent: "center", marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "You have a previous session to resume" }) }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(boxWidth - 6) }) }), _jsx(ProgressSummary, { loopState: loopState, colors: colors }), _jsx(TaskListPreview, { tasks: loopState.tasks, colors: colors }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(boxWidth - 6) }) }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { bold: true, color: colors.accent, children: "What would you like to do?" }), _jsx(ActionButtons, { buttons: actionButtons, selectedIndex: selectedIndex, colors: colors })] }), _jsx(Box, { marginTop: 1, justifyContent: "center", children: _jsx(Text, { dimColor: true, children: "\u2191\u2193: Navigate | Enter: Select | 1-3: Quick select" }) })] }) }));
|
|
161
|
+
}
|
|
162
|
+
export default ResumeOverlay;
|
|
163
|
+
//# sourceMappingURL=ResumeOverlay.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumeOverlay.js","sourceRoot":"","sources":["../src/ResumeOverlay.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume Prompt Component
|
|
3
|
+
*
|
|
4
|
+
* Shown to returning users who have an unfinished loop.
|
|
5
|
+
* Offers options to resume, start new, or quit.
|
|
6
|
+
*/
|
|
7
|
+
export interface ResumePromptProps {
|
|
8
|
+
/** Feature name from the previous loop */
|
|
9
|
+
featureName: string;
|
|
10
|
+
/** Number of completed tasks */
|
|
11
|
+
completedTasks: number;
|
|
12
|
+
/** Total number of tasks */
|
|
13
|
+
totalTasks: number;
|
|
14
|
+
/** When the loop was last active */
|
|
15
|
+
lastActiveAt?: Date | null;
|
|
16
|
+
/** Callback for resuming the loop */
|
|
17
|
+
onResume: () => void;
|
|
18
|
+
/** Callback for starting a new loop */
|
|
19
|
+
onNewLoop: () => void;
|
|
20
|
+
/** Callback for quitting */
|
|
21
|
+
onQuit: () => void;
|
|
22
|
+
/** Whether the component has focus */
|
|
23
|
+
hasFocus: boolean;
|
|
24
|
+
/** Terminal dimensions */
|
|
25
|
+
dimensions: {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare function ResumePrompt({ featureName, completedTasks, totalTasks, lastActiveAt, onResume, onNewLoop, onQuit, hasFocus, dimensions, }: ResumePromptProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export default ResumePrompt;
|
|
32
|
+
//# sourceMappingURL=ResumePrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumePrompt.d.ts","sourceRoot":"","sources":["../src/ResumePrompt.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AA6BD,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB,2CA0GnB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Resume Prompt Component
|
|
4
|
+
*
|
|
5
|
+
* Shown to returning users who have an unfinished loop.
|
|
6
|
+
* Offers options to resume, start new, or quit.
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text, useInput } from "ink";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// HELPER FUNCTIONS
|
|
13
|
+
// ============================================================================
|
|
14
|
+
function formatTimeAgo(date) {
|
|
15
|
+
if (!date)
|
|
16
|
+
return "unknown";
|
|
17
|
+
const now = new Date();
|
|
18
|
+
const diffMs = now.getTime() - date.getTime();
|
|
19
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
20
|
+
if (diffMins < 1)
|
|
21
|
+
return "just now";
|
|
22
|
+
if (diffMins === 1)
|
|
23
|
+
return "1 minute ago";
|
|
24
|
+
if (diffMins < 60)
|
|
25
|
+
return `${diffMins} minutes ago`;
|
|
26
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
27
|
+
if (diffHours === 1)
|
|
28
|
+
return "1 hour ago";
|
|
29
|
+
if (diffHours < 24)
|
|
30
|
+
return `${diffHours} hours ago`;
|
|
31
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
32
|
+
if (diffDays === 1)
|
|
33
|
+
return "1 day ago";
|
|
34
|
+
return `${diffDays} days ago`;
|
|
35
|
+
}
|
|
36
|
+
// ============================================================================
|
|
37
|
+
// MAIN COMPONENT
|
|
38
|
+
// ============================================================================
|
|
39
|
+
export function ResumePrompt({ featureName, completedTasks, totalTasks, lastActiveAt, onResume, onNewLoop, onQuit, hasFocus, dimensions, }) {
|
|
40
|
+
const colors = useThemeColors();
|
|
41
|
+
// Handle keyboard input
|
|
42
|
+
useInput((input) => {
|
|
43
|
+
if (!hasFocus)
|
|
44
|
+
return;
|
|
45
|
+
if (input === "r" || input === "R") {
|
|
46
|
+
onResume();
|
|
47
|
+
}
|
|
48
|
+
else if (input === "n" || input === "N") {
|
|
49
|
+
onNewLoop();
|
|
50
|
+
}
|
|
51
|
+
else if (input === "q" || input === "Q") {
|
|
52
|
+
onQuit();
|
|
53
|
+
}
|
|
54
|
+
}, { isActive: hasFocus });
|
|
55
|
+
const cardWidth = useMemo(() => {
|
|
56
|
+
return Math.min(55, dimensions.width - 8);
|
|
57
|
+
}, [dimensions.width]);
|
|
58
|
+
const progress = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;
|
|
59
|
+
const timeAgo = formatTimeAgo(lastActiveAt);
|
|
60
|
+
return (_jsxs(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", width: "100%", height: "100%", children: [_jsx(Box, { marginBottom: 2, children: _jsx(Text, { bold: true, color: colors.primary, children: "BRAINROT" }) }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.border, paddingX: 2, paddingY: 1, width: cardWidth, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.success, children: "Welcome back!" }) }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { children: "You have an unfinished loop:" }), _jsxs(Text, { color: colors.text, bold: true, children: ["\"", featureName.length > cardWidth - 10
|
|
61
|
+
? featureName.slice(0, cardWidth - 13) + "..."
|
|
62
|
+
: featureName, "\""] }), _jsxs(Text, { dimColor: true, children: ["Progress: ", completedTasks, "/", totalTasks, " tasks (", progress, "%)"] }), _jsxs(Text, { dimColor: true, children: ["Last active: ", timeAgo] })] }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(cardWidth - 6) }) }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[R]" }), " Resume"] }), _jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[N]" }), " New Loop"] }), _jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[Q]" }), " Quit"] })] })] }), _jsx(Box, { position: "absolute", marginTop: dimensions.height - 2, borderStyle: "single", borderColor: colors.border, paddingX: 2, width: dimensions.width - 4, children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { color: colors.primary, children: "?" }), ": Help |", " ", _jsx(Text, { color: colors.primary, children: "Ctrl+C" }), ": Quit"] }) })] }));
|
|
63
|
+
}
|
|
64
|
+
export default ResumePrompt;
|
|
65
|
+
//# sourceMappingURL=ResumePrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumePrompt.js","sourceRoot":"","sources":["../src/ResumePrompt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsMenu.d.ts","sourceRoot":"","sources":["../src/SettingsMenu.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,aAAa,CAAC;AAmBrB,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3D,sCAAsC;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;
|
|
1
|
+
{"version":3,"file":"SettingsMenu.d.ts","sourceRoot":"","sources":["../src/SettingsMenu.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAMH,OAAO,EACL,KAAK,cAAc,EAKpB,MAAM,aAAa,CAAC;AAmBrB,MAAM,WAAW,iBAAiB;IAChC,4BAA4B;IAC5B,MAAM,EAAE,cAAc,CAAC;IACvB,0CAA0C;IAC1C,QAAQ,EAAE,OAAO,CAAC;IAClB,oDAAoD;IACpD,cAAc,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,cAAc,CAAC,KAAK,IAAI,CAAC;IAC3D,sCAAsC;IACtC,MAAM,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5B,iCAAiC;IACjC,OAAO,EAAE,MAAM,IAAI,CAAC;CACrB;AA2RD,wBAAgB,YAAY,CAAC,EAC3B,MAAM,EACN,QAAQ,EACR,cAAc,EACd,MAAM,EACN,OAAO,GACR,EAAE,iBAAiB,2CAqOnB;AAED,eAAe,YAAY,CAAC"}
|