@knpkv/jira-clockify 1.0.2 → 1.1.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.
Files changed (64) hide show
  1. package/dist/package.json +6 -6
  2. package/dist/src/cli/auth.js +19 -4
  3. package/dist/src/cli/auth.js.map +1 -1
  4. package/dist/src/cli/config.js.map +1 -1
  5. package/dist/src/cli/fetchTicket.js +9 -4
  6. package/dist/src/cli/fetchTicket.js.map +1 -1
  7. package/dist/src/cli/fuzzySelect.js.map +1 -1
  8. package/dist/src/cli/layers.js.map +1 -1
  9. package/dist/src/cli/setup.js +36 -6
  10. package/dist/src/cli/setup.js.map +1 -1
  11. package/dist/src/cli/timer/edit.js +14 -7
  12. package/dist/src/cli/timer/edit.js.map +1 -1
  13. package/dist/src/cli/timer/start.js +9 -5
  14. package/dist/src/cli/timer/start.js.map +1 -1
  15. package/dist/src/cli/timer/status.js.map +1 -1
  16. package/dist/src/cli/timer/stop.js +48 -8
  17. package/dist/src/cli/timer/stop.js.map +1 -1
  18. package/dist/src/services/ClockifyAuth.js.map +1 -1
  19. package/dist/src/services/ConfigService.js +34 -1
  20. package/dist/src/services/ConfigService.js.map +1 -1
  21. package/dist/src/services/ReconcileService.js +0 -0
  22. package/dist/src/services/ReconcileService.js.map +1 -1
  23. package/dist/src/services/StateWriter.js +25 -1
  24. package/dist/src/services/StateWriter.js.map +1 -1
  25. package/dist/src/services/TicketService.js +10 -5
  26. package/dist/src/services/TicketService.js.map +1 -1
  27. package/dist/src/services/TimerService.js +34 -6
  28. package/dist/src/services/TimerService.js.map +1 -1
  29. package/dist/src/tui/App.js +69 -9
  30. package/dist/src/tui/App.js.map +1 -1
  31. package/dist/src/tui/components/BigTimer.js +1 -1
  32. package/dist/src/tui/components/BigTimer.js.map +1 -1
  33. package/dist/src/tui/components/Footer.js +11 -2
  34. package/dist/src/tui/components/Footer.js.map +1 -1
  35. package/dist/src/tui/components/Header.js +2 -1
  36. package/dist/src/tui/components/Header.js.map +1 -1
  37. package/dist/src/tui/components/PopupInput.js +10 -5
  38. package/dist/src/tui/components/PopupInput.js.map +1 -1
  39. package/dist/src/tui/components/PopupMessage.js +7 -3
  40. package/dist/src/tui/components/PopupMessage.js.map +1 -1
  41. package/dist/src/tui/components/TicketList.js +7 -8
  42. package/dist/src/tui/components/TicketList.js.map +1 -1
  43. package/dist/src/tui/components/TicketRow.js +7 -6
  44. package/dist/src/tui/components/TicketRow.js.map +1 -1
  45. package/dist/src/tui/components/TimerDisplay.js +1 -1
  46. package/dist/src/tui/components/TimerDisplay.js.map +1 -1
  47. package/dist/src/tui/hooks/useTerminalSize.js +3 -1
  48. package/dist/src/tui/hooks/useTerminalSize.js.map +1 -1
  49. package/dist/src/utils/time.js +72 -0
  50. package/dist/src/utils/time.js.map +1 -1
  51. package/dist/tsconfig.tsbuildinfo +1 -1
  52. package/package.json +9 -9
  53. package/dist/test/ReconcileService.test.js +0 -146
  54. package/dist/test/ReconcileService.test.js.map +0 -1
  55. package/dist/test/TimerService.test.js +0 -607
  56. package/dist/test/TimerService.test.js.map +0 -1
  57. package/dist/test/commandSurface.test.js +0 -42
  58. package/dist/test/commandSurface.test.js.map +0 -1
  59. package/dist/test/fetchTicket.test.js +0 -89
  60. package/dist/test/fetchTicket.test.js.map +0 -1
  61. package/dist/test/stopPrompts.test.js +0 -93
  62. package/dist/test/stopPrompts.test.js.map +0 -1
  63. package/dist/test/time.test.js +0 -84
  64. package/dist/test/time.test.js.map +0 -1
@@ -5,9 +5,10 @@ import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "@opentui/reac
5
5
  * @internal
6
6
  */
7
7
  import { useAtomSet, useAtomValue } from "@effect/atom-react";
8
- import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
9
8
  import { useKeyboard } from "@opentui/react";
9
+ import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
10
10
  import { useCallback, useEffect, useState } from "react";
11
+ import { formatClock, formatDuration, resolveCorrectedEnd } from "../utils/time.js";
11
12
  import { refreshAtom, ticketsAtom } from "./atoms/tickets.js";
12
13
  import { detectRunningAtom, discardTimerAtom, retryWorklogAtom, startTimerAtom, stopTimerAtom, timerStateAtom } from "./atoms/timer.js";
13
14
  import { filterTextAtom, isFilteringAtom, selectedIndexAtom } from "./atoms/ui.js";
