@buoy-gg/time-machine 7.0.21 → 7.0.23

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 (174) hide show
  1. package/lib/commonjs/components/TimeMachineBody.js +148 -583
  2. package/lib/commonjs/components/TimeMachineBody.js.map +1 -1
  3. package/lib/commonjs/components/TimeMachineModal.js +10 -11
  4. package/lib/commonjs/components/TimeMachineModal.js.map +1 -1
  5. package/lib/commonjs/components/confirm.js +39 -0
  6. package/lib/commonjs/components/confirm.js.map +1 -0
  7. package/lib/commonjs/components/format.js +24 -0
  8. package/lib/commonjs/components/format.js.map +1 -0
  9. package/lib/commonjs/components/list/CaptureBar.js +95 -0
  10. package/lib/commonjs/components/list/CaptureBar.js.map +1 -0
  11. package/lib/commonjs/components/list/RestoreOutcomeCard.js +162 -0
  12. package/lib/commonjs/components/list/RestoreOutcomeCard.js.map +1 -0
  13. package/lib/commonjs/components/list/SnapshotRow.js +141 -0
  14. package/lib/commonjs/components/list/SnapshotRow.js.map +1 -0
  15. package/lib/commonjs/components/list/SourcesStrip.js +126 -0
  16. package/lib/commonjs/components/list/SourcesStrip.js.map +1 -0
  17. package/lib/commonjs/components/list/UndoDeleteBar.js +81 -0
  18. package/lib/commonjs/components/list/UndoDeleteBar.js.map +1 -0
  19. package/lib/commonjs/components/list/WipeAllRow.js +46 -0
  20. package/lib/commonjs/components/list/WipeAllRow.js.map +1 -0
  21. package/lib/commonjs/components/preview/ItemDiffPanel.js +77 -0
  22. package/lib/commonjs/components/preview/ItemDiffPanel.js.map +1 -0
  23. package/lib/commonjs/components/preview/PreviewFlow.js +51 -0
  24. package/lib/commonjs/components/preview/PreviewFlow.js.map +1 -0
  25. package/lib/commonjs/components/preview/RestorePointNameRow.js +83 -0
  26. package/lib/commonjs/components/preview/RestorePointNameRow.js.map +1 -0
  27. package/lib/commonjs/components/preview/RestorePreviewScreen.js +549 -635
  28. package/lib/commonjs/components/preview/RestorePreviewScreen.js.map +1 -1
  29. package/lib/commonjs/components/preview/verdictMeta.js +8 -8
  30. package/lib/commonjs/components/preview/verdictMeta.js.map +1 -1
  31. package/lib/commonjs/components/sources.js +72 -0
  32. package/lib/commonjs/components/sources.js.map +1 -0
  33. package/lib/commonjs/index.js +55 -0
  34. package/lib/commonjs/index.js.map +1 -1
  35. package/lib/commonjs/store/routeRestore.js +188 -0
  36. package/lib/commonjs/store/routeRestore.js.map +1 -0
  37. package/lib/commonjs/store/snapshotVault.js +93 -9
  38. package/lib/commonjs/store/snapshotVault.js.map +1 -1
  39. package/lib/commonjs/store/timeMachineStore.js +164 -7
  40. package/lib/commonjs/store/timeMachineStore.js.map +1 -1
  41. package/lib/commonjs/sync/timeMachineSyncAdapter.js +59 -4
  42. package/lib/commonjs/sync/timeMachineSyncAdapter.js.map +1 -1
  43. package/lib/commonjs/ui/SwipeActionsRow.js +167 -0
  44. package/lib/commonjs/ui/SwipeActionsRow.js.map +1 -0
  45. package/lib/commonjs/ui/primitives.js +164 -0
  46. package/lib/commonjs/ui/primitives.js.map +1 -0
  47. package/lib/commonjs/ui/tmTheme.js +103 -0
  48. package/lib/commonjs/ui/tmTheme.js.map +1 -0
  49. package/lib/module/components/TimeMachineBody.js +151 -586
  50. package/lib/module/components/TimeMachineBody.js.map +1 -1
  51. package/lib/module/components/TimeMachineModal.js +11 -12
  52. package/lib/module/components/TimeMachineModal.js.map +1 -1
  53. package/lib/module/components/confirm.js +34 -0
  54. package/lib/module/components/confirm.js.map +1 -0
  55. package/lib/module/components/format.js +19 -0
  56. package/lib/module/components/format.js.map +1 -0
  57. package/lib/module/components/list/CaptureBar.js +90 -0
  58. package/lib/module/components/list/CaptureBar.js.map +1 -0
  59. package/lib/module/components/list/RestoreOutcomeCard.js +156 -0
  60. package/lib/module/components/list/RestoreOutcomeCard.js.map +1 -0
  61. package/lib/module/components/list/SnapshotRow.js +138 -0
  62. package/lib/module/components/list/SnapshotRow.js.map +1 -0
  63. package/lib/module/components/list/SourcesStrip.js +121 -0
  64. package/lib/module/components/list/SourcesStrip.js.map +1 -0
  65. package/lib/module/components/list/UndoDeleteBar.js +78 -0
  66. package/lib/module/components/list/UndoDeleteBar.js.map +1 -0
  67. package/lib/module/components/list/WipeAllRow.js +41 -0
  68. package/lib/module/components/list/WipeAllRow.js.map +1 -0
  69. package/lib/module/components/preview/ItemDiffPanel.js +72 -0
  70. package/lib/module/components/preview/ItemDiffPanel.js.map +1 -0
  71. package/lib/module/components/preview/PreviewFlow.js +46 -0
  72. package/lib/module/components/preview/PreviewFlow.js.map +1 -0
  73. package/lib/module/components/preview/RestorePointNameRow.js +78 -0
  74. package/lib/module/components/preview/RestorePointNameRow.js.map +1 -0
  75. package/lib/module/components/preview/RestorePreviewScreen.js +552 -638
  76. package/lib/module/components/preview/RestorePreviewScreen.js.map +1 -1
  77. package/lib/module/components/preview/verdictMeta.js +9 -8
  78. package/lib/module/components/preview/verdictMeta.js.map +1 -1
  79. package/lib/module/components/sources.js +66 -0
  80. package/lib/module/components/sources.js.map +1 -0
  81. package/lib/module/index.js +11 -0
  82. package/lib/module/index.js.map +1 -1
  83. package/lib/module/store/routeRestore.js +176 -0
  84. package/lib/module/store/routeRestore.js.map +1 -0
  85. package/lib/module/store/snapshotVault.js +87 -9
  86. package/lib/module/store/snapshotVault.js.map +1 -1
  87. package/lib/module/store/timeMachineStore.js +164 -8
  88. package/lib/module/store/timeMachineStore.js.map +1 -1
  89. package/lib/module/sync/timeMachineSyncAdapter.js +59 -4
  90. package/lib/module/sync/timeMachineSyncAdapter.js.map +1 -1
  91. package/lib/module/ui/SwipeActionsRow.js +162 -0
  92. package/lib/module/ui/SwipeActionsRow.js.map +1 -0
  93. package/lib/module/ui/primitives.js +156 -0
  94. package/lib/module/ui/primitives.js.map +1 -0
  95. package/lib/module/ui/tmTheme.js +99 -0
  96. package/lib/module/ui/tmTheme.js.map +1 -0
  97. package/lib/typescript/components/TimeMachineBody.d.ts.map +1 -1
  98. package/lib/typescript/components/TimeMachineModal.d.ts.map +1 -1
  99. package/lib/typescript/components/confirm.d.ts +2 -0
  100. package/lib/typescript/components/confirm.d.ts.map +1 -0
  101. package/lib/typescript/components/format.d.ts +4 -0
  102. package/lib/typescript/components/format.d.ts.map +1 -0
  103. package/lib/typescript/components/list/CaptureBar.d.ts +6 -0
  104. package/lib/typescript/components/list/CaptureBar.d.ts.map +1 -0
  105. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts +11 -0
  106. package/lib/typescript/components/list/RestoreOutcomeCard.d.ts.map +1 -0
  107. package/lib/typescript/components/list/SnapshotRow.d.ts +12 -0
  108. package/lib/typescript/components/list/SnapshotRow.d.ts.map +1 -0
  109. package/lib/typescript/components/list/SourcesStrip.d.ts +5 -0
  110. package/lib/typescript/components/list/SourcesStrip.d.ts.map +1 -0
  111. package/lib/typescript/components/list/UndoDeleteBar.d.ts +8 -0
  112. package/lib/typescript/components/list/UndoDeleteBar.d.ts.map +1 -0
  113. package/lib/typescript/components/list/WipeAllRow.d.ts +5 -0
  114. package/lib/typescript/components/list/WipeAllRow.d.ts.map +1 -0
  115. package/lib/typescript/components/preview/ItemDiffPanel.d.ts +5 -0
  116. package/lib/typescript/components/preview/ItemDiffPanel.d.ts.map +1 -0
  117. package/lib/typescript/components/preview/PreviewFlow.d.ts +9 -0
  118. package/lib/typescript/components/preview/PreviewFlow.d.ts.map +1 -0
  119. package/lib/typescript/components/preview/RestorePointNameRow.d.ts +5 -0
  120. package/lib/typescript/components/preview/RestorePointNameRow.d.ts.map +1 -0
  121. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts +1 -5
  122. package/lib/typescript/components/preview/RestorePreviewScreen.d.ts.map +1 -1
  123. package/lib/typescript/components/preview/verdictMeta.d.ts +5 -0
  124. package/lib/typescript/components/preview/verdictMeta.d.ts.map +1 -1
  125. package/lib/typescript/components/sources.d.ts +36 -0
  126. package/lib/typescript/components/sources.d.ts.map +1 -0
  127. package/lib/typescript/index.d.ts +2 -1
  128. package/lib/typescript/index.d.ts.map +1 -1
  129. package/lib/typescript/store/routeRestore.d.ts +51 -0
  130. package/lib/typescript/store/routeRestore.d.ts.map +1 -0
  131. package/lib/typescript/store/snapshotVault.d.ts +55 -0
  132. package/lib/typescript/store/snapshotVault.d.ts.map +1 -1
  133. package/lib/typescript/store/timeMachineStore.d.ts +64 -2
  134. package/lib/typescript/store/timeMachineStore.d.ts.map +1 -1
  135. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts +25 -0
  136. package/lib/typescript/sync/timeMachineSyncAdapter.d.ts.map +1 -1
  137. package/lib/typescript/ui/SwipeActionsRow.d.ts +32 -0
  138. package/lib/typescript/ui/SwipeActionsRow.d.ts.map +1 -0
  139. package/lib/typescript/ui/primitives.d.ts +57 -0
  140. package/lib/typescript/ui/primitives.d.ts.map +1 -0
  141. package/lib/typescript/ui/tmTheme.d.ts +67 -0
  142. package/lib/typescript/ui/tmTheme.d.ts.map +1 -0
  143. package/package.json +12 -8
  144. package/src/components/TimeMachineBody.tsx +184 -682
  145. package/src/components/TimeMachineModal.tsx +10 -11
  146. package/src/components/confirm.ts +35 -0
  147. package/src/components/format.ts +17 -0
  148. package/src/components/list/CaptureBar.tsx +100 -0
  149. package/src/components/list/RestoreOutcomeCard.tsx +159 -0
  150. package/src/components/list/SnapshotRow.tsx +155 -0
  151. package/src/components/list/SourcesStrip.tsx +124 -0
  152. package/src/components/list/UndoDeleteBar.tsx +76 -0
  153. package/src/components/list/WipeAllRow.tsx +42 -0
  154. package/src/components/preview/ItemDiffPanel.tsx +77 -0
  155. package/src/components/preview/PreviewFlow.tsx +70 -0
  156. package/src/components/preview/RestorePointNameRow.tsx +80 -0
  157. package/src/components/preview/RestorePreviewScreen.tsx +535 -535
  158. package/src/components/preview/verdictMeta.ts +8 -8
  159. package/src/components/sources.ts +92 -0
  160. package/src/index.tsx +22 -0
  161. package/src/store/routeRestore.ts +194 -0
  162. package/src/store/snapshotVault.ts +138 -9
  163. package/src/store/timeMachineStore.ts +195 -5
  164. package/src/sync/timeMachineSyncAdapter.ts +57 -4
  165. package/src/ui/SwipeActionsRow.tsx +199 -0
  166. package/src/ui/primitives.tsx +157 -0
  167. package/src/ui/tmTheme.ts +107 -0
  168. package/lib/commonjs/components/preview/ItemDetailScreen.js +0 -189
  169. package/lib/commonjs/components/preview/ItemDetailScreen.js.map +0 -1
  170. package/lib/module/components/preview/ItemDetailScreen.js +0 -184
  171. package/lib/module/components/preview/ItemDetailScreen.js.map +0 -1
  172. package/lib/typescript/components/preview/ItemDetailScreen.d.ts +0 -11
  173. package/lib/typescript/components/preview/ItemDetailScreen.d.ts.map +0 -1
  174. package/src/components/preview/ItemDetailScreen.tsx +0 -172
