recappi 0.1.28 → 0.1.29

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/index.js CHANGED
@@ -611,7 +611,7 @@ function AccountView({ status }) {
611
611
  function AccountBody({ status }) {
612
612
  return /* @__PURE__ */ jsxs2(Fragment, { children: [
613
613
  /* @__PURE__ */ jsxs2(Box2, { marginTop: 1, flexDirection: "column", children: [
614
- /* @__PURE__ */ jsx4(Text2, { bold: true, color: "magenta", children: status.email ?? status.userId ?? "Signed in" }),
614
+ /* @__PURE__ */ jsx4(Text2, { bold: true, color: "green", children: status.email ?? status.userId ?? "Signed in" }),
615
615
  status.email && status.userId ? /* @__PURE__ */ jsx4(Text2, { dimColor: true, children: status.userId }) : null,
616
616
  /* @__PURE__ */ jsx4(Text2, { dimColor: true, children: `origin ${status.origin}` })
617
617
  ] }),
@@ -677,9 +677,9 @@ import { Box as Box3, Text as Text3 } from "ink";
677
677
  import { jsx as jsx5, jsxs as jsxs3 } from "react/jsx-runtime";
678
678
  function Header({ active }) {
679
679
  return /* @__PURE__ */ jsxs3(Box3, { children: [
680
- /* @__PURE__ */ jsxs3(Text3, { bold: true, color: "magenta", children: [
681
- "Recappi",
682
- " "
680
+ /* @__PURE__ */ jsxs3(Text3, { bold: true, color: "green", children: [
681
+ "\u25CF Recappi",
682
+ " "
683
683
  ] }),
684
684
  /* @__PURE__ */ jsx5(Tab, { num: "1", label: "Overview", active: active === "overview" }),
685
685
  /* @__PURE__ */ jsx5(Tab, { num: "2", label: "Jobs", active: active === "jobs" }),
@@ -691,14 +691,27 @@ function Tab({
691
691
  label,
692
692
  active
693
693
  }) {
694
- const text = ` ${num} ${label} `;
695
694
  if (active) {
696
- return /* @__PURE__ */ jsx5(Text3, { bold: true, inverse: true, color: "cyan", children: text });
695
+ return /* @__PURE__ */ jsx5(Text3, { bold: true, inverse: true, color: "cyan", children: ` ${num} ${label} ` });
697
696
  }
698
- return /* @__PURE__ */ jsx5(Text3, { children: text });
697
+ return /* @__PURE__ */ jsxs3(Text3, { dimColor: true, children: [
698
+ " ",
699
+ /* @__PURE__ */ jsx5(Text3, { color: "cyan", children: num }),
700
+ ` ${label} `
701
+ ] });
699
702
  }
700
703
  function Footer({ keys }) {
701
- return /* @__PURE__ */ jsx5(Box3, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text3, { dimColor: true, children: keys }) });
704
+ const segments = keys.split(" \xB7 ");
705
+ return /* @__PURE__ */ jsx5(Box3, { marginTop: 1, children: /* @__PURE__ */ jsx5(Text3, { children: segments.map((segment, i) => {
706
+ const space = segment.indexOf(" ");
707
+ const key = space === -1 ? segment : segment.slice(0, space);
708
+ const desc = space === -1 ? "" : segment.slice(space);
709
+ return /* @__PURE__ */ jsxs3(Text3, { children: [
710
+ i > 0 ? /* @__PURE__ */ jsx5(Text3, { dimColor: true, children: " \xB7 " }) : null,
711
+ /* @__PURE__ */ jsx5(Text3, { color: "cyan", children: key }),
712
+ /* @__PURE__ */ jsx5(Text3, { dimColor: true, children: desc })
713
+ ] }, `${segment}-${i}`);
714
+ }) }) });
702
715
  }
703
716
  var init_chrome = __esm({
704
717
  "src/tui/chrome.tsx"() {
@@ -898,7 +911,7 @@ function PeekBody({
898
911
  item.contentType || null
899
912
  ].filter(Boolean).join(" \xB7 ");
900
913
  return /* @__PURE__ */ jsxs7(Fragment2, { children: [
901
- /* @__PURE__ */ jsx10(Text8, { bold: true, color: "magenta", wrap: "truncate-end", children: recordingTitle2(item) }),
914
+ /* @__PURE__ */ jsx10(Text8, { bold: true, color: "green", wrap: "truncate-end", children: recordingTitle2(item) }),
902
915
  /* @__PURE__ */ jsx10(Text8, { color: style.color, children: `${style.glyph} ${style.label}` }),
903
916
  meta3 ? /* @__PURE__ */ jsx10(Text8, { dimColor: true, children: meta3 }) : null,
904
917
  /* @__PURE__ */ jsx10(Text8, { dimColor: true, children: formatAge(item.createdAt, nowMs) }),
@@ -1195,7 +1208,7 @@ function RecordingDetailView({
1195
1208
  });
1196
1209
  return /* @__PURE__ */ jsxs10(Box11, { flexDirection: "column", paddingX: 1, children: [
1197
1210
  /* @__PURE__ */ jsx13(Text11, { dimColor: true, children: "\u2039 Recordings" }),
1198
- /* @__PURE__ */ jsx13(Box11, { marginTop: 1, children: /* @__PURE__ */ jsx13(Text11, { bold: true, color: "magenta", children: title }) }),
1211
+ /* @__PURE__ */ jsx13(Box11, { marginTop: 1, children: /* @__PURE__ */ jsx13(Text11, { bold: true, color: "green", children: title }) }),
1199
1212
  /* @__PURE__ */ jsxs10(Text11, { children: [
1200
1213
  /* @__PURE__ */ jsx13(Text11, { color: style.color, children: `${style.glyph} ${style.label}` }),
1201
1214
  /* @__PURE__ */ jsx13(Text11, { dimColor: true, children: ` ${formatAge(item.createdAt, nowMs) || "\u2014"}` })
@@ -1368,7 +1381,7 @@ function TranscriptView({ loading, data, error: error51 }) {
1368
1381
  const more = win.maxScroll > 0;
1369
1382
  const position = total === 0 ? "" : `${win.start + 1}\u2013${win.end} / ${total}`;
1370
1383
  return /* @__PURE__ */ jsxs11(Box12, { flexDirection: "column", paddingX: 1, children: [
1371
- /* @__PURE__ */ jsxs11(Text12, { bold: true, color: "magenta", children: [
1384
+ /* @__PURE__ */ jsxs11(Text12, { bold: true, color: "green", children: [
1372
1385
  title,
1373
1386
  more ? /* @__PURE__ */ jsx14(Text12, { dimColor: true, children: ` ${position}` }) : null
1374
1387
  ] }),
@@ -1417,21 +1430,41 @@ function PermissionPreflightView({
1417
1430
  const allGranted = items.length > 0 && items.every((item) => item.status === "granted" && !item.requiresProcessRestart);
1418
1431
  const hasRestartRequired = items.some((item) => item.requiresProcessRestart);
1419
1432
  return /* @__PURE__ */ jsxs12(Box13, { flexDirection: "column", paddingX: 1, children: [
1420
- /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "\u2039 Recording permissions" }),
1433
+ /* @__PURE__ */ jsxs12(Text13, { children: [
1434
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "\u2039 " }),
1435
+ /* @__PURE__ */ jsx15(Text13, { bold: true, color: "cyan", children: "Recording permissions" })
1436
+ ] }),
1421
1437
  /* @__PURE__ */ jsx15(Box13, { marginTop: 1, flexDirection: "column", children: items.length === 0 ? /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "Checking permissions\u2026" }) : items.map((item) => {
1422
1438
  const status = statusGlyph2(item.status);
1423
- const hint = item.requiresProcessRestart ? item.hint ?? `${item.name} enabled. Run recappi record again to start.` : item.status === "granted" ? void 0 : item.hint ?? DEFAULT_HINTS[item.name];
1439
+ const restart = item.requiresProcessRestart === true;
1440
+ const color = restart ? "yellow" : status.color;
1441
+ const hint = restart ? item.hint ?? `${item.name} enabled. Run recappi record again to start.` : item.status === "granted" ? void 0 : item.hint ?? DEFAULT_HINTS[item.name];
1424
1442
  return /* @__PURE__ */ jsxs12(Box13, { flexDirection: "column", children: [
1425
1443
  /* @__PURE__ */ jsxs12(Text13, { children: [
1426
- /* @__PURE__ */ jsx15(Text13, { color: status.color, children: status.glyph }),
1444
+ /* @__PURE__ */ jsx15(Text13, { bold: true, color, children: status.glyph }),
1427
1445
  /* @__PURE__ */ jsx15(Text13, { bold: true, children: ` ${item.name}` }),
1428
- /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: ` ${status.label}` })
1446
+ /* @__PURE__ */ jsx15(Text13, { color, children: ` ${status.label}` })
1429
1447
  ] }),
1430
1448
  hint ? /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: ` ${hint}` }) : null
1431
1449
  ] }, item.name);
1432
1450
  }) }),
1433
- /* @__PURE__ */ jsx15(Box13, { marginTop: 1, children: allGranted ? /* @__PURE__ */ jsx15(Text13, { color: "green", children: "All set \u2014 ready to record." }) : hasRestartRequired ? /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "Run recappi record again to start, or press r to retry." }) : /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "Grant the permissions above, then press r to recheck." }) }),
1434
- /* @__PURE__ */ jsx15(Box13, { marginTop: 1, children: /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "r recheck \xB7 o open System Settings \xB7 esc back" }) })
1451
+ /* @__PURE__ */ jsx15(Box13, { marginTop: 1, children: allGranted ? /* @__PURE__ */ jsx15(Text13, { bold: true, color: "green", children: "\u2713 All set \u2014 ready to record." }) : hasRestartRequired ? /* @__PURE__ */ jsxs12(Text13, { children: [
1452
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "Run recappi record again to start, or press " }),
1453
+ /* @__PURE__ */ jsx15(Text13, { bold: true, color: "cyan", children: "r" }),
1454
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: " to retry." })
1455
+ ] }) : /* @__PURE__ */ jsxs12(Text13, { children: [
1456
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: "Grant the permissions above, then press " }),
1457
+ /* @__PURE__ */ jsx15(Text13, { bold: true, color: "cyan", children: "r" }),
1458
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: " to recheck." })
1459
+ ] }) }),
1460
+ /* @__PURE__ */ jsx15(Box13, { marginTop: 1, children: /* @__PURE__ */ jsxs12(Text13, { children: [
1461
+ /* @__PURE__ */ jsx15(Text13, { color: "cyan", children: "r" }),
1462
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: " recheck \xB7 " }),
1463
+ /* @__PURE__ */ jsx15(Text13, { color: "cyan", children: "o" }),
1464
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: " open System Settings \xB7 " }),
1465
+ /* @__PURE__ */ jsx15(Text13, { color: "cyan", children: "esc" }),
1466
+ /* @__PURE__ */ jsx15(Text13, { dimColor: true, children: " back" })
1467
+ ] }) })
1435
1468
  ] });
1436
1469
  }
1437
1470
  var DEFAULT_HINTS;
@@ -1510,7 +1543,7 @@ function RecordSetupView({
1510
1543
  "esc cancel"
1511
1544
  ].filter(Boolean).join(" \xB7 ");
1512
1545
  return /* @__PURE__ */ jsxs13(Box14, { flexDirection: "column", paddingX: 1, children: [
1513
- /* @__PURE__ */ jsx16(Text14, { bold: true, color: "magenta", children: "New recording" }),
1546
+ /* @__PURE__ */ jsx16(Text14, { bold: true, color: "green", children: "New recording" }),
1514
1547
  /* @__PURE__ */ jsxs13(Box14, { marginTop: 1, flexDirection: wide ? "row" : "column", children: [
1515
1548
  /* @__PURE__ */ jsx16(Box14, { flexGrow: 1, flexDirection: "column", children: sourceList }),
1516
1549
  /* @__PURE__ */ jsx16(Box14, { marginLeft: wide ? 4 : 0, marginTop: wide ? 0 : 1, children: capturePlan })
@@ -1609,7 +1642,7 @@ function RecordingHeroScreen({
1609
1642
  const badge = paused ? "\u23F8 PAUSED" : starting ? "\u2026" : "\u23FA REC";
1610
1643
  return /* @__PURE__ */ jsxs14(Box15, { flexDirection: "column", paddingX: 1, height: size.rows, children: [
1611
1644
  /* @__PURE__ */ jsxs14(Text15, { children: [
1612
- /* @__PURE__ */ jsx17(Text15, { bold: true, color: "magenta", children: "recappi" }),
1645
+ /* @__PURE__ */ jsx17(Text15, { bold: true, color: "green", children: "recappi" }),
1613
1646
  /* @__PURE__ */ jsx17(Text15, { dimColor: true, children: " \xB7 Recording" })
1614
1647
  ] }),
1615
1648
  /* @__PURE__ */ jsxs14(Box15, { flexGrow: 1, flexDirection: "column", justifyContent: "center", alignItems: "center", children: [