@@ -52,6 +53,13 @@ function AppContent({ onQuit }) {
52
53
  const [showTickets, setShowTickets] = useState(false);
53
54
  const [isStopping, setIsStopping] = useState(false);
54
55
  const [isDiscarding, setIsDiscarding] = useState(false);
56
+ // End Correction popups: confirm the end (default keep now), then optionally edit it,
57
+ // before the comment popup. `correctedEnd` carries the chosen end into the stop call.
58
+ const [endConfirm, setEndConfirm] = useState(false);
59
+ const [endEditing, setEndEditing] = useState(false);
60
+ const [endError, setEndError] = useState(null);
61
+ const [endDefault, setEndDefault] = useState("");
62
+ const [correctedEnd, setCorrectedEnd] = useState(null);
55
63
  // Params to retry a Jira worklog after a partial stop (Clockify saved, Jira failed)
56
64
  const [retryParams, setRetryParams] = useState(null);
57
65
  const [isRetrying, setIsRetrying] = useState(false);
@@ -65,7 +73,7 @@ function AppContent({ onQuit }) {
65
73
  const timerState = AsyncResult.isSuccess(timerResult) ? timerResult.value : null;
66
74
  const timerActive = timerState?.active ?? false;
67
75
  // Auto-switch views — frozen while popup is showing
68
- const hasPopup = isStopping || isDiscarding || resultMsg !== null;
76
+ const hasPopup = isStopping || isDiscarding || resultMsg !== null || endConfirm || endEditing;
69
77
  useEffect(() => {
70
78
  if (hasPopup)
71
79
  return; // don't switch while popup is open
@@ -144,19 +152,61 @@ function AppContent({ onQuit }) {
144
152
  setIsRetrying(true);
145
153
  retryWorklog(retryParams);
146
154
  }, [retryParams, isRetrying, retryWorklog]);
147
- // Stop handler with comment — freeze view so popup stays visible
155
+ // Stop handler with comment — freeze view so popup stays visible. Carries the
156
+ // End Correction end (if the user corrected it in the confirm/edit popups).
148
157
  const handleStop = useCallback((comment) => {
149
158
  setFrozenOnTimer(true); // keep big timer visible while popup shows
150
159
  setIsStopping(false);
151
- stopTimer({ comment: comment.trim() || undefined });
152
- }, [stopTimer]);
160
+ stopTimer({ comment: comment.trim() || undefined, ...(correctedEnd ? { endedAt: correctedEnd } : {}) });
161
+ }, [stopTimer, correctedEnd]);
162
+ // Open the End Correction flow: confirm the end before the comment popup.
163
+ // Don't freeze the view here — the timer is still active (so the big timer stays
164
+ // visible on its own) and only `handleStop` should set `frozenOnTimer`, which the
165
+ // result observer reads as "a stop was actually committed". Freezing earlier would
166
+ // let a cancel re-surface a *previous* stop's result popup.
167
+ const beginStop = useCallback(() => {
168
+ setCorrectedEnd(null);
169
+ setEndError(null);
170
+ setEndConfirm(true);
171
+ }, []);
172
+ // "Keep now" — accept the current end and move on to the comment popup.
173
+ const keepEndNow = useCallback(() => {
174
+ setEndConfirm(false);
175
+ setCorrectedEnd(null);
176
+ setIsStopping(true);
177
+ }, []);
178
+ // "Edit end" — swap the confirm for the end-time input, prefilled with now.
179
+ const editEnd = useCallback(() => {
180
+ setEndConfirm(false);
181
+ setEndError(null);
182
+ setEndDefault(formatClock(new Date()));
183
+ setEndEditing(true);
184
+ }, []);
185
+ // Validate the entered end; on success advance to the comment popup, else re-prompt.
186
+ const submitEnd = useCallback((value) => {
187
+ const startedAt = timerState?.startedAt;
188
+ if (!startedAt) {
189
+ setEndEditing(false);
190
+ setIsStopping(true);
191
+ return;
192
+ }
193
+ const r = resolveCorrectedEnd({ start: startedAt, input: value, now: new Date() });
194
+ if (!r.ok) {
195
+ setEndError(r.error);
196
+ return;
197
+ }
198
+ setCorrectedEnd(r.end);
199
+ setEndError(null);
200
+ setEndEditing(false);
201
+ setIsStopping(true);
202
+ }, [timerState]);
153
203
  useKeyboard((key) => {
154
204
  if (key.name === "c" && key.ctrl) {
155
205
  onQuit();
156
206
  return;
157
207
  }
158
- // Popup open — block all keys (input handles its own)
159
- if (isStopping || resultMsg)
208
+ // Popup open — block all keys (the popup handles its own)
209
+ if (isStopping || resultMsg || endConfirm || endEditing)
160
210
  return;
161
211
  // Filter mode
162
212
  if (isFiltering) {
@@ -217,7 +267,7 @@ function AppContent({ onQuit }) {
217
267
  }
218
268
  case "x":
219
269
  if (timerActive)
220
- setIsStopping(true);
270
+ beginStop();
221
271
  break;
222
272
  case "d":
223
273
  if (timerActive)
@@ -246,7 +296,17 @@ function AppContent({ onQuit }) {
246
296
  lines: [{ text: "Clockify entry deleted.", color: "#888888" }],
247
297
  type: "info"
248
298
  });
249
- } })) : null, isStopping ? (_jsx(PopupInput, { title: "Stop timer \u2014 add a comment", placeholder: "What did you work on? (empty to skip)", onSubmit: handleStop, onCancel: () => setIsStopping(false) })) : null, resultMsg ? (_jsx(PopupMessage, { title: resultMsg.title, lines: resultMsg.lines, type: resultMsg.type, onRetry: retryParams ? handleRetryWorklog : undefined, retrying: isRetrying, onDismiss: () => {
299
+ } })) : null, endConfirm && timerState?.startedAt
300
+ ? (() => {
301
+ const now = new Date();
302
+ const started = timerState.startedAt;
303
+ const elapsed = Math.max(0, Math.floor((now.getTime() - started.getTime()) / 1000));
304
+ return (_jsx(PopupMessage, { title: "Stop timer", lines: [
305
+ { text: `Started ${formatClock(started)} · ends now ${formatClock(now)}`, color: "#CCCCCC" },
306
+ { text: `Worked ${formatDuration(elapsed)} — end time correct?`, color: "#888888" }
307
+ ], type: "info", dismissLabel: "Keep now", onEdit: editEnd, onDismiss: keepEndNow }));
308
+ })()
309
+ : null, endEditing ? (_jsx(PopupInput, { title: "Real end time (HH:MM today or ISO)", defaultValue: endDefault, error: endError ?? undefined, onSubmit: submitEnd, onCancel: () => setEndEditing(false) })) : null, isStopping ? (_jsx(PopupInput, { title: "Stop timer \u2014 add a comment", placeholder: "What did you work on? (empty to skip)", onSubmit: handleStop, onCancel: () => setIsStopping(false) })) : null, resultMsg ? (_jsx(PopupMessage, { title: resultMsg.title, lines: resultMsg.lines, type: resultMsg.type, onRetry: retryParams ? handleRetryWorklog : undefined, retrying: isRetrying, onDismiss: () => {
250
310
  if (isRetrying)
251
311
  return; // don't dismiss mid-retry
252
312
  setResultMsg(null);
@@ -1 +1 @@
1
- {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"App.js","sourceRoot":"","sources":["../../../src/tui/App.tsx"],"names":[],"mappings":"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"}
@@ -55,6 +55,6 @@ export function BigTimer() {
55
55
  ]
56
56
  .filter(Boolean)
57
57
  .join(" ");
58
- return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, width: "100%" }, children: [_jsx("box", { style: { flexGrow: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#00CCFF", style: { fontWeight: "bold" }, children: centerPad(timerState?.ticketKey ?? "", cols) }) }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#888888", children: centerPad(timerState?.summary?.slice(0, 60) ?? "", cols) }) }), _jsx("box", { style: { height: 1 } }), rows.map((row, i) => (_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#7aa87a", children: centerPad(row, cols) }) }, i))), _jsx("box", { style: { height: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#3a5a3a", children: centerPad(bar, cols) }) }), _jsx("box", { style: { height: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#888888", children: centerPad("x stop d discard l tickets q quit", cols) }) }), meta ? (_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#555555", children: centerPad(meta, cols) }) })) : null, _jsx("box", { style: { flexGrow: 1 } })] }));
58
+ return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1, width: "100%" }, children: [_jsx("box", { style: { flexGrow: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#00CCFF", children: centerPad(timerState?.ticketKey ?? "", cols) }) }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#888888", children: centerPad(timerState?.summary?.slice(0, 60) ?? "", cols) }) }), _jsx("box", { style: { height: 1 } }), rows.map((row, i) => (_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#7aa87a", children: centerPad(row, cols) }) }, i))), _jsx("box", { style: { height: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#3a5a3a", children: centerPad(bar, cols) }) }), _jsx("box", { style: { height: 1 } }), _jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#888888", children: centerPad("x stop d discard l tickets q quit", cols) }) }), meta ? (_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#555555", children: centerPad(meta, cols) }) })) : null, _jsx("box", { style: { flexGrow: 1 } })] }));
59
59
  }
60
60
  //# sourceMappingURL=BigTimer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"BigTimer.js","sourceRoot":"","sources":["../../../../src/tui/components/BigTimer.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BigTimer.js","sourceRoot":"","sources":["../../../../src/tui/components/BigTimer.tsx"],"names":[],"mappings":"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"}
@@ -6,11 +6,20 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
6
6
  */
7
7
  import { useAtomValue } from "@effect/atom-react";
8
8
  import { isFilteringAtom } from "../atoms/ui.js";
9
+ const filteringFooterStyle = {
10
+ height: 1,
11
+ width: "100%",
12
+ backgroundColor: "#1a1a2e",
13
+ flexDirection: "row",
14
+ paddingLeft: 1
15
+ };
16
+ const filterKeyStyle = { backgroundColor: "#00CCFF", paddingLeft: 1, paddingRight: 1 };
17
+ const footerStyle = { height: 1, width: "100%", backgroundColor: "#1a1a2e", paddingLeft: 2 };
9
18
  export function Footer() {
10
19
  const isFiltering = useAtomValue(isFilteringAtom);
11
20
  if (isFiltering) {
12
- return (_jsxs("box", { style: { height: 1, width: "100%", backgroundColor: "#1a1a2e", flexDirection: "row", paddingLeft: 1 }, children: [_jsx("box", { style: { backgroundColor: "#00CCFF", paddingLeft: 1, paddingRight: 1 }, children: _jsx("text", { fg: "#000000", children: "/" }) }), _jsx("text", { fg: "#888888", children: "type to filter \u00B7" }), _jsx("text", { fg: "#555555", children: "esc clear \u00B7 enter apply" })] }));
21
+ return (_jsxs("box", { style: filteringFooterStyle, children: [_jsx("box", { style: filterKeyStyle, children: _jsx("text", { fg: "#000000", children: "/" }) }), _jsx("text", { fg: "#888888", children: "type to filter \u00B7" }), _jsx("text", { fg: "#555555", children: "esc clear \u00B7 enter apply" })] }));
13
22
  }
14
- return (_jsx("box", { style: { height: 1, width: "100%", backgroundColor: "#1a1a2e", paddingLeft: 2 }, children: _jsx("text", { fg: "#888888", children: "↑↓ navigate s/⏎ start x stop / filter r refresh q quit" }) }));
23
+ return (_jsx("box", { style: footerStyle, children: _jsx("text", { fg: "#888888", children: "↑↓ navigate s/⏎ start x stop / filter r refresh q quit" }) }));
15
24
  }
16
25
  //# sourceMappingURL=Footer.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/tui/components/Footer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAEhD,MAAM,UAAU,MAAM;IACpB,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;IAEjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,eACE,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,EAAS,aAE5G,cAAK,KAAK,EAAE,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAS,YAChF,eAAM,EAAE,EAAC,SAAS,kBAAS,GACvB,EACN,eAAM,EAAE,EAAC,SAAS,sCAAwB,EAC1C,eAAM,EAAE,EAAC,SAAS,6CAA+B,IAC7C,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAS,YACzF,eAAM,EAAE,EAAC,SAAS,YAAE,6DAA6D,GAAQ,GACrF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Footer.js","sourceRoot":"","sources":["../../../../src/tui/components/Footer.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAA;AAIhD,MAAM,oBAAoB,GAAG;IAC3B,MAAM,EAAE,CAAC;IACT,KAAK,EAAE,MAAM;IACb,eAAe,EAAE,SAAS;IAC1B,aAAa,EAAE,KAAK;IACpB,WAAW,EAAE,CAAC;CACI,CAAA;AACpB,MAAM,cAAc,GAAG,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAE,YAAY,EAAE,CAAC,EAAqB,CAAA;AACzG,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,EAAqB,CAAA;AAE/G,MAAM,UAAU,MAAM;IACpB,MAAM,WAAW,GAAG,YAAY,CAAC,eAAe,CAAC,CAAA;IAEjD,IAAI,WAAW,EAAE,CAAC;QAChB,OAAO,CACL,eAAK,KAAK,EAAE,oBAAoB,aAC9B,cAAK,KAAK,EAAE,cAAc,YACxB,eAAM,EAAE,EAAC,SAAS,kBAAS,GACvB,EACN,eAAM,EAAE,EAAC,SAAS,sCAAwB,EAC1C,eAAM,EAAE,EAAC,SAAS,6CAA+B,IAC7C,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,cAAK,KAAK,EAAE,WAAW,YACrB,eAAM,EAAE,EAAC,SAAS,YAAE,6DAA6D,GAAQ,GACrF,CACP,CAAA;AACH,CAAC"}
@@ -7,11 +7,12 @@ import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
7
7
  import { useAtomValue } from "@effect/atom-react";
8
8
  import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
9
9
  import { timerStateAtom } from "../atoms/timer.js";
10
+ const headerStyle = { height: 1, width: "100%", backgroundColor: "#1a1a2e", flexDirection: "row" };
10
11
  export function Header() {
11
12
  const timerResult = useAtomValue(timerStateAtom);
12
13
  const timerState = AsyncResult.isSuccess(timerResult) ? timerResult.value : null;
13
14
  const statusIcon = timerState?.active ? "●" : "○";
14
15
  const statusColor = timerState?.active ? "#00CC66" : "#888888";
15
- return (_jsxs("box", { style: { height: 1, width: "100%", backgroundColor: "#1a1a2e", flexDirection: "row" }, children: [_jsx("text", { fg: statusColor, style: { fontWeight: "bold" }, children: ` ${statusIcon} ` }), timerState?.active && timerState.ticketKey ? (_jsx("text", { fg: "#00CCFF", style: { fontWeight: "bold" }, children: timerState.ticketKey })) : (_jsx("text", { fg: "#888888", children: "jcf" })), timerState?.active && timerState.summary ? (_jsx("text", { fg: "#888888", children: ` ${timerState.summary.slice(0, 50)}` })) : null, timerState?.active && timerState.projectName ? (_jsx("text", { fg: "#555555", children: ` [${timerState.projectName}]` })) : null] }));
16
+ return (_jsxs("box", { style: headerStyle, children: [_jsx("text", { fg: statusColor, children: ` ${statusIcon} ` }), timerState?.active && timerState.ticketKey ? (_jsx("text", { fg: "#00CCFF", children: timerState.ticketKey })) : (_jsx("text", { fg: "#888888", children: "jcf" })), timerState?.active && timerState.summary ? (_jsx("text", { fg: "#888888", children: ` ${timerState.summary.slice(0, 50)}` })) : null, timerState?.active && timerState.projectName ? (_jsx("text", { fg: "#555555", children: ` [${timerState.projectName}]` })) : null] }));
16
17
  }
17
18
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/tui/components/Header.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAElD,MAAM,UAAU,MAAM;IACpB,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAChD,MAAM,UAAU,GAAsB,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnG,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACjD,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9D,OAAO,CACL,eAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAS,aAC/F,eAAM,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YACxD,KAAK,UAAU,GAAG,GACd,EACN,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC5C,eAAM,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YACpD,UAAU,CAAC,SAAS,GAChB,CACR,CAAC,CAAC,CAAC,CACF,eAAM,EAAE,EAAC,SAAS,oBAAW,CAC9B,EACA,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1C,eAAM,EAAE,EAAC,SAAS,YAAE,KAAK,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAQ,CACnE,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9C,eAAM,EAAE,EAAC,SAAS,YAAE,MAAM,UAAU,CAAC,WAAW,GAAG,GAAQ,CAC5D,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../../src/tui/components/Header.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AAEjD,OAAO,KAAK,WAAW,MAAM,wCAAwC,CAAA;AAErE,OAAO,EAAE,cAAc,EAAE,MAAM,mBAAmB,CAAA;AAIlD,MAAM,WAAW,GAAG,EAAE,MAAM,EAAE,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,aAAa,EAAE,KAAK,EAAqB,CAAA;AAErH,MAAM,UAAU,MAAM;IACpB,MAAM,WAAW,GAAG,YAAY,CAAC,cAAc,CAAC,CAAA;IAChD,MAAM,UAAU,GAAsB,WAAW,CAAC,SAAS,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAA;IAEnG,MAAM,UAAU,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAA;IACjD,MAAM,WAAW,GAAG,UAAU,EAAE,MAAM,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAE9D,OAAO,CACL,eAAK,KAAK,EAAE,WAAW,aACrB,eAAM,EAAE,EAAE,WAAW,YAAG,KAAK,UAAU,GAAG,GAAQ,EACjD,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAC5C,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,SAAS,GAAQ,CACjD,CAAC,CAAC,CAAC,CACF,eAAM,EAAE,EAAC,SAAS,oBAAW,CAC9B,EACA,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,CAC1C,eAAM,EAAE,EAAC,SAAS,YAAE,KAAK,UAAU,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,GAAQ,CACnE,CAAC,CAAC,CAAC,IAAI,EACP,UAAU,EAAE,MAAM,IAAI,UAAU,CAAC,WAAW,CAAC,CAAC,CAAC,CAC9C,eAAM,EAAE,EAAC,SAAS,YAAE,MAAM,UAAU,CAAC,WAAW,GAAG,GAAQ,CAC5D,CAAC,CAAC,CAAC,IAAI,IACJ,CACP,CAAA;AACH,CAAC"}
@@ -1,5 +1,10 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "@opentui/react/jsx-runtime";
2
- export function PopupInput({ onCancel, onSubmit, placeholder, title }) {
2
+ export function PopupInput({ defaultValue, error, onCancel: _onCancel, onSubmit, placeholder, title }) {
3
+ function handleSubmit(valueOrEvent) {
4
+ if (typeof valueOrEvent === "string") {
5
+ onSubmit(valueOrEvent);
6
+ }
7
+ }
3
8
  return (_jsxs("box", { style: {
4
9
  position: "absolute",
5
10
  top: 0,
@@ -17,14 +22,14 @@ export function PopupInput({ onCancel, onSubmit, placeholder, title }) {
17
22
  backgroundColor: "rgba(0,0,0,0.6)"
18
23
  } }), _jsxs("box", { style: {
19
24
  width: 60,
20
- height: 7,
25
+ height: error ? 8 : 7,
21
26
  flexDirection: "column",
22
27
  backgroundColor: "#1a1a2e",
23
- border: 1,
24
- borderColor: "#444466",
28
+ border: true,
29
+ borderColor: error ? "#FF4444" : "#444466",
25
30
  paddingLeft: 2,
26
31
  paddingRight: 2,
27
32
  paddingTop: 1
28
- }, children: [_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#FFCC00", style: { fontWeight: "bold" }, children: title }) }), _jsx("box", { style: { height: 1, marginTop: 1 }, children: _jsx("input", { focused: true, placeholder: placeholder ?? "", onSubmit: ((value) => onSubmit(value)), style: { width: "100%", backgroundColor: "#0f0f1a", fg: "#FFFFFF" } }) }), _jsx("box", { style: { height: 1, marginTop: 1 }, children: _jsx("text", { fg: "#888888", children: "enter: confirm esc: cancel" }) })] })] }));
33
+ }, children: [_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: "#FFCC00", children: title }) }), _jsx("box", { style: { height: 1, marginTop: 1 }, children: _jsx("input", { focused: true, value: defaultValue ?? "", placeholder: placeholder ?? "", onSubmit: handleSubmit, style: { width: "100%", backgroundColor: "#0f0f1a", textColor: "#FFFFFF" } }) }), error ? (_jsx("box", { style: { height: 1, marginTop: 1 }, children: _jsx("text", { fg: "#FF6666", children: error }) })) : null, _jsx("box", { style: { height: 1, marginTop: 1 }, children: _jsx("text", { fg: "#888888", children: "enter: confirm esc: cancel" }) })] })] }));
29
34
  }
30
35
  //# sourceMappingURL=PopupInput.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupInput.js","sourceRoot":"","sources":["../../../../src/tui/components/PopupInput.tsx"],"names":[],"mappings":";AAYA,MAAM,UAAU,UAAU,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,WAAW,EAAE,KAAK,EAAmB;IACpF,OAAO,CACL,eACE,KAAK,EACH;YACE,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;SACd,aAIV,cACE,KAAK,EACH;oBACE,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,eAAe,EAAE,iBAAiB;iBAC5B,GAEV,EAGF,eACE,KAAK,EACH;oBACE,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,CAAC;oBACT,aAAa,EAAE,QAAQ;oBACvB,eAAe,EAAE,SAAS;oBAC1B,MAAM,EAAE,CAAC;oBACT,WAAW,EAAE,SAAS;oBACtB,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;iBACP,aAIV,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YACvB,eAAM,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YACpD,KAAK,GACD,GACH,EAGN,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAS,YAC5C,gBACE,OAAO,QACP,WAAW,EAAE,WAAW,IAAI,EAAE,EAC9B,QAAQ,EAAE,CAAC,CAAC,KAAa,EAAE,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAQ,EACrD,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,EAAE,EAAE,SAAS,EAAS,GAC1E,GACE,EAGN,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAS,YAC5C,eAAM,EAAE,EAAC,SAAS,2CAAkC,GAChD,IACF,IACF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"PopupInput.js","sourceRoot":"","sources":["../../../../src/tui/components/PopupInput.tsx"],"names":[],"mappings":";AAgBA,MAAM,UAAU,UAAU,CAAC,EACzB,YAAY,EACZ,KAAK,EACL,QAAQ,EAAE,SAAS,EACnB,QAAQ,EACR,WAAW,EACX,KAAK,EACW;IAGhB,SAAS,YAAY,CAAC,YAA6B;QACjD,IAAI,OAAO,YAAY,KAAK,QAAQ,EAAE,CAAC;YACrC,QAAQ,CAAC,YAAY,CAAC,CAAA;QACxB,CAAC;IACH,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE;YACL,QAAQ,EAAE,UAAU;YACpB,GAAG,EAAE,CAAC;YACN,IAAI,EAAE,CAAC;YACP,KAAK,EAAE,MAAM;YACb,MAAM,EAAE,MAAM;YACd,cAAc,EAAE,QAAQ;YACxB,UAAU,EAAE,QAAQ;SACrB,aAGD,cACE,KAAK,EAAE;oBACL,QAAQ,EAAE,UAAU;oBACpB,GAAG,EAAE,CAAC;oBACN,IAAI,EAAE,CAAC;oBACP,KAAK,EAAE,MAAM;oBACb,MAAM,EAAE,MAAM;oBACd,eAAe,EAAE,iBAAiB;iBACnC,GACD,EAGF,eACE,KAAK,EAAE;oBACL,KAAK,EAAE,EAAE;oBACT,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;oBACrB,aAAa,EAAE,QAAQ;oBACvB,eAAe,EAAE,SAAS;oBAC1B,MAAM,EAAE,IAAI;oBACZ,WAAW,EAAE,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS;oBAC1C,WAAW,EAAE,CAAC;oBACd,YAAY,EAAE,CAAC;oBACf,UAAU,EAAE,CAAC;iBACd,aAGD,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,YACvB,eAAM,EAAE,EAAC,SAAS,YAAE,KAAK,GAAQ,GAC7B,EAGN,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YACrC,gBACE,OAAO,QACP,KAAK,EAAE,YAAY,IAAI,EAAE,EACzB,WAAW,EAAE,WAAW,IAAI,EAAE,EAC9B,QAAQ,EAAE,YAAY,EACtB,KAAK,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,eAAe,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,GAC1E,GACE,EAGL,KAAK,CAAC,CAAC,CAAC,CACP,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YACrC,eAAM,EAAE,EAAC,SAAS,YAAE,KAAK,GAAQ,GAC7B,CACP,CAAC,CAAC,CAAC,IAAI,EAGR,cAAK,KAAK,EAAE,EAAE,MAAM,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,YACrC,eAAM,EAAE,EAAC,SAAS,2CAAkC,GAChD,IACF,IACF,CACP,CAAA;AACH,CAAC"}
@@ -15,7 +15,7 @@ const typeIcons = {
15
15
  error: "✗",
16
16
  info: "●"
17
17
  };
18
- export function PopupMessage({ lines, onDismiss, onRetry, retrying = false, title, type = "info" }) {
18
+ export function PopupMessage({ dismissLabel = "OK", lines, onDismiss, onEdit, onRetry, retrying = false, title, type = "info" }) {
19
19
  const color = typeColors[type];
20
20
  const icon = typeIcons[type];
21
21
  useKeyboard((key) => {
@@ -23,6 +23,10 @@ export function PopupMessage({ lines, onDismiss, onRetry, retrying = false, titl
23
23
  onRetry();
24
24
  return;
25
25
  }
26
+ if (onEdit && (key.name === "e" || key.char === "e")) {
27
+ onEdit();
28
+ return;
29
+ }
26
30
  if (key.name === "return" || key.name === "escape" || key.name === "q") {
27
31
  onDismiss();
28
32
  }
@@ -42,11 +46,11 @@ export function PopupMessage({ lines, onDismiss, onRetry, retrying = false, titl
42
46
  height,
43
47
  flexDirection: "column",
44
48
  backgroundColor: "#1a1a2e",
45
- border: 1,
49
+ border: true,
46
50
  borderColor: color,
47
51
  paddingLeft: 2,
48
52
  paddingRight: 2,
49
53
  paddingTop: 1
50
- }, children: [_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: color, style: { fontWeight: "bold" }, children: `${icon} ${title}` }) }), _jsx("box", { style: { height: 1 } }), lines.map((line, i) => (_jsx("box", { style: { height: 1 }, children: _jsx("text", { fg: line.color ?? "#CCCCCC", children: ` ${line.text}` }) }, i))), _jsx("box", { style: { height: 1 } }), _jsxs("box", { style: { height: 1, justifyContent: "center", gap: 2 }, children: [onRetry ? (_jsx("box", { style: { backgroundColor: retryBg, paddingLeft: 2, paddingRight: 2 }, children: _jsx("text", { fg: "#000000", style: { fontWeight: "bold" }, children: retrying ? "Retrying…" : "Retry (r)" }) })) : null, _jsx("box", { style: { backgroundColor: color, paddingLeft: 2, paddingRight: 2 }, children: _jsx("text", { fg: "#000000", style: { fontWeight: "bold" }, children: "OK (enter)" }) })] })] }) }));
54
+ }, children: [_jsx("box", { style: { height: 1, flexDirection: "row", justifyContent: "center" }, children: _jsx("text", { fg: color, children: `${icon} ${title}` }) }), _jsx("box", { style: { height: 1 } }), lines.map((line, i) => (_jsx("box", { style: { height: 1, flexDirection: "row", justifyContent: "center" }, children: _jsx("text", { fg: line.color ?? "#CCCCCC", children: line.text }) }, i))), _jsx("box", { style: { height: 1 } }), _jsxs("box", { style: { height: 1, flexDirection: "row", justifyContent: "center", gap: 2 }, children: [onRetry ? (_jsx("box", { style: { backgroundColor: retryBg, paddingLeft: 2, paddingRight: 2 }, children: _jsx("text", { fg: "#000000", children: retrying ? "Retrying…" : "Retry (r)" }) })) : null, onEdit ? (_jsx("box", { style: { backgroundColor: "#FFAA00", paddingLeft: 2, paddingRight: 2 }, children: _jsx("text", { fg: "#000000", children: "Edit end (e)" }) })) : null, _jsx("box", { style: { backgroundColor: color, paddingLeft: 2, paddingRight: 2 }, children: _jsx("text", { fg: "#000000", children: `${dismissLabel} (enter)` }) })] })] }) }));
51
55
  }