@@ -1 +1 @@
1
- {"version":3,"names":["_react","require","_reactNative","_sharedUi","_floatingToolsCore","_core","_license","_useTimeMachine","_timeMachineStore","_RestorePreviewScreen","_ItemDetailScreen","_jsxRuntime","FREE_SNAPSHOT_LIMIT","SOURCE_ICONS","storage","StorageIcon","redux","ReduxIcon","zustand","ZustandIcon","jotai","JotaiIcon","query","QueryIcon","timeAgo","ts","s","Math","max","round","Date","now","m","h","formatBytes","bytes","toFixed","warningCount","meta","Object","values","sources","reduce","sum","warnings","length","confirmDestructive","title","message","confirmLabel","onConfirm","Platform","OS","confirmFn","globalThis","confirm","Alert","alert","text","style","onPress","OutcomePanel","outcome","entries","results","jsxs","View","styles","outcomePanel","children","outcomeHeaderRow","Text","outcomeTitle","snapshotName","mode","willReload","jsx","TouchableOpacity","timeMachineStore","clearLastOutcome","hitSlop","top","bottom","left","right","outcomeDismiss","outcomeLine","map","sourceId","r","outcomeSource","ok","outcomeLineBad","applied","skipped","slice","skip","outcomeDetail","id","reason","warning","TimeMachineBody","snapshots","hasLoaded","busy","lastOutcome","preview","remoteProviders","useTimeMachineState","localProviders","useSnapshotProviders","isPro","useIsPro","host","useToolHost","name","setName","useState","screen","setScreen","kind","picker","setPicker","listQuery","search","trim","toLowerCase","visibleSnapshots","filter","includes","providers","p","label","status","atFreeLimit","captureDisabled","capture","restore","excludeKeys","baseline","remove","delete","wipeAll","openPreview","buildPreview","snapshotId","closePreview","clearPreview","ItemDetailScreen","sourceLabel","item","leftLabel","find","rightLabel","onBack","rightMeta","undefined","pickerItems","otherRef","otherId","push","index","timestamp","relativeTime","selected","forEach","i","ref","current","createdAt","toLocaleTimeString","disabled","onPickerSelect","side","screenFill","RestorePreviewScreen","onOpenItem","source","onRestore","then","onPickSide","onRefresh","EventPickerModal","isOpen","onClose","position","items","onSelect","unavailable","detail","canCapture","canRestore","ScrollView","contentContainerStyle","container","captureCard","captureField","Plus","size","color","buoyColors","textMuted","TextInput","captureInput","value","onChangeText","placeholder","placeholderTextColor","editable","onSubmitEditing","returnKeyType","testID","captureButton","buttonDisabled","captureButtonText","freeLimitNote","sectionRow","sectionTitle","sourceTiles","IconComp","TimeMachineIcon","dotColor","success","sourceTile","sourceTileDot","backgroundColor","emptyText","providerDetail","sectionSpacing","snapshotCard","snapshotIconTile","Home","textSecondary","snapshotInfo","numberOfLines","snapshotMeta","sizeBytes","keys","scope","rowAction","accessibilityLabel","rowActionLabel","rowActionLabelDanger","Trash2","error","wipeAllButton","wipeAllText","wipeAllCaption","StyleSheet","create","flex","padding","gap","flexDirection","alignItems","card","borderColor","border","borderWidth","borderRadius","paddingHorizontal","fontSize","paddingVertical","primary","justifyContent","fontWeight","letterSpacing","opacity","marginTop","flexWrap","width","height","hover","minWidth","fontVariant","textAlign","borderStrong","paddingLeft"],"sourceRoot":"../../../src","sources":["components/TimeMachineBody.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_react","require","_reactNative","_sharedUi","_core","_license","_useTimeMachine","_timeMachineStore","_primitives","_tmTheme","_sources","_confirm","_CaptureBar","_RestoreOutcomeCard","_SnapshotRow","_UndoDeleteBar","_SourcesStrip","_WipeAllRow","_PreviewFlow","_jsxRuntime","TimeMachineBody","screen","setScreen","useState","kind","snapshots","busy","preview","useTimeMachineState","sources","useSourceStatuses","backToList","timeMachineStore","clearPreview","jsx","PreviewScreen","onClose","RestorePointList","onOpenPreview","meta","buildPreview","snapshotId","id","hasLoaded","lastOutcome","recentlyDeleted","isPro","useIsPro","snapshotLimit","useLimit","host","useToolHost","insets","useSafeAreaInsets","minBottom","query","search","trim","toLowerCase","visible","filter","s","name","includes","atCaptureLimit","length","captureDisabled","restore","baseline","confirmDestructive","then","outcome","clean","Object","values","results","every","r","ok","willReload","minimize","jsxs","ScrollView","style","styles","fill","contentContainerStyle","content","paddingBottom","bottom","children","restoreNeedsAttention","RestoreOutcomeCard","UndoDeleteBar","stored","at","onUndo","undoDelete","onExpire","clearRecentlyDeleted","View","CaptureBar","disabled","onCapture","capture","Footnote","tone","SectionLabel","SourcesStrip","detail","canCapture","canRestore","map","label","Group","SnapshotRow","onOpen","onRestore","onDelete","delete","onDuplicate","duplicate","Text","empty","spacer","WipeAllRow","onWipe","wipeAll","centered","StyleSheet","create","flex","backgroundColor","tm","color","sheet","paddingTop","labelSecondary","fontSize","font","footnote","lineHeight","paddingHorizontal","textInset","paddingVertical","height"],"sourceRoot":"../../../src","sources":["components/TimeMachineBody.tsx"],"mappings":"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","ignoreList":[]}
@@ -7,6 +7,7 @@ exports.TimeMachineModal = TimeMachineModal;
7
7
  exports.TimeMachineToolView = TimeMachineToolView;