52
56
  //# sourceMappingURL=PopupMessage.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"PopupMessage.js","sourceRoot":"","sources":["../../../../src/tui/components/PopupMessage.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"PopupMessage.js","sourceRoot":"","sources":["../../../../src/tui/components/PopupMessage.tsx"],"names":[],"mappings":"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"}
@@ -9,6 +9,9 @@ import * as AsyncResult from "effect/unstable/reactivity/AsyncResult";
9
9
  import { ticketsAtom } from "../atoms/tickets.js";
10
10
  import { filterTextAtom, isFilteringAtom, selectedIndexAtom } from "../atoms/ui.js";
11
11
  import { TicketRow } from "./TicketRow.js";
12
+ const fillStyle = { flexGrow: 1, paddingLeft: 2 };
13
+ const listStyle = { flexDirection: "column", flexGrow: 1 };
14
+ const sectionHeaderStyle = { height: 1, paddingLeft: 2, paddingTop: 1 };
12
15
  export function TicketList() {
13
16
  const ticketResult = useAtomValue(ticketsAtom);
14
17
  const selectedIndex = useAtomValue(selectedIndexAtom);
@@ -16,10 +19,10 @@ export function TicketList() {
16
19
  const isFiltering = useAtomValue(isFilteringAtom);
17
20
  const ticketState = AsyncResult.isSuccess(ticketResult) ? ticketResult.value : null;
18
21
  if (!ticketState || ticketState.loading) {
19
- return (_jsx("box", { style: { flexGrow: 1, paddingLeft: 2 }, children: _jsx("text", { fg: "#FFCC00", children: "Loading tickets..." }) }));
22
+ return (_jsx("box", { style: fillStyle, children: _jsx("text", { fg: "#FFCC00", children: "Loading tickets..." }) }));
20
23
  }
21
24
  if (ticketState.error) {
22
- return (_jsx("box", { style: { flexGrow: 1, paddingLeft: 2 }, children: _jsxs("text", { fg: "#FF4444", children: ["Error: ", ticketState.error] }) }));
25
+ return (_jsx("box", { style: fillStyle, children: _jsxs("text", { fg: "#FF4444", children: ["Error: ", ticketState.error] }) }));
23
26
  }
24
27
  // Apply filter
25
28
  let tickets = ticketState.tickets;
@@ -30,12 +33,8 @@ export function TicketList() {
30
33
  t.status.toLowerCase().includes(lower));
31
34
  }
32
35
  if (tickets.length === 0) {
33
- return (_jsx("box", { style: { flexGrow: 1, paddingLeft: 2 }, children: _jsx("text", { fg: "#888888", children: filterText ? `No tickets matching "${filterText}"` : "No tickets found" }) }));
36
+ return (_jsx("box", { style: fillStyle, children: _jsx("text", { fg: "#888888", children: filterText ? `No tickets matching "${filterText}"` : "No tickets found" }) }));
34
37
  }
35
- return (_jsxs("box", { style: { flexDirection: "column", flexGrow: 1 }, children: [_jsxs("box", { style: {
36
- height: 1,
37
- paddingLeft: 2,
38
- paddingTop: 1
39
- }, children: [_jsx("text", { fg: "#FFCC00", style: { fontWeight: "bold" }, children: "TICKETS" }), _jsx("text", { fg: "#888888", children: ` (${tickets.length})` }), isFiltering ? _jsx("text", { fg: "#00CCFF", children: ` filter: ${filterText}│` }) : null] }), tickets.map((ticket, i) => (_jsx(TicketRow, { ticket: ticket, selected: i === selectedIndex }, ticket.key)))] }));
38
+ return (_jsxs("box", { style: listStyle, children: [_jsxs("box", { style: sectionHeaderStyle, children: [_jsx("text", { fg: "#FFCC00", children: "TICKETS" }), _jsx("text", { fg: "#888888", children: ` (${tickets.length})` }), isFiltering ? _jsx("text", { fg: "#00CCFF", children: ` filter: ${filterText}│` }) : null] }), tickets.map((ticket, i) => (_jsx(TicketRow, { ticket: ticket, selected: i === selectedIndex }, ticket.key)))] }));
40
39
  }
41
40
  //# sourceMappingURL=TicketList.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketList.js","sourceRoot":"","sources":["../../../../src/tui/components/TicketList.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TicketList.js","sourceRoot":"","sources":["../../../../src/tui/components/TicketList.tsx"],"names":[],"mappings":"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"}
@@ -38,11 +38,12 @@ export function TicketRow({ selected, ticket }) {
38
38
  const bg = selected ? "#1a2744" : undefined;
39
39
  const keyFg = selected ? "#00CCFF" : "#FFFFFF";
40
40
  const summaryFg = selected ? "#CCCCCC" : "#999999";
41
- return (_jsxs("box", { style: {
42
- height: 1,
43
- flexDirection: "row",
44
- paddingLeft: 1,
45
- ...(bg ? { backgroundColor: bg } : {})
46
- }, children: [_jsx("text", { fg: keyFg, children: selected ? "❯" : " " }), _jsx("text", { fg: "#888888", children: typeIcon(ticket.type) }), _jsx("text", { fg: keyFg, style: { fontWeight: "bold" }, children: ticket.key.padEnd(12) }), _jsx("text", { fg: summaryFg, children: ticket.summary.slice(0, 50).padEnd(50) }), _jsx("text", { fg: statusColor(ticket.status), children: ` ${ticket.status}` })] }));
41
+ const rowStyle = {
42
+ height: 1,
43
+ flexDirection: "row",
44
+ paddingLeft: 1,
45
+ ...(bg ? { backgroundColor: bg } : {})
46
+ };
47
+ return (_jsxs("box", { style: rowStyle, children: [_jsx("text", { fg: keyFg, children: selected ? "❯" : " " }), _jsx("text", { fg: "#888888", children: typeIcon(ticket.type) }), _jsx("text", { fg: keyFg, children: ticket.key.padEnd(12) }), _jsx("text", { fg: summaryFg, children: ticket.summary.slice(0, 50).padEnd(50) }), _jsx("text", { fg: statusColor(ticket.status), children: ` ${ticket.status}` })] }));
47
48
  }