8
8
  var _reactNative = require("react-native");
9
9
  var _sharedUi = require("@buoy-gg/shared-ui");
10
+ var _tmTheme = require("../ui/tmTheme");
10
11
  var _TimeMachineBody = require("./TimeMachineBody");
11
12
  var _jsxRuntime = require("react/jsx-runtime");
12
13
  /**
@@ -20,10 +21,10 @@ function Header() {
20
21
  style: styles.header,
21
22
  children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
22
23
  style: styles.headerTitle,
23
- children: "TIME MACHINE"
24
+ children: "Time Machine"
24
25
  }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
25
26
  style: styles.headerSubtitle,
26
- children: "snapshot & restore app state"
27
+ children: "Snapshot & restore app state"
27
28
  })]
28
29
  });
29
30
  }
@@ -56,20 +57,18 @@ function TimeMachineToolView() {
56
57
  }
57
58
  const styles = _reactNative.StyleSheet.create({
58
59
  header: {
59
- flexDirection: "row",
60
- alignItems: "baseline",
61
- gap: 8,
62
- paddingHorizontal: 4
60
+ paddingHorizontal: 4,
61
+ gap: 2
63
62
  },
64
63
  headerTitle: {
65
- color: _sharedUi.buoyColors.text,
66
- fontSize: 13,
64
+ color: _tmTheme.tm.color.label,
65
+ fontSize: 22,
67
66
  fontWeight: "700",
68
- letterSpacing: 1
67
+ letterSpacing: 0.3
69
68
  },
70
69
  headerSubtitle: {
71
- color: _sharedUi.buoyColors.textMuted,
72
- fontSize: 10
70
+ color: _tmTheme.tm.color.labelSecondary,
71
+ fontSize: _tmTheme.tm.font.footnote
73
72
  }
74
73
  });
75
74
  //# sourceMappingURL=TimeMachineModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["_reactNative","require","_sharedUi","_TimeMachineBody","_jsxRuntime","Header","jsxs","View","style","styles","header","children","jsx","Text","headerTitle","headerSubtitle","TimeMachineModal","visible","onClose","onBack","_onBack","onMinimize","persistenceKey","JsModal","showToggleButton","customContent","enablePersistence","initialMode","disableScrollWrapper","TimeMachineBody","TimeMachineToolView","StyleSheet","create","flexDirection","alignItems","gap","paddingHorizontal","color","buoyColors","text","fontSize","fontWeight","letterSpacing","textMuted"],"sourceRoot":"../../../src","sources":["components/TimeMachineModal.tsx"],"mappings":";;;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,gBAAA,GAAAF,OAAA;AAAoD,IAAAG,WAAA,GAAAH,OAAA;AARpD;AACA;AACA;AACA;AACA;;AAcA,SAASI,MAAMA,CAAA,EAAG;EAChB,oBACE,IAAAD,WAAA,CAAAE,IAAA,EAACN,YAAA,CAAAO,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,MAAO;IAAAC,QAAA,gBACzB,IAAAP,WAAA,CAAAQ,GAAA,EAACZ,YAAA,CAAAa,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACK,WAAY;MAAAH,QAAA,EAAC;IAAY,CAAM,CAAC,eACpD,IAAAP,WAAA,CAAAQ,GAAA,EAACZ,YAAA,CAAAa,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACM,cAAe;MAAAJ,QAAA,EAAC;IAA4B,CAAM,CAAC;EAAA,CACnE,CAAC;AAEX;AAEO,SAASK,gBAAgBA,CAAC;EAC/BC,OAAO;EACPC,OAAO;EACPC,MAAM,EAAEC,OAAO;EACfC,UAAU;EACVC;AACqB,CAAC,EAAE;EACxB,oBACE,IAAAlB,WAAA,CAAAQ,GAAA,EAACV,SAAA,CAAAqB,OAAO;IACNN,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBG,UAAU,EAAEA,UAAW;IACvBC,cAAc,EAAEA,cAAe;IAC/BZ,MAAM,EAAE;MACNc,gBAAgB,EAAE,IAAI;MACtBC,aAAa,eAAE,IAAArB,WAAA,CAAAQ,GAAA,EAACP,MAAM,IAAE;IAC1B,CAAE;IACFqB,iBAAiB;IACjBC,WAAW,EAAC,aAAa;IACzBC,oBAAoB;IAAAjB,QAAA,eAEpB,IAAAP,WAAA,CAAAQ,GAAA,EAACT,gBAAA,CAAA0B,eAAe,IAAE;EAAC,CACZ,CAAC;AAEd;;AAEA;AACO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,oBAAO,IAAA1B,WAAA,CAAAQ,GAAA,EAACT,gBAAA,CAAA0B,eAAe,IAAE,CAAC;AAC5B;AAEA,MAAMpB,MAAM,GAAGsB,uBAAU,CAACC,MAAM,CAAC;EAC/BtB,MAAM,EAAE;IACNuB,aAAa,EAAE,KAAK;IACpBC,UAAU,EAAE,UAAU;IACtBC,GAAG,EAAE,CAAC;IACNC,iBAAiB,EAAE;EACrB,CAAC;EACDtB,WAAW,EAAE;IACXuB,KAAK,EAAEC,oBAAU,CAACC,IAAI;IACtBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE;EACjB,CAAC;EACD3B,cAAc,EAAE;IACdsB,KAAK,EAAEC,oBAAU,CAACK,SAAS;IAC3BH,QAAQ,EAAE;EACZ;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["_reactNative","require","_sharedUi","_tmTheme","_TimeMachineBody","_jsxRuntime","Header","jsxs","View","style","styles","header","children","jsx","Text","headerTitle","headerSubtitle","TimeMachineModal","visible","onClose","onBack","_onBack","onMinimize","persistenceKey","JsModal","showToggleButton","customContent","enablePersistence","initialMode","disableScrollWrapper","TimeMachineBody","TimeMachineToolView","StyleSheet","create","paddingHorizontal","gap","color","tm","label","fontSize","fontWeight","letterSpacing","labelSecondary","font","footnote"],"sourceRoot":"../../../src","sources":["components/TimeMachineModal.tsx"],"mappings":";;;;;;;AAKA,IAAAA,YAAA,GAAAC,OAAA;AACA,IAAAC,SAAA,GAAAD,OAAA;AAEA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,gBAAA,GAAAH,OAAA;AAAoD,IAAAI,WAAA,GAAAJ,OAAA;AATpD;AACA;AACA;AACA;AACA;;AAeA,SAASK,MAAMA,CAAA,EAAG;EAChB,oBACE,IAAAD,WAAA,CAAAE,IAAA,EAACP,YAAA,CAAAQ,IAAI;IAACC,KAAK,EAAEC,MAAM,CAACC,MAAO;IAAAC,QAAA,gBACzB,IAAAP,WAAA,CAAAQ,GAAA,EAACb,YAAA,CAAAc,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACK,WAAY;MAAAH,QAAA,EAAC;IAAY,CAAM,CAAC,eACpD,IAAAP,WAAA,CAAAQ,GAAA,EAACb,YAAA,CAAAc,IAAI;MAACL,KAAK,EAAEC,MAAM,CAACM,cAAe;MAAAJ,QAAA,EAAC;IAA4B,CAAM,CAAC;EAAA,CACnE,CAAC;AAEX;AAEO,SAASK,gBAAgBA,CAAC;EAC/BC,OAAO;EACPC,OAAO;EACPC,MAAM,EAAEC,OAAO;EACfC,UAAU;EACVC;AACqB,CAAC,EAAE;EACxB,oBACE,IAAAlB,WAAA,CAAAQ,GAAA,EAACX,SAAA,CAAAsB,OAAO;IACNN,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBG,UAAU,EAAEA,UAAW;IACvBC,cAAc,EAAEA,cAAe;IAC/BZ,MAAM,EAAE;MACNc,gBAAgB,EAAE,IAAI;MACtBC,aAAa,eAAE,IAAArB,WAAA,CAAAQ,GAAA,EAACP,MAAM,IAAE;IAC1B,CAAE;IACFqB,iBAAiB;IACjBC,WAAW,EAAC,aAAa;IACzBC,oBAAoB;IAAAjB,QAAA,eAEpB,IAAAP,WAAA,CAAAQ,GAAA,EAACT,gBAAA,CAAA0B,eAAe,IAAE;EAAC,CACZ,CAAC;AAEd;;AAEA;AACO,SAASC,mBAAmBA,CAAA,EAAG;EACpC,oBAAO,IAAA1B,WAAA,CAAAQ,GAAA,EAACT,gBAAA,CAAA0B,eAAe,IAAE,CAAC;AAC5B;AAEA,MAAMpB,MAAM,GAAGsB,uBAAU,CAACC,MAAM,CAAC;EAC/BtB,MAAM,EAAE;IACNuB,iBAAiB,EAAE,CAAC;IACpBC,GAAG,EAAE;EACP,CAAC;EACDpB,WAAW,EAAE;IACXqB,KAAK,EAAEC,WAAE,CAACD,KAAK,CAACE,KAAK;IACrBC,QAAQ,EAAE,EAAE;IACZC,UAAU,EAAE,KAAK;IACjBC,aAAa,EAAE;EACjB,CAAC;EACDzB,cAAc,EAAE;IACdoB,KAAK,EAAEC,WAAE,CAACD,KAAK,CAACM,cAAc;IAC9BH,QAAQ,EAAEF,WAAE,CAACM,IAAI,CAACC;EACpB;AACF,CAAC,CAAC","ignoreList":[]}
@@ -0,0 +1,39 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.confirmDestructive = confirmDestructive;
7
+ var _reactNative = require("react-native");
8
+ /**
9
+ * Confirmation dialogs for the destructive / branching Time Machine actions.
10
+ *
11
+ * RN-web's Alert renders no buttons at all, so the web path (Buoy Desktop,
12
+ * the web example) uses `window.confirm`.
13
+ *
14
+ * There is deliberately NO "restore the route too?" prompt: that question is
15
+ * answered once per restore point by the route toggle on its row, because
16
+ * asking it on every restore meant answering it thirty times a day.
17
+ */
18
+
19
+ function webConfirm(message) {
20
+ const confirmFn = globalThis.confirm;
21
+ // No dialog available at all (headless web): don't silently swallow the
22
+ // user's intent — treat it as confirmed, same as the previous behavior.
23
+ return confirmFn ? confirmFn(message) : true;
24
+ }
25
+ function confirmDestructive(title, message, confirmLabel, onConfirm) {
26
+ if (_reactNative.Platform.OS === "web") {
27
+ if (webConfirm(`${title}\n\n${message}`)) onConfirm();
28
+ return;
29
+ }
30
+ _reactNative.Alert.alert(title, message, [{
31
+ text: "Cancel",
32
+ style: "cancel"
33
+ }, {
34
+ text: confirmLabel,
35
+ style: "destructive",
36
+ onPress: onConfirm
37
+ }]);
38
+ }
39
+ //# sourceMappingURL=confirm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","webConfirm","message","confirmFn","globalThis","confirm","confirmDestructive","title","confirmLabel","onConfirm","Platform","OS","Alert","alert","text","style","onPress"],"sourceRoot":"../../../src","sources":["components/confirm.ts"],"mappings":";;;;;;AAUA,IAAAA,YAAA,GAAAC,OAAA;AAVA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;;AAGA,SAASC,UAAUA,CAACC,OAAe,EAAW;EAC5C,MAAMC,SAAS,GAAIC,UAAU,CAC1BC,OAAO;EACV;EACA;EACA,OAAOF,SAAS,GAAGA,SAAS,CAACD,OAAO,CAAC,GAAG,IAAI;AAC9C;AAEO,SAASI,kBAAkBA,CAChCC,KAAa,EACbL,OAAe,EACfM,YAAoB,EACpBC,SAAqB,EACrB;EACA,IAAIC,qBAAQ,CAACC,EAAE,KAAK,KAAK,EAAE;IACzB,IAAIV,UAAU,CAAC,GAAGM,KAAK,OAAOL,OAAO,EAAE,CAAC,EAAEO,SAAS,CAAC,CAAC;IACrD;EACF;EACAG,kBAAK,CAACC,KAAK,CAACN,KAAK,EAAEL,OAAO,EAAE,CAC1B;IAAEY,IAAI,EAAE,QAAQ;IAAEC,KAAK,EAAE;EAAS,CAAC,EACnC;IAAED,IAAI,EAAEN,YAAY;IAAEO,KAAK,EAAE,aAAa;IAAEC,OAAO,EAAEP;EAAU,CAAC,CACjE,CAAC;AACJ","ignoreList":[]}
@@ -0,0 +1,24 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.formatBytes = formatBytes;
7
+ exports.timeAgo = timeAgo;
8
+ /** Display formatting shared by the Time Machine screens. */
9
+
10
+ function timeAgo(ts) {
11
+ const s = Math.max(0, Math.round((Date.now() - ts) / 1000));
12
+ if (s < 60) return `${s}s ago`;
13
+ const m = Math.round(s / 60);
14
+ if (m < 60) return `${m}m ago`;
15
+ const h = Math.round(m / 60);
16
+ if (h < 24) return `${h}h ago`;
17
+ return `${Math.round(h / 24)}d ago`;
18
+ }
19
+ function formatBytes(bytes) {
20
+ if (bytes < 1024) return `${bytes} B`;
21
+ if (bytes < 1024 * 1024) return `${(bytes / 1024).toFixed(1)} KB`;
22
+ return `${(bytes / (1024 * 1024)).toFixed(1)} MB`;
23
+ }
24
+ //# sourceMappingURL=format.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["timeAgo","ts","s","Math","max","round","Date","now","m","h","formatBytes","bytes","toFixed"],"sourceRoot":"../../../src","sources":["components/format.ts"],"mappings":";;;;;;;AAAA;;AAEO,SAASA,OAAOA,CAACC,EAAU,EAAU;EAC1C,MAAMC,CAAC,GAAGC,IAAI,CAACC,GAAG,CAAC,CAAC,EAAED,IAAI,CAACE,KAAK,CAAC,CAACC,IAAI,CAACC,GAAG,CAAC,CAAC,GAAGN,EAAE,IAAI,IAAI,CAAC,CAAC;EAC3D,IAAIC,CAAC,GAAG,EAAE,EAAE,OAAO,GAAGA,CAAC,OAAO;EAC9B,MAAMM,CAAC,GAAGL,IAAI,CAACE,KAAK,CAACH,CAAC,GAAG,EAAE,CAAC;EAC5B,IAAIM,CAAC,GAAG,EAAE,EAAE,OAAO,GAAGA,CAAC,OAAO;EAC9B,MAAMC,CAAC,GAAGN,IAAI,CAACE,KAAK,CAACG,CAAC,GAAG,EAAE,CAAC;EAC5B,IAAIC,CAAC,GAAG,EAAE,EAAE,OAAO,GAAGA,CAAC,OAAO;EAC9B,OAAO,GAAGN,IAAI,CAACE,KAAK,CAACI,CAAC,GAAG,EAAE,CAAC,OAAO;AACrC;AAEO,SAASC,WAAWA,CAACC,KAAa,EAAU;EACjD,IAAIA,KAAK,GAAG,IAAI,EAAE,OAAO,GAAGA,KAAK,IAAI;EACrC,IAAIA,KAAK,GAAG,IAAI,GAAG,IAAI,EAAE,OAAO,GAAG,CAACA,KAAK,GAAG,IAAI,EAAEC,OAAO,CAAC,CAAC,CAAC,KAAK;EACjE,OAAO,GAAG,CAACD,KAAK,IAAI,IAAI,GAAG,IAAI,CAAC,EAAEC,OAAO,CAAC,CAAC,CAAC,KAAK;AACnD","ignoreList":[]}
@@ -0,0 +1,95 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.CaptureBar = CaptureBar;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _tmTheme = require("../../ui/tmTheme");
10
+ var _jsxRuntime = require("react/jsx-runtime");
11
+ /**
12
+ * Capture bar — the single field-plus-pill control at the top of the list.
13
+ *
14
+ * Owns the draft name itself so keystrokes re-render this component and not
15
+ * the snapshot list underneath it. The parent only hears about a finished
16
+ * capture.
17
+ */
18
+
19
+ function CaptureBar({
20
+ disabled,
21
+ busy,
22
+ onCapture
23
+ }) {
24
+ const [name, setName] = (0, _react.useState)("");
25
+ const capture = () => {
26
+ if (disabled) return;
27
+ onCapture(name);
28
+ setName("");
29
+ };
30
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
31
+ style: styles.bar,
32
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
33
+ style: styles.input,
34
+ value: name,
35
+ onChangeText: setName,
36
+ placeholder: "Name this restore point\u2026",
37
+ placeholderTextColor: _tmTheme.tm.color.labelTertiary,
38
+ editable: !disabled,
39
+ onSubmitEditing: capture,
40
+ returnKeyType: "done",
41
+ testID: "time-machine-name-input"
42
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
43
+ style: [styles.button, disabled ? styles.buttonDisabled : null],
44
+ onPress: capture,
45
+ disabled: disabled,
46
+ accessibilityRole: "button",
47
+ accessibilityLabel: "Capture restore point",
48
+ testID: "time-machine-capture",
49
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
50
+ style: styles.buttonText,
51
+ children: busy ? "Capturing…" : "Capture"
52
+ })
53
+ })]
54
+ });
55
+ }
56
+ const styles = _reactNative.StyleSheet.create({
57
+ bar: {
58
+ flexDirection: "row",
59
+ alignItems: "center",
60
+ gap: 8,
61
+ marginHorizontal: _tmTheme.tm.gutter,
62
+ backgroundColor: _tmTheme.tm.color.group,
63
+ borderRadius: _tmTheme.tm.radius.group,
64
+ paddingLeft: _tmTheme.tm.textInset,
65
+ padding: 6
66
+ },
67
+ input: {
68
+ flex: 1,
69
+ minWidth: 0,
70
+ color: _tmTheme.tm.color.label,
71
+ fontSize: _tmTheme.tm.font.row,
72
+ letterSpacing: _tmTheme.tm.tracking.row,
73
+ // Zero out the platform chrome so the field reads as part of the card.
74
+ padding: 0,
75
+ backgroundColor: "transparent"
76
+ },
77
+ button: {
78
+ height: 34,
79
+ paddingHorizontal: 16,
80
+ borderRadius: _tmTheme.tm.radius.pill,
81
+ backgroundColor: _tmTheme.tm.color.accent,
82
+ alignItems: "center",
83
+ justifyContent: "center"
84
+ },
85
+ buttonDisabled: {
86
+ opacity: 0.4
87
+ },
88
+ buttonText: {
89
+ color: _tmTheme.tm.color.onAccent,
90
+ fontSize: _tmTheme.tm.font.control,
91
+ fontWeight: "600",
92
+ letterSpacing: _tmTheme.tm.tracking.control
93
+ }
94
+ });
95
+ //# sourceMappingURL=CaptureBar.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_tmTheme","_jsxRuntime","CaptureBar","disabled","busy","onCapture","name","setName","useState","capture","jsxs","View","style","styles","bar","children","jsx","TextInput","input","value","onChangeText","placeholder","placeholderTextColor","tm","color","labelTertiary","editable","onSubmitEditing","returnKeyType","testID","TouchableOpacity","button","buttonDisabled","onPress","accessibilityRole","accessibilityLabel","Text","buttonText","StyleSheet","create","flexDirection","alignItems","gap","marginHorizontal","gutter","backgroundColor","group","borderRadius","radius","paddingLeft","textInset","padding","flex","minWidth","label","fontSize","font","row","letterSpacing","tracking","height","paddingHorizontal","pill","accent","justifyContent","opacity","onAccent","control","fontWeight"],"sourceRoot":"../../../../src","sources":["components/list/CaptureBar.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,162 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.RestoreOutcomeCard = RestoreOutcomeCard;
7
+ exports.restoreNeedsAttention = restoreNeedsAttention;
8
+ var _reactNative = require("react-native");
9
+ var _sharedUi = require("@buoy-gg/shared-ui");
10
+ var _tmTheme = require("../../ui/tmTheme");
11
+ var _timeMachineStore = require("../../store/timeMachineStore");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * What the last restore did, shown ONLY when something went wrong.
15
+ *
16
+ * A clean restore says so with a toast and then gets out of the way — the
17
+ * restored app is the proof, and a wall of green ticks on top of the list
18
+ * every single time was noise. A restore that skipped or failed a source is
19
+ * the opposite: nothing else on screen would ever tell you, so it stays until
20
+ * dismissed.
21
+ */
22
+
23
+ const HIT = {
24
+ top: 10,
25
+ bottom: 10,
26
+ left: 10,
27
+ right: 10
28
+ };
29
+
30
+ /**
31
+ * Did this restore do anything the app itself won't show you? Warnings alone
32
+ * don't count — "1 derived atom recomputes" is true of every restore and
33
+ * would put the card back on screen permanently.
34
+ */
35
+ function restoreNeedsAttention(outcome) {
36
+ if (Object.values(outcome.results).some(r => !r.ok || r.skipped.length > 0)) return true;
37
+ const route = outcome.route;
38
+ return route?.status === "failed" || route?.status === "unavailable";
39
+ }
40
+
41
+ /** ✓ / ✕ / ↻ line — the glyph carries the meaning, the color reinforces it. */
42
+ function ResultLine({
43
+ glyph,
44
+ text,
45
+ ok
46
+ }) {
47
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
48
+ style: [styles.line, {
49
+ color: ok ? _tmTheme.tm.color.accent : _tmTheme.tm.color.warning
50
+ }],
51
+ numberOfLines: 2,
52
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
53
+ style: styles.glyph,
54
+ children: [glyph, " "]
55
+ }), text]
56
+ });
57
+ }
58
+ function RouteResult({
59
+ route
60
+ }) {
61
+ if (route.status === "navigated") return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResultLine, {
62
+ glyph: "\u2713",
63
+ ok: true,
64
+ text: `route — ${route.href}`
65
+ });
66
+ if (route.status === "deferred") return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResultLine, {
67
+ glyph: "\u21BB",
68
+ ok: true,
69
+ text: `route — ${route.href} after reload`
70
+ });
71
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(ResultLine, {
72
+ glyph: "\u2715",
73
+ ok: false,
74
+ text: `route — ${route.error ?? route.status}`
75
+ });
76
+ }
77
+ function RestoreOutcomeCard({
78
+ outcome
79
+ }) {
80
+ const entries = Object.entries(outcome.results);
81
+ const reloading = outcome.mode === "reload" || outcome.willReload;
82
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
83
+ style: styles.card,
84
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
85
+ style: styles.headerRow,
86
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
87
+ style: styles.title,
88
+ numberOfLines: 1,
89
+ children: ["Restored \u201C", outcome.snapshotName, "\u201D", reloading ? " · reloading" : ""]
90
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
91
+ onPress: () => _timeMachineStore.timeMachineStore.clearLastOutcome(),
92
+ hitSlop: HIT,
93
+ accessibilityRole: "button",
94
+ accessibilityLabel: "Dismiss restore result",
95
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_sharedUi.X, {
96
+ size: 13,
97
+ color: _tmTheme.tm.color.labelSecondary
98
+ })
99
+ })]
100
+ }), entries.length === 0 && !outcome.route ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
101
+ style: styles.empty,
102
+ children: "No sources restored."
103
+ }) : null, outcome.route ? /*#__PURE__*/(0, _jsxRuntime.jsx)(RouteResult, {
104
+ route: outcome.route
105
+ }) : null, entries.map(([sourceId, result]) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
106
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(ResultLine, {
107
+ glyph: result.ok ? "✓" : "✕",
108
+ ok: result.ok,
109
+ text: `${sourceId} — applied ${result.applied}${result.skipped.length > 0 ? `, skipped ${result.skipped.length}` : ""}`
110
+ }), result.skipped.slice(0, 3).map(skip => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
111
+ style: styles.detail,
112
+ numberOfLines: 2,
113
+ children: [skip.id, ": ", skip.reason]
114
+ }, skip.id)), result.warnings.slice(0, 3).map(warning => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
115
+ style: styles.detail,
116
+ numberOfLines: 2,
117
+ children: ["\u26A0 ", warning]
118
+ }, warning))]
119
+ }, sourceId))]
120
+ });
121
+ }
122
+ const styles = _reactNative.StyleSheet.create({
123
+ card: {
124
+ marginHorizontal: _tmTheme.tm.gutter,
125
+ marginTop: 12,
126
+ backgroundColor: _tmTheme.tm.color.group,
127
+ borderRadius: _tmTheme.tm.radius.group,
128
+ padding: 14,
129
+ gap: 4
130
+ },
131
+ headerRow: {
132
+ flexDirection: "row",
133
+ alignItems: "center",
134
+ gap: 10,
135
+ marginBottom: 2
136
+ },
137
+ title: {
138
+ flex: 1,
139
+ color: _tmTheme.tm.color.label,
140
+ fontSize: 15,
141
+ fontWeight: "600",
142
+ letterSpacing: _tmTheme.tm.tracking.control
143
+ },
144
+ line: {
145
+ fontSize: _tmTheme.tm.font.footnote,
146
+ lineHeight: _tmTheme.tm.font.footnote * 1.4
147
+ },
148
+ glyph: {
149
+ fontWeight: "700"
150
+ },
151
+ detail: {
152
+ color: _tmTheme.tm.color.labelTertiary,
153
+ fontSize: _tmTheme.tm.font.mono,
154
+ lineHeight: _tmTheme.tm.font.mono * 1.4,
155
+ paddingLeft: 14
156
+ },
157
+ empty: {
158
+ color: _tmTheme.tm.color.labelSecondary,
159
+ fontSize: _tmTheme.tm.font.footnote
160
+ }
161
+ });
162
+ //# sourceMappingURL=RestoreOutcomeCard.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_sharedUi","_tmTheme","_timeMachineStore","_jsxRuntime","HIT","top","bottom","left","right","restoreNeedsAttention","outcome","Object","values","results","some","r","ok","skipped","length","route","status","ResultLine","glyph","text","jsxs","Text","style","styles","line","color","tm","accent","warning","numberOfLines","children","RouteResult","jsx","href","error","RestoreOutcomeCard","entries","reloading","mode","willReload","View","card","headerRow","title","snapshotName","TouchableOpacity","onPress","timeMachineStore","clearLastOutcome","hitSlop","accessibilityRole","accessibilityLabel","X","size","labelSecondary","empty","map","sourceId","result","applied","slice","skip","detail","id","reason","warnings","StyleSheet","create","marginHorizontal","gutter","marginTop","backgroundColor","group","borderRadius","radius","padding","gap","flexDirection","alignItems","marginBottom","flex","label","fontSize","fontWeight","letterSpacing","tracking","control","font","footnote","lineHeight","labelTertiary","mono","paddingLeft"],"sourceRoot":"../../../../src","sources":["components/list/RestoreOutcomeCard.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,141 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.SnapshotRow = SnapshotRow;
7
+ var _reactNative = require("react-native");
8
+ var _primitives = require("../../ui/primitives");
9
+ var _SwipeActionsRow = require("../../ui/SwipeActionsRow");
10
+ var _tmTheme = require("../../ui/tmTheme");
11
+ var _format = require("../format");
12
+ var _jsxRuntime = require("react/jsx-runtime");
13
+ /**
14
+ * One restore point in the list: what it is, when it was taken, how big it
15
+ * is, where it was captured — and the single action worth having at arm's
16
+ * reach. Tapping the row opens the restore preview; the pill restores now.
17
+ *
18
+ * The route is shown as context — where this state was true. Whether a
19
+ * restore also navigates there is decided in the restore preview, beside the
20
+ * other changes it is about to make.
21
+ *
22
+ * Duplicate and delete live behind a swipe. A destructive target beside
23
+ * "Restore" is a mis-tap that costs a snapshot, and the two-step gesture is
24
+ * deliberate enough — recovery is the undo the list offers after, not a
25
+ * dialog before. Renaming is NOT here: it belongs with the restore point's
26
+ * other settings, on the preview screen.
27
+ */
28
+
29
+ /** "15h ago · 9.5 KB · 5 sources · skips 2" */function describe(meta) {
30
+ if (meta.baseline) return "Wipes to fresh install";
31
+ const parts = [(0, _format.timeAgo)(meta.createdAt), (0, _format.formatBytes)(meta.sizeBytes), `${Object.keys(meta.sources).length} sources`];
32
+ // A saved selection is worth stating on the row — this restore point no
33
+ // longer does the obvious thing, and one tap on RESTORE honors it.
34
+ if (meta.excludedKeys?.length) parts.push(`skips ${meta.excludedKeys.length}`);else if (meta.scope?.length) parts.push(`scoped (${meta.scope.length})`);
35
+ return parts.join(" · ");
36
+ }
37
+ function SnapshotRow({
38
+ meta,
39
+ busy,
40
+ onOpen,
41
+ onRestore,
42
+ onDelete,
43
+ onDuplicate
44
+ }) {
45
+ const testID = `time-machine-snap-${meta.id}`;
46
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_SwipeActionsRow.SwipeActionsRow, {
47
+ testID: testID,
48
+ actions: [
49
+ // "Dup" over "Copy": on a row full of text, "Copy" reads as
50
+ // copy-to-clipboard.
51
+ {
52
+ label: "Dup",
53
+ onPress: onDuplicate
54
+ }, {
55
+ label: "Delete",
56
+ onPress: onDelete,
57
+ background: _tmTheme.tm.color.danger,
58
+ color: _tmTheme.tm.color.onDanger
59
+ }],
60
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
61
+ style: styles.row,
62
+ onPress: onOpen,
63
+ activeOpacity: 0.7,
64
+ accessibilityRole: "button",
65
+ accessibilityLabel: `${meta.name}. ${describe(meta)}. Open restore preview`,
66
+ testID: testID,
67
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
68
+ style: styles.text,
69
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
70
+ style: styles.name,
71
+ numberOfLines: 1,
72
+ children: meta.name
73
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
74
+ style: styles.meta,
75
+ numberOfLines: 1,
76
+ children: describe(meta)
77
+ }), meta.lastRestoredAt ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
78
+ style: styles.restored,
79
+ numberOfLines: 1,
80
+ children: ["Restored ", (0, _format.timeAgo)(meta.lastRestoredAt)]
81
+ }) : null, meta.route ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
82
+ style: styles.route,
83
+ numberOfLines: 1,
84
+ children: meta.route.href
85
+ }) : null]
86
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
87
+ onPress: onRestore,
88
+ disabled: busy,
89
+ style: busy ? styles.actionDisabled : null,
90
+ accessibilityRole: "button",
91
+ accessibilityLabel: meta.baseline ? "Wipe and reload" : "Restore",
92
+ testID: `${testID}-restore`,
93
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_primitives.PillLabel, {
94
+ label: meta.baseline ? "Wipe" : "Restore",
95
+ color: meta.baseline ? _tmTheme.tm.color.danger : _tmTheme.tm.color.accent,
96
+ background: meta.baseline ? _tmTheme.tm.color.dangerSoft : _tmTheme.tm.color.accentSoft
97
+ })
98
+ })]
99
+ })
100
+ });
101
+ }
102
+ const styles = _reactNative.StyleSheet.create({
103
+ row: {
104
+ flexDirection: "row",
105
+ alignItems: "center",
106
+ gap: 10,
107
+ paddingHorizontal: _tmTheme.tm.textInset,
108
+ paddingVertical: 11
109
+ },
110
+ text: {
111
+ flex: 1,
112
+ minWidth: 0
113
+ },
114
+ name: {
115
+ color: _tmTheme.tm.color.label,
116
+ fontSize: _tmTheme.tm.font.row,
117
+ fontWeight: "600",
118
+ letterSpacing: _tmTheme.tm.tracking.row
119
+ },
120
+ meta: {
121
+ color: _tmTheme.tm.color.labelSecondary,
122
+ fontSize: _tmTheme.tm.font.footnote,
123
+ marginTop: 2,
124
+ fontVariant: ["tabular-nums"]
125
+ },
126
+ restored: {
127
+ color: _tmTheme.tm.color.accent,
128
+ fontSize: _tmTheme.tm.font.footnote,
129
+ marginTop: 2
130
+ },
131
+ route: {
132
+ color: _tmTheme.tm.color.labelTertiary,
133
+ fontFamily: _tmTheme.TM_MONO,
134
+ fontSize: _tmTheme.tm.font.mono,
135
+ marginTop: 4
136
+ },
137
+ actionDisabled: {
138
+ opacity: 0.4
139
+ }
140
+ });
141
+ //# sourceMappingURL=SnapshotRow.js.map