48
49
  //# sourceMappingURL=TicketRow.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TicketRow.js","sourceRoot":"","sources":["../../../../src/tui/components/TicketRow.tsx"],"names":[],"mappings":";AAYA,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAA;IACzE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/D,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAA;IAChE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IACjE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IACxC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,IAAI,CAAA;QACb,KAAK,OAAO;YACV,OAAO,IAAI,CAAA;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAA;QACZ,KAAK,MAAM;YACT,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,GAAG,CAAA;QACZ;YACE,OAAO,GAAG,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAkB;IAC5D,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAElD,OAAO,CACL,eACE,KAAK,EACH;YACE,MAAM,EAAE,CAAC;YACT,aAAa,EAAE,KAAK;YACpB,WAAW,EAAE,CAAC;YACd,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAChC,aAGV,eAAM,EAAE,EAAE,KAAK,YAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,EAC9C,eAAM,EAAE,EAAC,SAAS,YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAQ,EACjD,eAAM,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YAClD,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GACjB,EACP,eAAM,EAAE,EAAE,SAAS,YAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EACpE,eAAM,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAQ,IAC9D,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"TicketRow.js","sourceRoot":"","sources":["../../../../src/tui/components/TicketRow.tsx"],"names":[],"mappings":";AAeA,MAAM,WAAW,GAAG,CAAC,MAAc,EAAU,EAAE;IAC7C,MAAM,CAAC,GAAG,MAAM,CAAC,WAAW,EAAE,CAAA;IAC9B,IAAI,CAAC,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,aAAa,CAAC;QAAE,OAAO,SAAS,CAAA;IACzE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAA;IAC1C,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC;QAAE,OAAO,SAAS,CAAA;IAC/D,IAAI,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAA;IAChE,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,YAAY,CAAC;QAAE,OAAO,SAAS,CAAA;IACrE,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,QAAQ,CAAC,OAAO,CAAC;QAAE,OAAO,SAAS,CAAA;IACjE,IAAI,CAAC,CAAC,QAAQ,CAAC,WAAW,CAAC;QAAE,OAAO,SAAS,CAAA;IAC7C,OAAO,SAAS,CAAA;AAClB,CAAC,CAAA;AAED,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAU,EAAE;IACxC,QAAQ,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC;QAC3B,KAAK,KAAK;YACR,OAAO,IAAI,CAAA;QACb,KAAK,OAAO;YACV,OAAO,IAAI,CAAA;QACb,KAAK,MAAM;YACT,OAAO,GAAG,CAAA;QACZ,KAAK,MAAM;YACT,OAAO,GAAG,CAAA;QACZ,KAAK,SAAS,CAAC;QACf,KAAK,UAAU;YACb,OAAO,GAAG,CAAA;QACZ;YACE,OAAO,GAAG,CAAA;IACd,CAAC;AACH,CAAC,CAAA;AAED,MAAM,UAAU,SAAS,CAAC,EAAE,QAAQ,EAAE,MAAM,EAAkB;IAC5D,MAAM,EAAE,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC3C,MAAM,KAAK,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAC9C,MAAM,SAAS,GAAG,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAA;IAClD,MAAM,QAAQ,GAAG;QACf,MAAM,EAAE,CAAC;QACT,aAAa,EAAE,KAAK;QACpB,WAAW,EAAE,CAAC;QACd,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;KACpB,CAAA;IAEpB,OAAO,CACL,eAAK,KAAK,EAAE,QAAQ,aAClB,eAAM,EAAE,EAAE,KAAK,YAAG,QAAQ,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,GAAQ,EAC9C,eAAM,EAAE,EAAC,SAAS,YAAE,QAAQ,CAAC,MAAM,CAAC,IAAI,CAAC,GAAQ,EACjD,eAAM,EAAE,EAAE,KAAK,YAAG,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EAC/C,eAAM,EAAE,EAAE,SAAS,YAAG,MAAM,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC,GAAQ,EACpE,eAAM,EAAE,EAAE,WAAW,CAAC,MAAM,CAAC,MAAM,CAAC,YAAG,IAAI,MAAM,CAAC,MAAM,EAAE,GAAQ,IAC9D,CACP,CAAA;AACH,CAAC"}
@@ -25,6 +25,6 @@ export function TimerDisplay() {
25
25
  backgroundColor: "#0a1628",
26
26
  paddingLeft: 2,
27
27
  paddingTop: 1
28
- }, children: [_jsxs("box", { style: { flexDirection: "row", gap: 2 }, children: [_jsx("text", { fg: "#00CC66", style: { fontWeight: "bold" }, children: "\u25CF" }), _jsx("text", { fg: "#00CCFF", style: { fontWeight: "bold" }, children: formatElapsed(elapsed) }), _jsx("text", { fg: "#888888", children: formatDuration(elapsed) })] }), _jsxs("box", { style: { flexDirection: "row", gap: 1, paddingLeft: 2 }, children: [_jsx("text", { fg: "#FFFFFF", style: { fontWeight: "bold" }, children: timerState.ticketKey }), _jsx("text", { fg: "#AAAAAA", children: timerState.summary ?? "" })] }), _jsxs("box", { style: { flexDirection: "row", gap: 2, paddingLeft: 2 }, children: [timerState.projectId ? _jsx("text", { fg: "#555555", children: "proj" }) : null, timerState.billable !== null ? (_jsx("text", { fg: "#555555", children: timerState.billable ? "billable" : "non-billable" })) : null] })] }));
28
+ }, children: [_jsxs("box", { style: { flexDirection: "row", gap: 2 }, children: [_jsx("text", { fg: "#00CC66", children: "\u25CF" }), _jsx("text", { fg: "#00CCFF", children: formatElapsed(elapsed) }), _jsx("text", { fg: "#888888", children: formatDuration(elapsed) })] }), _jsxs("box", { style: { flexDirection: "row", gap: 1, paddingLeft: 2 }, children: [_jsx("text", { fg: "#FFFFFF", children: timerState.ticketKey }), _jsx("text", { fg: "#AAAAAA", children: timerState.summary ?? "" })] }), _jsxs("box", { style: { flexDirection: "row", gap: 2, paddingLeft: 2 }, children: [timerState.projectId ? _jsx("text", { fg: "#555555", children: "proj" }) : null, timerState.billable !== null ? (_jsx("text", { fg: "#555555", children: timerState.billable ? "billable" : "non-billable" })) : null] })] }));
29
29
  }
30
30
  //# sourceMappingURL=TimerDisplay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"TimerDisplay.js","sourceRoot":"","sources":["../../../../src/tui/components/TimerDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IAEjD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CACL,cACE,KAAK,EACH;gBACE,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,MAAM;gBACb,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,SAAS;aACpB,YAGV,eAAM,EAAE,EAAC,SAAS,6EAA+D,GAC7E,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eACE,KAAK,EACH;YACE,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,SAAS;YAC1B,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;SACP,aAGV,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,aAC1C,eAAM,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,uBAEhD,EACP,eAAM,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YACpD,aAAa,CAAC,OAAO,CAAC,GAClB,EACP,eAAM,EAAE,EAAC,SAAS,YAAE,cAAc,CAAC,OAAO,CAAC,GAAQ,IAC/C,EACN,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAS,aACjE,eAAM,EAAE,EAAC,SAAS,EAAC,KAAK,EAAE,EAAE,UAAU,EAAE,MAAM,EAAS,YACpD,UAAU,CAAC,SAAS,GAChB,EACP,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,OAAO,IAAI,EAAE,GAAQ,IAChD,EACN,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAS,aAChE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,eAAM,EAAE,EAAC,SAAS,qBAAY,CAAC,CAAC,CAAC,IAAI,EAC5D,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAC9B,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAQ,CAC9E,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAA;AACH,CAAC"}
1
+ {"version":3,"file":"TimerDisplay.js","sourceRoot":"","sources":["../../../../src/tui/components/TimerDisplay.tsx"],"names":[],"mappings":";AAAA;;;;GAIG;AACH,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACnE,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAA;AAE7D,MAAM,UAAU,YAAY;IAC1B,MAAM,EAAE,OAAO,EAAE,UAAU,EAAE,GAAG,eAAe,EAAE,CAAA;IAEjD,IAAI,CAAC,UAAU,EAAE,MAAM,EAAE,CAAC;QACxB,OAAO,CACL,cACE,KAAK,EAAE;gBACL,MAAM,EAAE,CAAC;gBACT,KAAK,EAAE,MAAM;gBACb,aAAa,EAAE,QAAQ;gBACvB,UAAU,EAAE,QAAQ;gBACpB,cAAc,EAAE,QAAQ;gBACxB,eAAe,EAAE,SAAS;aAC3B,YAED,eAAM,EAAE,EAAC,SAAS,6EAA+D,GAC7E,CACP,CAAA;IACH,CAAC;IAED,OAAO,CACL,eACE,KAAK,EAAE;YACL,MAAM,EAAE,CAAC;YACT,KAAK,EAAE,MAAM;YACb,aAAa,EAAE,QAAQ;YACvB,eAAe,EAAE,SAAS;YAC1B,WAAW,EAAE,CAAC;YACd,UAAU,EAAE,CAAC;SACd,aAED,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,aAC1C,eAAM,EAAE,EAAC,SAAS,uBAAS,EAC3B,eAAM,EAAE,EAAC,SAAS,YAAE,aAAa,CAAC,OAAO,CAAC,GAAQ,EAClD,eAAM,EAAE,EAAC,SAAS,YAAE,cAAc,CAAC,OAAO,CAAC,GAAQ,IAC/C,EACN,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,aAC1D,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,SAAS,GAAQ,EAChD,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,OAAO,IAAI,EAAE,GAAQ,IAChD,EACN,eAAK,KAAK,EAAE,EAAE,aAAa,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,EAAE,WAAW,EAAE,CAAC,EAAE,aACzD,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,eAAM,EAAE,EAAC,SAAS,qBAAY,CAAC,CAAC,CAAC,IAAI,EAC5D,UAAU,CAAC,QAAQ,KAAK,IAAI,CAAC,CAAC,CAAC,CAC9B,eAAM,EAAE,EAAC,SAAS,YAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,cAAc,GAAQ,CAC9E,CAAC,CAAC,CAAC,IAAI,IACJ,IACF,CACP,CAAA;AACH,CAAC"}
@@ -1,5 +1,7 @@
1
+ import { useTerminalDimensions } from "@opentui/react";
2
+ /** Live terminal width in columns, tracking resizes (was previously hardcoded to 80). */
1
3
  export function useTerminalSize() {
2
- return 80;
4
+ return useTerminalDimensions().width;
3
5
  }
4
6
  export function useDisplayMode() {
5
7
  const cols = useTerminalSize();
@@ -1 +1 @@
1
- {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../../src/tui/hooks/useTerminalSize.tsx"],"names":[],"mappings":"AAEA,MAAM,UAAU,eAAe;IAC7B,OAAO,EAAE,CAAA;AACX,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC"}
1
+ {"version":3,"file":"useTerminalSize.js","sourceRoot":"","sources":["../../../../src/tui/hooks/useTerminalSize.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,MAAM,gBAAgB,CAAA;AAGtD,yFAAyF;AACzF,MAAM,UAAU,eAAe;IAC7B,OAAO,qBAAqB,EAAE,CAAC,KAAK,CAAA;AACtC,CAAC;AAED,MAAM,UAAU,cAAc;IAC5B,MAAM,IAAI,GAAG,eAAe,EAAE,CAAA;IAC9B,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,IAAI,IAAI,GAAG,EAAE;QAAE,OAAO,SAAS,CAAA;IAC/B,OAAO,MAAM,CAAA;AACf,CAAC"}
@@ -3,6 +3,10 @@
3
3
  *
4
4
  * @module
5
5
  */
6
+ /** Format a `Date` as local `HH:MM` — the canonical clock format for prompts and confirmations. */
7
+ export function formatClock(date) {
8
+ return `${String(date.getHours()).padStart(2, "0")}:${String(date.getMinutes()).padStart(2, "0")}`;
9
+ }
6
10
  /** Format seconds as `HH:MM:SS`. Negative input is clamped to 0. */
7
11
  export function formatElapsed(seconds) {
8
12
  const clamped = Math.max(0, seconds);
@@ -70,4 +74,72 @@ export function parseStartTime(input, now = new Date()) {
70
74
  const parsed = new Date(trimmed);
71
75
  return isNaN(parsed.getTime()) ? null : parsed;
72
76
  }
77
+ /** Bare `HH:MM` (no date) — the form that gets the "roll back to yesterday" treatment. */
78
+ const HH_MM = /^(\d{1,2}):(\d{2})$/;
79
+ /**
80
+ * `HH:MM` for times on `now`'s calendar day, else `HH:MM on YYYY-MM-DD`. Used in error
81
+ * messages so a bare `HH:MM` that was rolled back to yesterday doesn't read as a nonsense
82
+ * comparison (e.g. "16:00 is at or before the start 10:00" when 16:00 means *last night*).
83
+ */
84
+ function formatClockDated(date, now) {
85
+ const sameDay = date.getFullYear() === now.getFullYear() &&
86
+ date.getMonth() === now.getMonth() &&
87
+ date.getDate() === now.getDate();
88
+ if (sameDay)
89
+ return formatClock(date);
90
+ const ymd = `${date.getFullYear()}-${String(date.getMonth() + 1).padStart(2, "0")}-${String(date.getDate()).padStart(2, "0")}`;
91
+ return `${formatClock(date)} on ${ymd}`;
92
+ }
93
+ /**
94
+ * Resolve a corrected timer end for an End Correction — the user forgot to stop
95
+ * and is pulling the end back to when work actually finished.
96
+ *
97
+ * Accepts the same grammar as {@link parseStartTime} — `HH:MM` (local, today) or
98
+ * a full ISO-8601 timestamp — with one extra rule: a bare `HH:MM` that would land
99
+ * *after* `now` is rolled back to the previous local day. That is the overnight
100
+ * "forgot to stop" case: typing `18:00` at 09:00 means yesterday at 18:00. The
101
+ * rollback moves the calendar day (not a raw −24h) so it stays on the intended
102
+ * wall-clock time across a DST boundary. A full ISO timestamp carries its own
103
+ * date and is never rolled back — it is the escape hatch for ends more than a
104
+ * day ago.
105
+ *
106
+ * Enforces the End Correction bounds `start < end <= now`, returning a specific
107
+ * reason on violation so callers can re-prompt. Never clamps a bad value.
108
+ */
109
+ export function resolveCorrectedEnd(params) {
110
+ const trimmed = params.input.trim();
111
+ if (!trimmed) {
112
+ return { ok: false, error: "Enter an end time as HH:MM (today) or a full ISO timestamp." };
113
+ }
114
+ let end;
115
+ if (HH_MM.test(trimmed)) {
116
+ const parsed = parseStartTime(trimmed, params.now);
117
+ if (!parsed)
118
+ return { ok: false, error: "Invalid time. Use HH:MM (24-hour), e.g. 17:30." };
119
+ // Bare HH:MM lands on today by default; if that is still in the future the
120
+ // user means the same clock time yesterday (they forgot overnight).
121
+ if (parsed.getTime() > params.now.getTime())
122
+ parsed.setDate(parsed.getDate() - 1);
123
+ end = parsed;
124
+ }
125
+ else if (isFullIsoTimestamp(trimmed)) {
126
+ const parsed = parseStartTime(trimmed, params.now);
127
+ if (!parsed)
128
+ return { ok: false, error: "Invalid ISO timestamp." };
129
+ end = parsed;
130
+ }
131
+ else {
132
+ return { ok: false, error: "Unrecognised time. Use HH:MM (today) or a full ISO timestamp." };
133
+ }
134
+ if (end.getTime() > params.now.getTime()) {
135
+ return { ok: false, error: `End ${formatClockDated(end, params.now)} is in the future.` };
136
+ }
137
+ if (end.getTime() <= params.start.getTime()) {
138
+ return {
139
+ ok: false,
140
+ error: `End ${formatClockDated(end, params.now)} is at or before the start ${formatClockDated(params.start, params.now)}.`
141
+ };
142
+ }
143
+ return { ok: true, end };
144
+ }
73
145
  //# sourceMappingURL=time.js.map