react-native-inapp-inspector 2.3.24 → 2.4.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 (207) hide show
  1. package/README.md +26 -5
  2. package/dist/commonjs/components/AnalyticsDetail.js +15 -12
  3. package/dist/commonjs/components/AnalyticsEventCard.js +11 -8
  4. package/dist/commonjs/components/AppHeaderLogo.js +4 -6
  5. package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -0
  6. package/dist/commonjs/components/ConsoleLogCard.js +92 -80
  7. package/dist/commonjs/components/EndOfListFooter.d.ts +5 -1
  8. package/dist/commonjs/components/EndOfListFooter.js +27 -5
  9. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
  10. package/dist/commonjs/components/Inspector/AnalyticsTab.js +27 -299
  11. package/dist/commonjs/components/Inspector/ConsoleTab.js +36 -94
  12. package/dist/commonjs/components/Inspector/CrashDetail.js +11 -10
  13. package/dist/commonjs/components/Inspector/CrashTab.js +43 -33
  14. package/dist/commonjs/components/Inspector/DebuggingTab.js +13 -13
  15. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +107 -71
  16. package/dist/commonjs/components/Inspector/FabLauncher.js +8 -9
  17. package/dist/commonjs/components/Inspector/InspectorHeader.js +93 -70
  18. package/dist/commonjs/components/Inspector/LogDetail.js +10 -7
  19. package/dist/commonjs/components/Inspector/MainScreen.js +66 -30
  20. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +1 -1
  21. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +3 -3
  22. package/dist/commonjs/components/Inspector/NetworkDetail.js +29 -28
  23. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +1 -1
  24. package/dist/commonjs/components/Inspector/NetworkTab.js +87 -85
  25. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +3 -3
  26. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +21 -22
  27. package/dist/commonjs/components/Inspector/PushCard.d.ts +4 -0
  28. package/dist/commonjs/components/Inspector/PushCard.js +89 -0
  29. package/dist/commonjs/components/Inspector/PushDetail.d.ts +4 -0
  30. package/dist/commonjs/components/Inspector/PushDetail.js +190 -0
  31. package/dist/commonjs/components/Inspector/PushTab.d.ts +3 -0
  32. package/dist/commonjs/components/Inspector/PushTab.js +45 -0
  33. package/dist/commonjs/components/Inspector/ReduxDetail.js +16 -13
  34. package/dist/commonjs/components/Inspector/ReduxTab.js +109 -106
  35. package/dist/commonjs/components/Inspector/SettingsPanel.js +230 -134
  36. package/dist/commonjs/components/Inspector/StorageTab.js +55 -51
  37. package/dist/commonjs/components/Inspector/TabBar.js +30 -26
  38. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  39. package/dist/commonjs/components/JsonViewer.js +151 -159
  40. package/dist/commonjs/components/LogCard.js +34 -38
  41. package/dist/commonjs/components/LogSyntaxHighlighter.js +3 -3
  42. package/dist/commonjs/components/ModuleErrorBoundary.d.ts +24 -0
  43. package/dist/commonjs/components/ModuleErrorBoundary.js +33 -0
  44. package/dist/commonjs/components/NetworkIcons.d.ts +3 -3
  45. package/dist/commonjs/components/NetworkIcons.js +10 -6
  46. package/dist/commonjs/components/SegmentedTabs.d.ts +8 -2
  47. package/dist/commonjs/components/SegmentedTabs.js +11 -7
  48. package/dist/commonjs/components/ShareButton.d.ts +11 -0
  49. package/dist/commonjs/components/ShareButton.js +6 -0
  50. package/dist/commonjs/constants/index.js +1 -1
  51. package/dist/commonjs/constants/version.d.ts +1 -1
  52. package/dist/commonjs/constants/version.js +1 -1
  53. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  54. package/dist/commonjs/customHooks/networkLogger.js +1 -2
  55. package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
  56. package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
  57. package/dist/commonjs/helpers/index.d.ts +6 -0
  58. package/dist/commonjs/helpers/index.js +4 -4
  59. package/dist/commonjs/helpers/memoryManager.d.ts +2 -2
  60. package/dist/commonjs/helpers/memoryManager.js +1 -1
  61. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  62. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  63. package/dist/commonjs/helpers/settingsStore.js +1 -1
  64. package/dist/commonjs/helpers/shareFormatter.d.ts +13 -0
  65. package/dist/commonjs/helpers/shareFormatter.js +7 -0
  66. package/dist/commonjs/i18n/index.d.ts +35 -0
  67. package/dist/commonjs/i18n/index.js +1 -1
  68. package/dist/commonjs/i18n/locales/ar.json +1 -0
  69. package/dist/commonjs/i18n/locales/de.json +1 -0
  70. package/dist/commonjs/i18n/locales/en.json +1 -1
  71. package/dist/commonjs/i18n/locales/es.json +1 -0
  72. package/dist/commonjs/i18n/locales/fr.json +1 -0
  73. package/dist/commonjs/i18n/locales/hi.json +1 -0
  74. package/dist/commonjs/i18n/locales/ja.json +1 -0
  75. package/dist/commonjs/i18n/locales/ko.json +1 -0
  76. package/dist/commonjs/i18n/locales/pt.json +1 -0
  77. package/dist/commonjs/i18n/locales/ru.json +1 -0
  78. package/dist/commonjs/i18n/locales/zh.json +1 -0
  79. package/dist/commonjs/index.d.ts +6 -5
  80. package/dist/commonjs/index.js +4 -4
  81. package/dist/commonjs/push.d.ts +4 -0
  82. package/dist/commonjs/push.js +1 -0
  83. package/dist/commonjs/styles/AppColors.d.ts +40 -0
  84. package/dist/commonjs/styles/AppColors.js +1 -1
  85. package/dist/commonjs/styles/index.js +1 -1
  86. package/dist/commonjs/types/enums.d.ts +30 -20
  87. package/dist/commonjs/types/enums.js +1 -1
  88. package/dist/commonjs/types/index.d.ts +10 -0
  89. package/dist/commonjs/types/interfaces.d.ts +63 -7
  90. package/dist/esm/components/AnalyticsDetail.js +84 -81
  91. package/dist/esm/components/AnalyticsEventCard.js +20 -17
  92. package/dist/esm/components/AppHeaderLogo.js +5 -7
  93. package/dist/esm/components/ConsoleLogCard.d.ts +1 -0
  94. package/dist/esm/components/ConsoleLogCard.js +98 -86
  95. package/dist/esm/components/EndOfListFooter.d.ts +5 -1
  96. package/dist/esm/components/EndOfListFooter.js +36 -14
  97. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
  98. package/dist/esm/components/Inspector/AnalyticsTab.js +44 -316
  99. package/dist/esm/components/Inspector/ConsoleTab.js +55 -113
  100. package/dist/esm/components/Inspector/CrashDetail.js +53 -52
  101. package/dist/esm/components/Inspector/CrashTab.js +74 -64
  102. package/dist/esm/components/Inspector/DebuggingTab.js +33 -33
  103. package/dist/esm/components/Inspector/DeviceInfoTab.js +174 -138
  104. package/dist/esm/components/Inspector/FabLauncher.js +41 -42
  105. package/dist/esm/components/Inspector/InspectorHeader.js +138 -115
  106. package/dist/esm/components/Inspector/LogDetail.js +24 -21
  107. package/dist/esm/components/Inspector/MainScreen.js +98 -62
  108. package/dist/esm/components/Inspector/MediaGalleryTab.js +1 -1
  109. package/dist/esm/components/Inspector/MediaPreviewModal.js +31 -31
  110. package/dist/esm/components/Inspector/NetworkDetail.js +88 -87
  111. package/dist/esm/components/Inspector/NetworkFilterModal.js +8 -8
  112. package/dist/esm/components/Inspector/NetworkTab.js +132 -130
  113. package/dist/esm/components/Inspector/NpmStarPrompt.js +42 -42
  114. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -46
  115. package/dist/esm/components/Inspector/PushCard.d.ts +4 -0
  116. package/dist/esm/components/Inspector/PushCard.js +89 -0
  117. package/dist/esm/components/Inspector/PushDetail.d.ts +4 -0
  118. package/dist/esm/components/Inspector/PushDetail.js +190 -0
  119. package/dist/esm/components/Inspector/PushTab.d.ts +3 -0
  120. package/dist/esm/components/Inspector/PushTab.js +45 -0
  121. package/dist/esm/components/Inspector/ReduxDetail.js +40 -37
  122. package/dist/esm/components/Inspector/ReduxTab.js +155 -152
  123. package/dist/esm/components/Inspector/SettingsPanel.js +380 -284
  124. package/dist/esm/components/Inspector/StorageTab.js +177 -173
  125. package/dist/esm/components/Inspector/TabBar.js +38 -34
  126. package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
  127. package/dist/esm/components/JsonViewer.js +161 -169
  128. package/dist/esm/components/LogCard.js +38 -42
  129. package/dist/esm/components/LogSyntaxHighlighter.js +1 -1
  130. package/dist/esm/components/ModuleErrorBoundary.d.ts +24 -0
  131. package/dist/esm/components/ModuleErrorBoundary.js +33 -0
  132. package/dist/esm/components/NetworkIcons.d.ts +3 -3
  133. package/dist/esm/components/NetworkIcons.js +7 -3
  134. package/dist/esm/components/SegmentedTabs.d.ts +8 -2
  135. package/dist/esm/components/SegmentedTabs.js +12 -8
  136. package/dist/esm/components/ShareButton.d.ts +11 -0
  137. package/dist/esm/components/ShareButton.js +6 -0
  138. package/dist/esm/constants/index.js +1 -1
  139. package/dist/esm/constants/version.d.ts +1 -1
  140. package/dist/esm/constants/version.js +1 -1
  141. package/dist/esm/customHooks/crashHandler.js +6 -6
  142. package/dist/esm/customHooks/networkLogger.js +1 -2
  143. package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
  144. package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
  145. package/dist/esm/helpers/index.d.ts +6 -0
  146. package/dist/esm/helpers/index.js +4 -4
  147. package/dist/esm/helpers/memoryManager.d.ts +2 -2
  148. package/dist/esm/helpers/memoryManager.js +1 -1
  149. package/dist/esm/helpers/remoteConfig.js +1 -1
  150. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  151. package/dist/esm/helpers/settingsStore.js +1 -1
  152. package/dist/esm/helpers/shareFormatter.d.ts +13 -0
  153. package/dist/esm/helpers/shareFormatter.js +7 -0
  154. package/dist/esm/i18n/index.d.ts +35 -0
  155. package/dist/esm/i18n/index.js +1 -1
  156. package/dist/esm/i18n/locales/ar.json +1 -0
  157. package/dist/esm/i18n/locales/de.json +1 -0
  158. package/dist/esm/i18n/locales/en.json +1 -1
  159. package/dist/esm/i18n/locales/es.json +1 -0
  160. package/dist/esm/i18n/locales/fr.json +1 -0
  161. package/dist/esm/i18n/locales/hi.json +1 -0
  162. package/dist/esm/i18n/locales/ja.json +1 -0
  163. package/dist/esm/i18n/locales/ko.json +1 -0
  164. package/dist/esm/i18n/locales/pt.json +1 -0
  165. package/dist/esm/i18n/locales/ru.json +1 -0
  166. package/dist/esm/i18n/locales/zh.json +1 -0
  167. package/dist/esm/index.d.ts +6 -5
  168. package/dist/esm/index.js +7 -7
  169. package/dist/esm/push.d.ts +4 -0
  170. package/dist/esm/push.js +1 -0
  171. package/dist/esm/styles/AppColors.d.ts +40 -0
  172. package/dist/esm/styles/AppColors.js +1 -1
  173. package/dist/esm/styles/index.js +1 -1
  174. package/dist/esm/types/enums.d.ts +30 -20
  175. package/dist/esm/types/enums.js +1 -1
  176. package/dist/esm/types/index.d.ts +10 -0
  177. package/dist/esm/types/interfaces.d.ts +63 -7
  178. package/package.json +53 -24
  179. package/src/native/NativeInspector.ts +0 -1
  180. package/dist/commonjs/bundle.d.ts +0 -2
  181. package/dist/commonjs/bundle.js +0 -1
  182. package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
  183. package/dist/commonjs/components/BrandSquareIcon.js +0 -112
  184. package/dist/commonjs/components/Inspector/BundleTab.d.ts +0 -48
  185. package/dist/commonjs/components/Inspector/BundleTab.js +0 -1297
  186. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +0 -27
  187. package/dist/commonjs/components/Inspector/PerformanceTab.js +0 -454
  188. package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +0 -115
  189. package/dist/commonjs/customHooks/bundleAnalyzer.js +0 -1
  190. package/dist/commonjs/customHooks/performanceTracker.d.ts +0 -144
  191. package/dist/commonjs/customHooks/performanceTracker.js +0 -63
  192. package/dist/commonjs/performance.d.ts +0 -2
  193. package/dist/commonjs/performance.js +0 -1
  194. package/dist/esm/bundle.d.ts +0 -2
  195. package/dist/esm/bundle.js +0 -1
  196. package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
  197. package/dist/esm/components/BrandSquareIcon.js +0 -112
  198. package/dist/esm/components/Inspector/BundleTab.d.ts +0 -48
  199. package/dist/esm/components/Inspector/BundleTab.js +0 -1297
  200. package/dist/esm/components/Inspector/PerformanceTab.d.ts +0 -27
  201. package/dist/esm/components/Inspector/PerformanceTab.js +0 -454
  202. package/dist/esm/customHooks/bundleAnalyzer.d.ts +0 -115
  203. package/dist/esm/customHooks/bundleAnalyzer.js +0 -1
  204. package/dist/esm/customHooks/performanceTracker.d.ts +0 -144
  205. package/dist/esm/customHooks/performanceTracker.js +0 -63
  206. package/dist/esm/performance.d.ts +0 -2
  207. package/dist/esm/performance.js +0 -1
@@ -1,129 +1,71 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,t,a,n){n===void 0&&(n=a);var i=Object.getOwnPropertyDescriptor(t,a);(!i||("get"in i?!t.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(r,n,i)}):(function(r,t,a,n){n===void 0&&(n=a),r[n]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,t){Object.defineProperty(r,"default",{enumerable:!0,value:t})}):function(r,t){r.default=t}),__importStar=this&&this.__importStar||(function(){var r=function(t){return r=Object.getOwnPropertyNames||function(a){var n=[];for(var i in a)Object.prototype.hasOwnProperty.call(a,i)&&(n[n.length]=i);return n},r(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var n=r(t),i=0;i<n.length;i++)n[i]!=="default"&&__createBinding(a,t,n[i]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),ConsoleTab=react_1.default.memo(()=>{const{t:r}=(0,i18n_1.useTranslation)(),{logSearch:t,setLogSearch:a,logSortOrder:n,setLogSortOrder:i,handleDelete:A,logFilters:s,setLogFilters:p,logCounts:c,filteredConsoleLogs:d,visibleConsoleLogs:g,isConsolePaused:C,setIsConsolePaused:_}=(0,InspectorContext_1.useInspector)(),y=(0,react_1.useRef)(null),b=(0,react_1.useCallback)(({item:e,index:l})=><AnimatedEntrance_1.default index={l}distance={8}>
2
- <ConsoleLogCard_1.ConsoleLogCard item={e}searchStr={t}/>
3
- </AnimatedEntrance_1.default>,[t]),S=(0,react_1.useCallback)((e,l)=>e?.id?.toString()??l.toString(),[]),m=(0,react_1.useMemo)(()=>{const e=g.length,l=d.length;if(s.has("all")||!Array.from(s).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,o,l,n){n===void 0&&(n=l);var a=Object.getOwnPropertyDescriptor(o,l);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[l]}}),Object.defineProperty(t,n,a)}):(function(t,o,l,n){n===void 0&&(n=l),t[n]=o[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,o){Object.defineProperty(t,"default",{enumerable:!0,value:o})}):function(t,o){t.default=o}),__importStar=this&&this.__importStar||(function(){var t=function(o){return t=Object.getOwnPropertyNames||function(l){var n=[];for(var a in l)Object.prototype.hasOwnProperty.call(l,a)&&(n[n.length]=a);return n},t(o)};return function(o){if(o&&o.__esModule)return o;var l={};if(o!=null)for(var n=t(o),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(l,o,n[a]);return __setModuleDefault(l,o),l}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),ConsoleLogCard_1=require("../ConsoleLogCard"),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),types_1=require("../../types"),NetworkIcons_1=require("../NetworkIcons"),ConsoleTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{logSearch:o,setLogSearch:l,logSortOrder:n,setLogSortOrder:a,handleDelete:I,logFilters:c,setLogFilters:A,logCounts:_,filteredConsoleLogs:s,visibleConsoleLogs:m}=(0,InspectorContext_1.useInspector)(),v=(0,react_1.useRef)(null),[b,x]=react_1.default.useState(100),S=(0,react_1.useMemo)(()=>s.slice(0,b),[s,b]),L=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
+ <ConsoleLogCard_1.ConsoleLogCard item={e}searchStr={o}/>
3
+ </AnimatedEntrance_1.default>,[o]),V=(0,react_1.useCallback)((e,r)=>({length:148,offset:148*r,index:r}),[]),F=(0,react_1.useCallback)((e,r)=>e?.id?.toString()??r.toString(),[]),z=(0,react_1.useMemo)(()=>{const e=m.length,r=s.length;if(c.has("all")||!Array.from(c).some(h=>h!=="all"))return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
4
4
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
5
- {l===e?`Showing ${e} logs`:`Showing ${l} of ${e} logs`}
5
+ {r===e?`Showing ${e} logs`:`Showing ${r} of ${e} logs`}
6
6
  </react_native_1.Text>
7
- </react_native_1.View>;{const h=Array.from(s).filter(u=>u!=="all").map(u=>u==="user-log"?"Log":u==="analytics"?"Analytics":u.charAt(0).toUpperCase()+u.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
7
+ </react_native_1.View>;{const h=Array.from(c).filter(C=>C!=="all").map(C=>C==="user-log"?"Log":C==="analytics"?"Analytics":C.charAt(0).toUpperCase()+C.slice(1));return<react_native_1.View style={{paddingHorizontal:12,paddingTop:8,paddingBottom:3}}>
8
8
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.2}}>
9
- Filtered by {h.join(", ")} ({l} of {e} logs)
9
+ Filtered by {h.join(", ")} ({r} of {e} logs)
10
10
  </react_native_1.Text>
11
- </react_native_1.View>}},[g.length,d.length,s]),[f,w]=react_1.default.useState(!1),T=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]","[WARN]","[ERROR]","[SUCCESS]"],[]);return<react_native_1.View style={{flex:1}}>
11
+ </react_native_1.View>}},[m.length,s.length,c]),[w,T]=react_1.default.useState(!1),P=(0,react_1.useMemo)(()=>["[AXIOS]","[API]","[GRAPHQL]","[REDUX]","[ANALYTICS]","[AUTH]","[NAV]","[STORAGE]","[PERF]","[WS]","[PUSH]","[PAYMENT]","[SYNC]","[BLE]","[LOCATION]","[TEST]","[DEBUG]"],[]),B=(0,react_1.useMemo)(()=>[{id:types_1.LogFilter.All,label:t("common.all","All"),count:_.all?.split("/")?.[0]??"0",color:AppColors_1.AppColors.purple,Icon:NetworkIcons_1.LayersIcon},{id:types_1.LogFilter.UserLog,label:t("console.log","Log"),count:_["user-log"]?.split("/")?.[0]??"0",color:AppColors_1.AppColors.teal600,Icon:NetworkIcons_1.UserIcon},{id:types_1.LogFilter.Info,label:t("console.info","Info"),count:_.info?.split("/")?.[0]??"0",color:AppColors_1.AppColors.sky600,Icon:NetworkIcons_1.InfoCircleIcon},{id:types_1.LogFilter.Warn,label:t("console.warning","Warn"),count:_.warn?.split("/")?.[0]??"0",color:AppColors_1.AppColors.amber600,Icon:NetworkIcons_1.WarningTriangleIcon},{id:types_1.LogFilter.Error,label:t("console.error","Error"),count:_.error?.split("/")?.[0]??"0",color:AppColors_1.AppColors.errorColor,Icon:NetworkIcons_1.ErrorCircleIcon},{id:types_1.LogFilter.Analytics,label:t("console.analytics","Analytics"),count:_.analytics?.split("/")?.[0]??"0",color:AppColors_1.AppColors.violet600,Icon:NetworkIcons_1.AnalyticsIcon}],[_,t]);return<react_native_1.View style={{flex:1}}>
12
12
  <react_native_1.View style={{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingBottom:6}}>
13
13
  <react_native_1.View style={[styles_1.default.toolbarRow,{marginTop:12,marginBottom:8}]}>
14
- <react_native_1.View style={[styles_1.default.searchContainer,f&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
15
- <NetworkIcons_1.SearchIcon color={f?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>
16
- <react_native_1.TextInput placeholder={r("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={t}onChangeText={a}onFocus={()=>w(!0)}onBlur={()=>w(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
- {t.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
14
+ <react_native_1.View style={[styles_1.default.searchContainer,w&&{borderColor:AppColors_1.AppColors.purple,borderWidth:1.5}]}>
15
+ <NetworkIcons_1.SearchIcon color={w?AppColors_1.AppColors.purple:AppColors_1.AppColors.grayTextWeak}size={16}/>
16
+ <react_native_1.TextInput placeholder={t("console.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={o}onChangeText={l}onFocus={()=>T(!0)}onBlur={()=>T(!1)}style={styles_1.default.searchInput}autoCorrect={!1}autoCapitalize="none"/>
17
+ {o.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
18
18
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:2}}>
19
19
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:10,fontFamily:AppFonts_1.AppFonts.interBold}}>
20
- {d.length}
20
+ {s.length}
21
21
  </react_native_1.Text>
22
22
  </react_native_1.View>
23
- <react_native_1.Pressable onPress={()=>a("")}hitSlop={10}style={styles_1.default.clearBtn}>
23
+ <react_native_1.Pressable onPress={()=>l("")}hitSlop={10}style={styles_1.default.clearBtn}>
24
24
  <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak}size={14}/>
25
25
  </react_native_1.Pressable>
26
26
  </react_native_1.View>}
27
27
  </react_native_1.View>
28
28
 
29
29
  <react_native_1.View style={styles_1.default.toolbarRight}>
30
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,C&&{borderColor:`${AppColors_1.AppColors.darkOrange}50`,backgroundColor:`${AppColors_1.AppColors.darkOrange}18`}]}onPress={()=>_(e=>!e)}hitSlop={6}>
31
- <NetworkIcons_1.HeaderPauseIcon isPaused={C}color={C?AppColors_1.AppColors.darkOrange:AppColors_1.AppColors.grayTextStrong}size={16}/>
32
- </TouchableScale_1.default>
33
- <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>i(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
30
+ <TouchableScale_1.default style={styles_1.default.toolbarBtn}onPress={()=>a(e=>e==="newest"?"oldest":"newest")}hitSlop={10}>
34
31
  <NetworkIcons_1.SortArrowIcon color={AppColors_1.AppColors.grayTextStrong}size={18}direction={n==="newest"?"down":"up"}/>
35
32
  </TouchableScale_1.default>
36
- <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={A}hitSlop={6}>
33
+ <TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={I}hitSlop={6}>
37
34
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
38
35
  </TouchableScale_1.default>
39
36
  </react_native_1.View>
40
37
  </react_native_1.View>
41
38
 
42
39
 
43
- {(f||t.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:16,flexDirection:"row",alignItems:"center",gap:6}}>
44
- {T.map(e=>{const l=t.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{a(l?o=>o.replace(e,"").trim():o=>o?`${o} ${e}`.trim():e)}}>
45
- <react_native_1.View style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:l?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:l?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}30`}}>
46
- <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:l?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
40
+ {(w||o.length>0)&&<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginBottom:6,maxHeight:30}}contentContainerStyle={{paddingHorizontal:16,flexDirection:"row",alignItems:"center",gap:6}}>
41
+ {P.map(e=>{const r=o.includes(e);return<TouchableScale_1.default key={e}onPress={()=>{l(r?i=>i.replace(e,"").trim():i=>i?`${i} ${e}`.trim():e)}}>
42
+ <react_native_1.View style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}14`,borderWidth:1,borderColor:r?AppColors_1.AppColors.purple:`${AppColors_1.AppColors.purple}30`}}>
43
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}}>
47
44
  {e}
48
45
  </react_native_1.Text>
49
46
  </react_native_1.View>
50
47
  </TouchableScale_1.default>})}
51
48
  </react_native_1.ScrollView>}
52
49
 
53
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{marginVertical:4,maxHeight:46}}contentContainerStyle={{paddingHorizontal:16,paddingBottom:4,flexDirection:"row",alignItems:"center",gap:8}}>
54
-
55
- {(()=>{const e=s.has("all");return<TouchableScale_1.default onPress={()=>{p(new Set(["all"]))}}>
56
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.indigo600Alt:AppColors_1.AppColors.indigo50,borderColor:e?AppColors_1.AppColors.indigo600:AppColors_1.AppColors.indigo400,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.indigo600Alt,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
57
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
58
- <NetworkIcons_1.LayersIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.indigo600Alt}/>
59
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.indigo600Alt,fontFamily:AppFonts_1.AppFonts.interBold}]}>
60
- {r("common.all","All")} ({c.all})
61
- </react_native_1.Text>
62
- </react_native_1.View>
63
- </react_native_1.View>
64
- </TouchableScale_1.default>})()}
65
-
66
-
67
- {(()=>{const e=s.has("user-log");return<TouchableScale_1.default onPress={()=>{p(l=>{const o=new Set(l);return o.delete("all"),o.has("user-log")?o.delete("user-log"):o.add("user-log"),o.size===0&&o.add("all"),o})}}>
68
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.teal600:AppColors_1.AppColors.teal100,borderColor:e?AppColors_1.AppColors.teal600:AppColors_1.AppColors.teal400,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.teal600,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
69
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
70
- <NetworkIcons_1.UserIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.teal600}/>
71
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.teal600,fontFamily:AppFonts_1.AppFonts.interBold}]}>
72
- {r("console.log","Log")} ({c["user-log"]})
73
- </react_native_1.Text>
74
- </react_native_1.View>
75
- </react_native_1.View>
76
- </TouchableScale_1.default>})()}
77
-
78
-
79
- {(()=>{const e=s.has("info");return<TouchableScale_1.default onPress={()=>{p(l=>{const o=new Set(l);return o.delete("all"),o.has("info")?o.delete("info"):o.add("info"),o.size===0&&o.add("all"),o})}}>
80
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.sky600:AppColors_1.AppColors.sky100,borderColor:e?AppColors_1.AppColors.blue700:AppColors_1.AppColors.sky400,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.sky600,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
81
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
82
- <NetworkIcons_1.InfoCircleIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.sky600}/>
83
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.sky600,fontFamily:AppFonts_1.AppFonts.interBold}]}>
84
- {r("console.info","Info")} ({c.info})
85
- </react_native_1.Text>
86
- </react_native_1.View>
87
- </react_native_1.View>
88
- </TouchableScale_1.default>})()}
89
-
90
-
91
- {(()=>{const e=s.has("warn");return<TouchableScale_1.default onPress={()=>{p(l=>{const o=new Set(l);return o.delete("all"),o.has("warn")?o.delete("warn"):o.add("warn"),o.size===0&&o.add("all"),o})}}>
92
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.amber600:AppColors_1.AppColors.amber100,borderColor:e?AppColors_1.AppColors.amber700:AppColors_1.AppColors.amber200,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.amber600,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
93
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
94
- <NetworkIcons_1.WarningTriangleIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.amber700}/>
95
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.amber800Warm,fontFamily:AppFonts_1.AppFonts.interBold}]}>
96
- {r("console.warning","Warn")} ({c.warn})
97
- </react_native_1.Text>
98
- </react_native_1.View>
99
- </react_native_1.View>
100
- </TouchableScale_1.default>})()}
101
-
102
-
103
- {(()=>{const e=s.has("error");return<TouchableScale_1.default onPress={()=>{p(l=>{const o=new Set(l);return o.delete("all"),o.has("error")?o.delete("error"):o.add("error"),o.size===0&&o.add("all"),o})}}>
104
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.red500:AppColors_1.AppColors.red100,borderColor:e?AppColors_1.AppColors.red600:AppColors_1.AppColors.errorBorder,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.red500,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
105
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
106
- <NetworkIcons_1.ErrorCircleIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.red500}/>
107
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.redErrorText,fontFamily:AppFonts_1.AppFonts.interBold}]}>
108
- {r("console.error","Error")} ({c.error})
109
- </react_native_1.Text>
110
- </react_native_1.View>
111
- </react_native_1.View>
112
- </TouchableScale_1.default>})()}
113
-
114
-
115
- {(()=>{const e=s.has("analytics");return<TouchableScale_1.default onPress={()=>{p(l=>{const o=new Set(l);return o.delete("all"),o.has("analytics")?o.delete("analytics"):o.add("analytics"),o.size===0&&o.add("all"),o})}}>
116
- <react_native_1.View style={[styles_1.default.statusFilterChip,{backgroundColor:e?AppColors_1.AppColors.violet600:AppColors_1.AppColors.purple100,borderColor:e?AppColors_1.AppColors.purple700:AppColors_1.AppColors.purple200,borderRadius:8,paddingHorizontal:10,paddingVertical:6},e&&{shadowColor:AppColors_1.AppColors.violet600,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2.5,elevation:2}]}>
117
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
118
- <NetworkIcons_1.AnalyticsIcon size={13}color={e?AppColors_1.AppColors.white:AppColors_1.AppColors.violet600}/>
119
- <react_native_1.Text numberOfLines={1}style={[styles_1.default.statusFilterText,{color:e?AppColors_1.AppColors.white:AppColors_1.AppColors.purpleText,fontFamily:AppFonts_1.AppFonts.interBold}]}>
120
- {r("console.analytics","Analytics")} ({c.analytics})
50
+
51
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:12,gap:6}}>
52
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
53
+ {B.map(e=>{const r=e.id==="all"?c.has("all"):c.has(e.id)&&!c.has("all"),i=e.color||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:i,C=e.Icon;return<TouchableScale_1.default key={e.id}onPress={()=>{e.id==="all"?A(new Set(["all"])):A(O=>{const y=new Set(O);return y.delete("all"),y.has(e.id)?y.delete(e.id):y.add(e.id),y.size===0&&y.add("all"),y})}}>
54
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?i:`${i}12`,borderWidth:1,borderColor:r?i:`${i}30`,gap:5}}>
55
+ <C size={11}color={h}/>
56
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
57
+ {e.label}
121
58
  </react_native_1.Text>
59
+ <react_native_1.View style={{backgroundColor:r?"rgba(255,255,255,0.25)":`${i}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8}}>
60
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:r?AppColors_1.AppColors.white:i}}>
61
+ {e.count}
62
+ </react_native_1.Text>
63
+ </react_native_1.View>
122
64
  </react_native_1.View>
123
- </react_native_1.View>
124
- </TouchableScale_1.default>})()}
125
- </react_native_1.ScrollView>
65
+ </TouchableScale_1.default>})}
66
+ </react_native_1.ScrollView>
67
+ </react_native_1.View>
126
68
  </react_native_1.View>
127
69
 
128
- <react_native_1.FlatList ref={y}data={d}keyExtractor={S}ListHeaderComponent={m}renderItem={b}initialNumToRender={12}maxToRenderPerBatch={8}windowSize={5}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}ListEmptyComponent={<EmptyState_1.default isSearch={t.length>0||!s.has("all")}searchQuery={t}customTitle={t.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{a(""),p(new Set(["all"]))}}/>}ListFooterComponent={d.length>0?<EndOfListFooter_1.default count={d.length}label="logs"/>:null}contentContainerStyle={[styles_1.default.listContent,d.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
70
+ <react_native_1.FlatList ref={v}data={S}keyExtractor={F}ListHeaderComponent={z}renderItem={L}getItemLayout={V}initialNumToRender={15}maxToRenderPerBatch={10}windowSize={9}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0||!c.has("all")}searchQuery={o}customTitle={o.length>0?"No matching console logs":"No console logs"}onClearSearch={()=>{l(""),A(new Set(["all"]))}}/>}ListFooterComponent={s.length>0?<EndOfListFooter_1.default count={S.length}totalCount={s.length}label="logs"hasMore={S.length<s.length}onLoadMore={()=>x(e=>e+10)}/>:null}contentContainerStyle={[styles_1.default.listContent,s.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
129
71
  </react_native_1.View>});exports.default=ConsoleTab;
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,a,i){i===void 0&&(i=a);var o=Object.getOwnPropertyDescriptor(e,a);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[a]}}),Object.defineProperty(t,i,o)}):(function(t,e,a,i){i===void 0&&(i=a),t[i]=e[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(a){var i=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[i.length]=o);return i},t(e)};return function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var i=t(e),o=0;o<i.length;o++)i[o]!=="default"&&__createBinding(a,e,i[o]);return __setModuleDefault(a,e),a}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),HighlightText_1=__importDefault(require("../HighlightText")),JsonViewer_1=__importDefault(require("../JsonViewer")),CopyButton_1=__importDefault(require("../CopyButton")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),crashHandler_1=require("../../customHooks/crashHandler"),helpers_1=require("../../helpers"),NetworkIcons_1=require("../NetworkIcons"),CrashDetail=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{selectedCrash:e}=(0,InspectorContext_1.useInspector)(),[a,i]=(0,react_1.useState)("stack"),[o,g]=(0,react_1.useState)(""),[n,C]=(0,react_1.useState)("app"),[p,y]=(0,react_1.useState)(!1),[m,_]=(0,react_1.useState)(null);if(!e)return null;const s=(0,react_1.useMemo)(()=>e.parsedStack&&e.parsedStack.length>0?e.parsedStack:e.stack?(0,crashHandler_1.parseCrashStackTrace)(e.stack):[],[e]),T=(0,react_1.useMemo)(()=>{try{return JSON.parse(JSON.stringify(e))}catch{return e}},[e]),c=(0,react_1.useMemo)(()=>s.filter(r=>r.isAppCode),[s]),f=(0,react_1.useMemo)(()=>n==="app"&&c.length>0?c:s,[n,c,s]),d=(0,react_1.useMemo)(()=>c[0]||s[0]||null,[c,s]),h=()=>{const r=(0,crashHandler_1.exportCrashReport)(e);(0,helpers_1.copyToClipboard)(r,"Crash Report"),y(!0),setTimeout(()=>y(!1),2e3)},x=(r,l)=>{const u=r.raw||`${r.method}@${r.file}:${r.lineNumber}:${r.column}`;(0,helpers_1.copyToClipboard)(u,"Stack Frame"),_(l),setTimeout(()=>_(null),1500)},b=[{key:"stack",label:t("crash.tabStack",{count:s.length}),icon:r=><NetworkIcons_1.StackTraceIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"diagnostics",label:t("crash.tabDiagnostics"),icon:r=><NetworkIcons_1.DiagnosticsIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"breadcrumbs",label:t("crash.tabTrail",{count:e.breadcrumbs?.length||0}),icon:r=><NetworkIcons_1.TrailIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"raw",label:t("crash.tabRawJson"),icon:r=><NetworkIcons_1.RawJsonIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}];return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,e,a,i){i===void 0&&(i=a);var o=Object.getOwnPropertyDescriptor(e,a);(!o||("get"in o?!e.__esModule:o.writable||o.configurable))&&(o={enumerable:!0,get:function(){return e[a]}}),Object.defineProperty(t,i,o)}):(function(t,e,a,i){i===void 0&&(i=a),t[i]=e[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,e){Object.defineProperty(t,"default",{enumerable:!0,value:e})}):function(t,e){t.default=e}),__importStar=this&&this.__importStar||(function(){var t=function(e){return t=Object.getOwnPropertyNames||function(a){var i=[];for(var o in a)Object.prototype.hasOwnProperty.call(a,o)&&(i[i.length]=o);return i},t(e)};return function(e){if(e&&e.__esModule)return e;var a={};if(e!=null)for(var i=t(e),o=0;o<i.length;o++)i[o]!=="default"&&__createBinding(a,e,i[o]);return __setModuleDefault(a,e),a}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),HighlightText_1=__importDefault(require("../HighlightText")),JsonViewer_1=__importDefault(require("../JsonViewer")),CopyButton_1=__importDefault(require("../CopyButton")),ShareButton_1=__importDefault(require("../ShareButton")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),crashHandler_1=require("../../customHooks/crashHandler"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),NetworkIcons_1=require("../NetworkIcons"),CrashDetail=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{selectedCrash:e}=(0,InspectorContext_1.useInspector)(),[a,i]=(0,react_1.useState)("stack"),[o,g]=(0,react_1.useState)(""),[n,C]=(0,react_1.useState)("app"),[c,y]=(0,react_1.useState)(!1),[m,_]=(0,react_1.useState)(null);if(!e)return null;const s=(0,react_1.useMemo)(()=>e.parsedStack&&e.parsedStack.length>0?e.parsedStack:e.stack?(0,crashHandler_1.parseCrashStackTrace)(e.stack):[],[e]),h=(0,react_1.useMemo)(()=>{try{return JSON.parse(JSON.stringify(e))}catch{return e}},[e]),p=(0,react_1.useMemo)(()=>s.filter(r=>r.isAppCode),[s]),f=(0,react_1.useMemo)(()=>n==="app"&&p.length>0?p:s,[n,p,s]),d=(0,react_1.useMemo)(()=>p[0]||s[0]||null,[p,s]),T=()=>{const r=(0,crashHandler_1.exportCrashReport)(e);(0,helpers_1.copyToClipboard)(r,"Crash Report"),y(!0),setTimeout(()=>y(!1),2e3)},x=(r,l)=>{const u=r.raw||`${r.method}@${r.file}:${r.lineNumber}:${r.column}`;(0,helpers_1.copyToClipboard)(u,"Stack Frame"),_(l),setTimeout(()=>_(null),1500)},b=[{key:"stack",label:t("crash.tabStack",{count:s.length}),icon:r=><NetworkIcons_1.StackTraceIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"diagnostics",label:t("crash.tabDiagnostics"),icon:r=><NetworkIcons_1.DiagnosticsIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"breadcrumbs",label:t("crash.tabTrail",{count:e.breadcrumbs?.length||0}),icon:r=><NetworkIcons_1.TrailIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"raw",label:t("crash.tabRawJson"),icon:r=><NetworkIcons_1.RawJsonIcon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}];return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
2
2
 
3
3
  <react_native_1.View style={{paddingHorizontal:8,paddingTop:6}}>
4
4
  <react_native_1.View style={localStyles.infoBar}>
@@ -22,10 +22,11 @@
22
22
  <react_native_1.View style={{flex:1}}/>
23
23
 
24
24
 
25
- <TouchableScale_1.default onPress={h}hitSlop={10}style={[localStyles.actionButton,p&&{backgroundColor:AppColors_1.AppColors.mintGreenBg,borderColor:AppColors_1.AppColors.mintGreenBorder}]}>
26
- {p?<NetworkIcons_1.CircleCheckIcon color={AppColors_1.AppColors.mintGreenText}size={12}/>:<NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.purple}size={12}/>}
27
- <react_native_1.Text style={[localStyles.actionButtonText,p&&{color:AppColors_1.AppColors.mintGreenText}]}>
28
- {t(p?"crash.copied":"crash.copyReport")}
25
+ <ShareButton_1.default onShare={()=>(0,shareFormatter_1.shareCrashReport)(e)}/>
26
+ <TouchableScale_1.default onPress={T}hitSlop={10}style={[localStyles.actionButton,c&&{backgroundColor:AppColors_1.AppColors.mintGreenBg,borderColor:AppColors_1.AppColors.mintGreenBorder}]}>
27
+ {c?<NetworkIcons_1.CircleCheckIcon color={AppColors_1.AppColors.mintGreenText}size={12}/>:<NetworkIcons_1.CopyIcon color={AppColors_1.AppColors.purple}size={12}/>}
28
+ <react_native_1.Text style={[localStyles.actionButtonText,c&&{color:AppColors_1.AppColors.mintGreenText}]}>
29
+ {t(c?"crash.copied":"crash.copyReport")}
29
30
  </react_native_1.Text>
30
31
  </TouchableScale_1.default>
31
32
  </react_native_1.View>
@@ -86,7 +87,7 @@
86
87
  <TouchableScale_1.default onPress={()=>C("app")}style={[localStyles.filterChip,n==="app"&&localStyles.filterChipActive]}>
87
88
  <NetworkIcons_1.AppFramesIcon size={12}color={n==="app"?AppColors_1.AppColors.white:AppColors_1.AppColors.purple}/>
88
89
  <react_native_1.Text style={[localStyles.filterChipText,n==="app"&&localStyles.filterChipTextActive]}>
89
- {t("crash.appFrames",{count:c.length})}
90
+ {t("crash.appFrames",{count:p.length})}
90
91
  </react_native_1.Text>
91
92
  </TouchableScale_1.default>
92
93
 
@@ -106,8 +107,8 @@
106
107
  #{l+1}
107
108
  </react_native_1.Text>
108
109
  </react_native_1.View>
109
- <react_native_1.View style={[localStyles.frameTypeBadge,r.isAppCode?{backgroundColor:"#ECFDF5",borderColor:"#A7F3D0"}:{backgroundColor:"#F1F5F9",borderColor:"#E2E8F0"}]}>
110
- <react_native_1.Text style={[localStyles.frameTypeBadgeText,r.isAppCode?{color:"#059669"}:{color:"#64748B"}]}>
110
+ <react_native_1.View style={[localStyles.frameTypeBadge,r.isAppCode?{backgroundColor:AppColors_1.AppColors.greenSuccessBg,borderColor:AppColors_1.AppColors.greenSuccessBorder}:{backgroundColor:AppColors_1.AppColors.slate100,borderColor:AppColors_1.AppColors.slate200}]}>
111
+ <react_native_1.Text style={[localStyles.frameTypeBadgeText,r.isAppCode?{color:AppColors_1.AppColors.emerald600}:{color:AppColors_1.AppColors.slate500}]}>
111
112
  {r.isAppCode?t("crash.frameApp"):t("crash.frameLib")}
112
113
  </react_native_1.Text>
113
114
  </react_native_1.View>
@@ -277,7 +278,7 @@
277
278
 
278
279
 
279
280
  {a==="raw"&&<react_native_1.View style={localStyles.rawContainer}>
280
- <JsonViewer_1.default data={T}search={o}wrap/>
281
+ <JsonViewer_1.default data={h}search={o}wrap/>
281
282
  </react_native_1.View>}
282
283
  </react_native_1.ScrollView>
283
- </react_native_1.View>});exports.default=CrashDetail;const localStyles=react_native_1.StyleSheet.create({infoBar:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:3,elevation:2,gap:8},badgeRow:{flexDirection:"row",alignItems:"center",gap:8},pillBadge:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,paddingVertical:3,borderRadius:12,borderWidth:1,gap:5},statusDot:{width:6,height:6,borderRadius:3},pillBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,letterSpacing:.4},actionButton:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}33`,borderWidth:1,paddingHorizontal:8,paddingVertical:4,borderRadius:8},actionButtonText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.purple},titleText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack,lineHeight:19},metaRow:{flexDirection:"row",alignItems:"center",gap:6,paddingVertical:2},metaChip:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:7,paddingVertical:3,borderRadius:6,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},metaChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayText},searchContainer:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,borderRadius:8,paddingHorizontal:10,height:36,gap:8},searchInput:{flex:1,fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,color:AppColors_1.AppColors.primaryBlack,paddingVertical:0},filterChipsRow:{flexDirection:"row",alignItems:"center",gap:8},filterChip:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},filterChipActive:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},filterChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayText},filterChipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.white},frameCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4},originFrameCard:{borderColor:"#6EE7B7",backgroundColor:"#F0FDF4"},frameCardHeader:{flexDirection:"row",alignItems:"center",gap:8},frameIndexBadge:{minWidth:24,height:18,paddingHorizontal:4,borderRadius:4,backgroundColor:`${AppColors_1.AppColors.purple}14`,alignItems:"center",justifyContent:"center"},frameIndexBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.purple},frameTypeBadge:{paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1},frameTypeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5},frameMethodText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.primaryBlack,flex:1},frameLocationRow:{flexDirection:"row",alignItems:"center"},frameFileText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,flex:1},frameLineText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.purple},frameCopyBtn:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:6,paddingVertical:3,borderRadius:5,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},frameCopyBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.grayText},frameRawText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,backgroundColor:`${AppColors_1.AppColors.primaryBlack}06`,borderRadius:5,paddingHorizontal:7,paddingVertical:4,overflow:"hidden"},componentStackText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:16,color:AppColors_1.AppColors.grayText,backgroundColor:`${AppColors_1.AppColors.primaryBlack}06`,borderRadius:6,padding:10},sectionCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:10},sectionCardHeader:{flexDirection:"row",alignItems:"center",gap:6,paddingBottom:6,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},sectionCardTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.primaryBlack},diagGrid:{flexDirection:"row",flexWrap:"wrap",rowGap:8,columnGap:12},diagItem:{width:"47%",gap:2},diagLabel:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},diagValue:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack},breadcrumbCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4},breadcrumbHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},breadcrumbTag:{backgroundColor:`${AppColors_1.AppColors.purple}14`,paddingHorizontal:6,paddingVertical:2,borderRadius:4},breadcrumbTagText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.purple},breadcrumbTime:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},breadcrumbMessage:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack,marginTop:2},rawContainer:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},emptyContainer:{padding:16,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},emptyText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,textAlign:"center"}});
284
+ </react_native_1.View>});exports.default=CrashDetail;const localStyles=react_native_1.StyleSheet.create({infoBar:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,shadowColor:AppColors_1.AppColors.black,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:3,elevation:2,gap:8},badgeRow:{flexDirection:"row",alignItems:"center",gap:8},pillBadge:{flexDirection:"row",alignItems:"center",paddingHorizontal:8,paddingVertical:3,borderRadius:12,borderWidth:1,gap:5},statusDot:{width:6,height:6,borderRadius:3},pillBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,letterSpacing:.4},actionButton:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}33`,borderWidth:1,paddingHorizontal:8,paddingVertical:4,borderRadius:8},actionButtonText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.purple},titleText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack,lineHeight:19},metaRow:{flexDirection:"row",alignItems:"center",gap:6,paddingVertical:2},metaChip:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:7,paddingVertical:3,borderRadius:6,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},metaChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayText},searchContainer:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,borderRadius:8,paddingHorizontal:10,height:36,gap:8},searchInput:{flex:1,fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,color:AppColors_1.AppColors.primaryBlack,paddingVertical:0},filterChipsRow:{flexDirection:"row",alignItems:"center",gap:8},filterChip:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},filterChipActive:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},filterChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayText},filterChipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.white},frameCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4},originFrameCard:{borderColor:AppColors_1.AppColors.greenMintBorder,backgroundColor:AppColors_1.AppColors.greenMintBg},frameCardHeader:{flexDirection:"row",alignItems:"center",gap:8},frameIndexBadge:{minWidth:24,height:18,paddingHorizontal:4,borderRadius:4,backgroundColor:`${AppColors_1.AppColors.purple}14`,alignItems:"center",justifyContent:"center"},frameIndexBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.purple},frameTypeBadge:{paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1},frameTypeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5},frameMethodText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.primaryBlack,flex:1},frameLocationRow:{flexDirection:"row",alignItems:"center"},frameFileText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,flex:1},frameLineText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.purple},frameCopyBtn:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:6,paddingVertical:3,borderRadius:5,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},frameCopyBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.grayText},frameRawText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,backgroundColor:`${AppColors_1.AppColors.primaryBlack}06`,borderRadius:5,paddingHorizontal:7,paddingVertical:4,overflow:"hidden"},componentStackText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,lineHeight:16,color:AppColors_1.AppColors.grayText,backgroundColor:`${AppColors_1.AppColors.primaryBlack}06`,borderRadius:6,padding:10},sectionCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:10},sectionCardHeader:{flexDirection:"row",alignItems:"center",gap:6,paddingBottom:6,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},sectionCardTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.primaryBlack},diagGrid:{flexDirection:"row",flexWrap:"wrap",rowGap:8,columnGap:12},diagItem:{width:"47%",gap:2},diagLabel:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},diagValue:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack},breadcrumbCard:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,gap:4},breadcrumbHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},breadcrumbTag:{backgroundColor:`${AppColors_1.AppColors.purple}14`,paddingHorizontal:6,paddingVertical:2,borderRadius:4},breadcrumbTagText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.purple},breadcrumbTime:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},breadcrumbMessage:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,color:AppColors_1.AppColors.primaryBlack,marginTop:2},rawContainer:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:10,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},emptyContainer:{padding:16,alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},emptyText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,textAlign:"center"}});
@@ -1,5 +1,5 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,o,s,l){l===void 0&&(l=s);var i=Object.getOwnPropertyDescriptor(o,s);(!i||("get"in i?!o.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return o[s]}}),Object.defineProperty(t,l,i)}):(function(t,o,s,l){l===void 0&&(l=s),t[l]=o[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,o){Object.defineProperty(t,"default",{enumerable:!0,value:o})}):function(t,o){t.default=o}),__importStar=this&&this.__importStar||(function(){var t=function(o){return t=Object.getOwnPropertyNames||function(s){var l=[];for(var i in s)Object.prototype.hasOwnProperty.call(s,i)&&(l[l.length]=i);return l},t(o)};return function(o){if(o&&o.__esModule)return o;var s={};if(o!=null)for(var l=t(o),i=0;i<l.length;i++)l[i]!=="default"&&__createBinding(s,o,l[i]);return __setModuleDefault(s,o),s}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),FeatureUnderDevNotice_1=__importDefault(require("./FeatureUnderDevNotice")),HighlightText_1=__importDefault(require("../HighlightText")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),crashHandler_1=require("../../customHooks/crashHandler"),CrashFilterModal_1=__importStar(require("./CrashFilterModal")),NetworkIcons_1=require("../NetworkIcons"),getRelativeTime=t=>{const o=Date.now(),s=Math.max(0,o-t),l=Math.floor(s/1e3),i=Math.floor(l/60),p=Math.floor(i/60),g=Math.floor(p/24);return l<60?`${l}s ago`:i<60?`${i}m ago`:p<24?`${p}h ago`:`${g}d ago`},CrashTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{crashRecords:o,selectedCrash:s,setSelectedCrash:l}=(0,InspectorContext_1.useInspector)(),i=(0,react_1.useRef)(null),[p,g]=(0,react_1.useState)(""),[d,_]=(0,react_1.useState)("all"),[a,T]=(0,react_1.useState)(CrashFilterModal_1.DEFAULT_CRASH_FILTERS),[w,x]=(0,react_1.useState)(!1),[v,S]=(0,react_1.useState)("stack"),f=(0,react_1.useMemo)(()=>{const e=o.length;let r=0,n=0,u=0,c=0,y=0;return o.forEach(C=>{C.isFatal&&r++,C.type==="js"?n++:C.type==="promise"?u++:C.type==="render"?c++:C.type==="native"&&y++}),{total:e,fatalCount:r,jsCount:n,promiseCount:u,renderCount:c,nativeCount:y}},[o]),h=(0,react_1.useMemo)(()=>{let e=o.filter(r=>{if(d==="fatal"&&!r.isFatal||d==="js"&&r.type!=="js"||d==="promise"&&r.type!=="promise"||d==="render"&&r.type!=="render"||d==="native"&&r.type!=="native"||a.types.size>0&&!a.types.has("all")&&!(a.types.has("fatal")&&r.isFatal||a.types.has("js")&&r.type==="js"||a.types.has("promise")&&r.type==="promise"||a.types.has("render")&&r.type==="render"||a.types.has("native")&&r.type==="native"))return!1;if(a.timeWindow!=="all"){const n=Date.now(),u=a.timeWindow==="15m"?n-900*1e3:a.timeWindow==="1h"?n-3600*1e3:a.timeWindow==="24h"?n-1440*60*1e3:n-10080*60*1e3;if(r.timestamp<u)return!1}if(a.platform!=="all"&&(r.deviceInfo?.platform||"").toLowerCase()!==a.platform)return!1;if(a.engine!=="all"){const n=r.deviceInfo?.isHermes;if(a.engine==="hermes"&&n!==!0||a.engine==="jsc"&&n===!0)return!1}if(p.trim().length>0){const n=p.trim().toLowerCase().split(/\s+/).filter(Boolean),u=[r.message||"",r.name||"",r.stack||"",r.type||"",r.deviceInfo?.platform||"",...(r.breadcrumbs||[]).map(c=>`${c.type||""} ${c.message||""}`)].join(" ").toLowerCase();return n.every(c=>u.includes(c))}return!0});return a.sortBy==="time_asc"&&(e=[...e].sort((r,n)=>r.timestamp-n.timestamp)),e},[o,d,p,a]),m=()=>{react_native_1.Alert.alert(t("crash.clearTitle"),t("crash.clearMessage"),[{text:t("crash.clearCancel"),style:"cancel"},{text:t("crash.clearConfirm"),style:"destructive",onPress:()=>(0,crashHandler_1.clearCrashRecords)()}])},b=(0,react_1.useCallback)(({item:e,index:r})=>{const n=e.isFatal,u=e.type.toUpperCase(),c=e.parsedStack&&e.parsedStack.length>0?e.parsedStack.find(A=>A.isAppCode)||e.parsedStack[0]:null,y=e.type==="native"?`${AppColors_1.AppColors.errorColor}22`:e.type==="render"?`${AppColors_1.AppColors.purple}22`:e.type==="promise"?`${AppColors_1.AppColors.darkOrange}22`:`${AppColors_1.AppColors.offerPurple}22`,C=e.type==="native"?AppColors_1.AppColors.errorColor:e.type==="render"?AppColors_1.AppColors.purple:e.type==="promise"?AppColors_1.AppColors.darkOrange:AppColors_1.AppColors.offerPurple;return<AnimatedEntrance_1.default index={r}distance={8}>
2
- <TouchableScale_1.default onPress={()=>{l(e)}}style={[localStyles.cardContainer,n&&localStyles.fatalCardBorder]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,o,s,i){i===void 0&&(i=s);var n=Object.getOwnPropertyDescriptor(o,s);(!n||("get"in n?!o.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return o[s]}}),Object.defineProperty(t,i,n)}):(function(t,o,s,i){i===void 0&&(i=s),t[i]=o[s]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,o){Object.defineProperty(t,"default",{enumerable:!0,value:o})}):function(t,o){t.default=o}),__importStar=this&&this.__importStar||(function(){var t=function(o){return t=Object.getOwnPropertyNames||function(s){var i=[];for(var n in s)Object.prototype.hasOwnProperty.call(s,n)&&(i[i.length]=n);return i},t(o)};return function(o){if(o&&o.__esModule)return o;var s={};if(o!=null)for(var i=t(o),n=0;n<i.length;n++)i[n]!=="default"&&__createBinding(s,o,i[n]);return __setModuleDefault(s,o),s}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),FeatureUnderDevNotice_1=__importDefault(require("./FeatureUnderDevNotice")),HighlightText_1=__importDefault(require("../HighlightText")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),crashHandler_1=require("../../customHooks/crashHandler"),CrashFilterModal_1=__importStar(require("./CrashFilterModal")),NetworkIcons_1=require("../NetworkIcons"),getRelativeTime=t=>{const o=Date.now(),s=Math.max(0,o-t),i=Math.floor(s/1e3),n=Math.floor(i/60),T=Math.floor(n/60),g=Math.floor(T/24);return i<60?`${i}s ago`:n<60?`${n}m ago`:T<24?`${T}h ago`:`${g}d ago`},CrashTab=react_1.default.memo(()=>{const{t}=(0,i18n_1.useTranslation)(),{crashRecords:o,setSelectedCrash:s}=(0,InspectorContext_1.useInspector)(),i=(0,react_1.useRef)(null),[n,T]=(0,react_1.useState)(100),[g,x]=(0,react_1.useState)(""),[y,A]=(0,react_1.useState)("all"),[l,b]=(0,react_1.useState)(CrashFilterModal_1.DEFAULT_CRASH_FILTERS),[V,v]=(0,react_1.useState)(!1),f=(0,react_1.useMemo)(()=>{const e=o.length;let r=0,a=0,h=0,C=0,w=0;return o.forEach(m=>{m.isFatal&&r++,m.type==="js"?a++:m.type==="promise"?h++:m.type==="render"?C++:m.type==="native"&&w++}),{total:e,fatalCount:r,jsCount:a,promiseCount:h,renderCount:C,nativeCount:w}},[o]),_=(0,react_1.useMemo)(()=>{let e=o.filter(r=>{if(y==="fatal"&&!r.isFatal||y==="js"&&r.type!=="js"||y==="promise"&&r.type!=="promise"||y==="render"&&r.type!=="render"||y==="native"&&r.type!=="native"||l.types.size>0&&!l.types.has("all")&&!(l.types.has("fatal")&&r.isFatal||l.types.has("js")&&r.type==="js"||l.types.has("promise")&&r.type==="promise"||l.types.has("render")&&r.type==="render"||l.types.has("native")&&r.type==="native"))return!1;if(l.timeWindow!=="all"){const a=Date.now(),h=l.timeWindow==="15m"?a-900*1e3:l.timeWindow==="1h"?a-3600*1e3:l.timeWindow==="24h"?a-1440*60*1e3:a-10080*60*1e3;if(r.timestamp<h)return!1}if(l.platform!=="all"&&(r.deviceInfo?.platform||"").toLowerCase()!==l.platform)return!1;if(l.engine!=="all"){const a=r.deviceInfo?.isHermes;if(l.engine==="hermes"&&a!==!0||l.engine==="jsc"&&a===!0)return!1}if(g.trim().length>0){const a=g.trim().toLowerCase().split(/\s+/).filter(Boolean),h=[r.message||"",r.name||"",r.stack||"",r.type||"",r.deviceInfo?.platform||"",...(r.breadcrumbs||[]).map(C=>`${C.type||""} ${C.message||""}`)].join(" ").toLowerCase();return a.every(C=>h.includes(C))}return!0});return l.sortBy==="time_asc"&&(e=[...e].sort((r,a)=>r.timestamp-a.timestamp)),e},[o,y,g,l]),S=()=>{react_native_1.Alert.alert(t("crash.clearTitle"),t("crash.clearMessage"),[{text:t("crash.clearCancel"),style:"cancel"},{text:t("crash.clearConfirm"),style:"destructive",onPress:()=>(0,crashHandler_1.clearCrashRecords)()}])},F=(0,react_1.useCallback)(({item:e,index:r})=>{const a=e.isFatal,h=e.type.toUpperCase(),C=e.parsedStack&&e.parsedStack.length>0?e.parsedStack.find(I=>I.isAppCode)||e.parsedStack[0]:null,w=e.type==="native"?`${AppColors_1.AppColors.errorColor}22`:e.type==="render"?`${AppColors_1.AppColors.purple}22`:e.type==="promise"?`${AppColors_1.AppColors.darkOrange}22`:`${AppColors_1.AppColors.offerPurple}22`,m=e.type==="native"?AppColors_1.AppColors.errorColor:e.type==="render"?AppColors_1.AppColors.purple:e.type==="promise"?AppColors_1.AppColors.darkOrange:AppColors_1.AppColors.offerPurple;return<AnimatedEntrance_1.default index={r}distance={8}>
2
+ <TouchableScale_1.default onPress={()=>{s(e)}}style={[localStyles.cardContainer,a&&localStyles.fatalCardBorder]}>
3
3
 
4
4
  <react_native_1.View style={localStyles.cardHeader}>
5
5
  <react_native_1.View style={localStyles.badgeRow}>
@@ -7,16 +7,16 @@
7
7
  <react_native_1.Text style={localStyles.sNoBadgeText}>#{r+1}</react_native_1.Text>
8
8
  </react_native_1.View>
9
9
 
10
- {n?<react_native_1.View style={localStyles.fatalBadge}>
10
+ {a?<react_native_1.View style={localStyles.fatalBadge}>
11
11
  <NetworkIcons_1.FlameIcon size={10}color={AppColors_1.AppColors.white}/>
12
12
  <react_native_1.Text style={localStyles.fatalBadgeText}>{t("crash.fatalBadge")}</react_native_1.Text>
13
13
  </react_native_1.View>:<react_native_1.View style={localStyles.caughtBadge}>
14
14
  <react_native_1.Text style={localStyles.caughtBadgeText}>{t("crash.handledBadge")}</react_native_1.Text>
15
15
  </react_native_1.View>}
16
16
 
17
- <react_native_1.View style={[localStyles.typeBadge,{backgroundColor:y}]}>
18
- <react_native_1.Text style={[localStyles.typeBadgeText,{color:C}]}>
19
- {u}
17
+ <react_native_1.View style={[localStyles.typeBadge,{backgroundColor:w}]}>
18
+ <react_native_1.Text style={[localStyles.typeBadgeText,{color:m}]}>
19
+ {h}
20
20
  </react_native_1.Text>
21
21
  </react_native_1.View>
22
22
  </react_native_1.View>
@@ -29,21 +29,22 @@
29
29
  <react_native_1.Text style={localStyles.relativeTimeText}>
30
30
  {getRelativeTime(e.timestamp)}
31
31
  </react_native_1.Text>
32
+ <NetworkIcons_1.ForwardChevronIcon size={13}color={AppColors_1.AppColors.grayTextWeak}/>
32
33
  </react_native_1.View>
33
34
  </react_native_1.View>
34
35
 
35
36
 
36
37
  <react_native_1.View style={{marginVertical:6}}>
37
- <HighlightText_1.default text={e.message||t("crash.unknownException")}highlight={p}numberOfLines={3}style={localStyles.errorMessageText}/>
38
+ <HighlightText_1.default text={e.message||t("crash.unknownException")}highlight={g}numberOfLines={3}style={localStyles.errorMessageText}/>
38
39
  </react_native_1.View>
39
40
 
40
41
 
41
- {c&&<react_native_1.View style={localStyles.locationRow}>
42
+ {C&&<react_native_1.View style={localStyles.locationRow}>
42
43
  <NetworkIcons_1.TerminalIcon size={12}color={AppColors_1.AppColors.grayTextWeak}/>
43
44
  <react_native_1.Text numberOfLines={1}ellipsizeMode="middle"style={localStyles.locationText}>
44
- {c.method!=="<anonymous>"?`${c.method} `:""}
45
+ {C.method!=="<anonymous>"?`${C.method} `:""}
45
46
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontFamily:AppFonts_1.AppFonts.interBold}}>
46
- {c.file}:{c.lineNumber}
47
+ {C.file}:{C.lineNumber}
47
48
  </react_native_1.Text>
48
49
  </react_native_1.Text>
49
50
  </react_native_1.View>}
@@ -83,7 +84,7 @@
83
84
  </react_native_1.View>
84
85
  </react_native_1.View>
85
86
  </TouchableScale_1.default>
86
- </AnimatedEntrance_1.default>},[p,l]);return<react_native_1.View style={localStyles.container}>
87
+ </AnimatedEntrance_1.default>},[g,s]);return<react_native_1.View style={localStyles.container}>
87
88
  {o.length>0&&<>
88
89
 
89
90
  <react_native_1.View style={localStyles.statsBar}>
@@ -135,27 +136,27 @@
135
136
  <react_native_1.View style={localStyles.searchRow}>
136
137
  <react_native_1.View style={localStyles.searchInputWrapper}>
137
138
  <NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak}size={14}/>
138
- <react_native_1.TextInput value={p}onChangeText={g}placeholder={t("crash.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}style={localStyles.searchInput}autoCapitalize="none"autoCorrect={!1}/>
139
- {p.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
139
+ <react_native_1.TextInput value={g}onChangeText={x}placeholder={t("crash.searchPlaceholder")}placeholderTextColor={AppColors_1.AppColors.grayTextWeak}style={localStyles.searchInput}autoCapitalize="none"autoCorrect={!1}/>
140
+ {g.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
140
141
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
141
142
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold}}>
142
- {h.length}
143
+ {_.length}
143
144
  </react_native_1.Text>
144
145
  </react_native_1.View>
145
- <react_native_1.TouchableOpacity onPress={()=>g("")}hitSlop={8}>
146
+ <react_native_1.TouchableOpacity onPress={()=>x("")}hitSlop={8}>
146
147
  <NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak}size={14}/>
147
148
  </react_native_1.TouchableOpacity>
148
149
  </react_native_1.View>}
149
150
  </react_native_1.View>
150
151
 
151
152
 
152
- <TouchableScale_1.default onPress={()=>x(!0)}style={[localStyles.filterButton,!(0,CrashFilterModal_1.isCrashFiltersDefault)(a)&&{borderColor:`${AppColors_1.AppColors.brandPurple}60`,backgroundColor:`${AppColors_1.AppColors.brandPurple}15`}]}>
153
- <NetworkIcons_1.FilterIcon size={14}color={(0,CrashFilterModal_1.isCrashFiltersDefault)(a)?AppColors_1.AppColors.grayTextStrong:AppColors_1.AppColors.brandPurple}/>
154
- {!(0,CrashFilterModal_1.isCrashFiltersDefault)(a)&&<react_native_1.View style={{position:"absolute",top:2,right:2,width:7,height:7,borderRadius:3.5,backgroundColor:AppColors_1.AppColors.darkOrange,borderWidth:1,borderColor:AppColors_1.AppColors.white}}/>}
153
+ <TouchableScale_1.default onPress={()=>v(!0)}style={[localStyles.filterButton,!(0,CrashFilterModal_1.isCrashFiltersDefault)(l)&&{borderColor:`${AppColors_1.AppColors.brandPurple}60`,backgroundColor:`${AppColors_1.AppColors.brandPurple}15`}]}>
154
+ <NetworkIcons_1.FilterIcon size={14}color={(0,CrashFilterModal_1.isCrashFiltersDefault)(l)?AppColors_1.AppColors.grayTextStrong:AppColors_1.AppColors.brandPurple}/>
155
+ {!(0,CrashFilterModal_1.isCrashFiltersDefault)(l)&&<react_native_1.View style={{position:"absolute",top:2,right:2,width:7,height:7,borderRadius:3.5,backgroundColor:AppColors_1.AppColors.darkOrange,borderWidth:1,borderColor:AppColors_1.AppColors.white}}/>}
155
156
  </TouchableScale_1.default>
156
157
 
157
158
 
158
- <TouchableScale_1.default onPress={m}style={localStyles.clearButton}>
159
+ <TouchableScale_1.default onPress={S}style={localStyles.clearButton}>
159
160
  <NetworkIcons_1.TrashIcon size={14}color={AppColors_1.AppColors.errorColor}/>
160
161
  </TouchableScale_1.default>
161
162
  </react_native_1.View>
@@ -163,37 +164,46 @@
163
164
  <FeatureUnderDevNotice_1.default featureName="Crash & Exception Sentinel"/>
164
165
 
165
166
 
166
- <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={localStyles.filterScrollContent}>
167
- {[{key:"all",label:t("crash.filterAll"),Icon:NetworkIcons_1.LayersIcon},{key:"fatal",label:t("crash.filterFatal"),Icon:NetworkIcons_1.SkullIcon},{key:"js",label:t("crash.filterJsError"),Icon:NetworkIcons_1.JsIcon},{key:"promise",label:t("crash.filterPromise"),Icon:NetworkIcons_1.HourglassIcon},{key:"render",label:t("crash.filterRender"),Icon:NetworkIcons_1.LayoutIcon},{key:"native",label:t("crash.filterNative"),Icon:NetworkIcons_1.ChipIcon}].map(e=>{const r=d===e.key;return<react_native_1.TouchableOpacity key={e.key}onPress={()=>_(e.key)}style={[localStyles.filterChip,r&&localStyles.filterChipActive]}>
168
- <e.Icon size={12}color={r?AppColors_1.AppColors.white:AppColors_1.AppColors.grayTextStrong}/>
169
- <react_native_1.Text style={[localStyles.filterChipText,r&&localStyles.filterChipTextActive]}>
170
- {e.label}
171
- </react_native_1.Text>
172
- </react_native_1.TouchableOpacity>})}
173
- </react_native_1.ScrollView>
167
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:12,gap:6}}>
168
+ <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
169
+ {[{key:"all",label:t("crash.filterAll"),Icon:NetworkIcons_1.LayersIcon,count:f.total,themeColor:AppColors_1.AppColors.purple},{key:"fatal",label:t("crash.filterFatal"),Icon:NetworkIcons_1.SkullIcon,count:f.fatalCount,themeColor:AppColors_1.AppColors.errorColor},{key:"js",label:t("crash.filterJsError"),Icon:NetworkIcons_1.JsIcon,count:f.jsCount,themeColor:AppColors_1.AppColors.amber600},{key:"promise",label:t("crash.filterPromise"),Icon:NetworkIcons_1.HourglassIcon,count:f.promiseCount,themeColor:AppColors_1.AppColors.orange600},{key:"render",label:t("crash.filterRender"),Icon:NetworkIcons_1.LayoutIcon,count:f.renderCount,themeColor:AppColors_1.AppColors.violet600},{key:"native",label:t("crash.filterNative"),Icon:NetworkIcons_1.ChipIcon,count:f.nativeCount,themeColor:AppColors_1.AppColors.cyan600}].map(e=>{const r=y===e.key,a=e.themeColor||AppColors_1.AppColors.purple,h=r?AppColors_1.AppColors.white:a,C=e.Icon;return<TouchableScale_1.default key={e.key}onPress={()=>A(e.key)}>
170
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:r?a:`${a}12`,borderWidth:1,borderColor:r?a:`${a}30`,gap:5}}>
171
+ <C size={11}color={h}/>
172
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:r?AppColors_1.AppColors.white:AppColors_1.AppColors.primaryBlack}}>
173
+ {e.label}
174
+ </react_native_1.Text>
175
+ <react_native_1.View style={{backgroundColor:r?"rgba(255,255,255,0.25)":`${a}20`,paddingHorizontal:5,paddingVertical:1,borderRadius:8,alignItems:"center",justifyContent:"center"}}>
176
+ <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:r?AppColors_1.AppColors.white:a}}>
177
+ {e.count}
178
+ </react_native_1.Text>
179
+ </react_native_1.View>
180
+ </react_native_1.View>
181
+ </TouchableScale_1.default>})}
182
+ </react_native_1.ScrollView>
183
+ </react_native_1.View>
174
184
  </react_native_1.View>
175
185
  </>}
176
186
 
177
187
 
178
- {h.length===0?<react_native_1.ScrollView contentContainerStyle={localStyles.emptyContainer}showsVerticalScrollIndicator={!1}>
188
+ {_.length===0?<react_native_1.ScrollView contentContainerStyle={localStyles.emptyContainer}showsVerticalScrollIndicator={!1}>
179
189
  <react_native_1.View style={localStyles.emptyIconCircle}>
180
190
  <NetworkIcons_1.ShieldAlertIcon size={38}color={AppColors_1.AppColors.greenColor}/>
181
191
  </react_native_1.View>
182
192
  <react_native_1.Text style={localStyles.emptyTitle}>
183
- {p.length>0?"No matching crash entries":d!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(a)?"No crashes match filters":t("crash.emptyTitle")}
193
+ {g.length>0?"No matching crash entries":y!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(l)?"No crashes match filters":t("crash.emptyTitle")}
184
194
  </react_native_1.Text>
185
195
  <react_native_1.Text style={localStyles.emptySub}>
186
- {p?`No crash entries matched "${p}"`:d!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(a)?"Try adjusting your filters or search keywords.":t("crash.emptySubtitle")}
196
+ {g?`No crash entries matched "${g}"`:y!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(l)?"Try adjusting your filters or search keywords.":t("crash.emptySubtitle")}
187
197
  </react_native_1.Text>
188
- {(p.length>0||d!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(a))&&<TouchableScale_1.default onPress={()=>{g(""),_("all"),T(CrashFilterModal_1.DEFAULT_CRASH_FILTERS)}}style={{marginTop:10,paddingHorizontal:14,paddingVertical:7,borderRadius:8,backgroundColor:AppColors_1.AppColors.purple}}>
198
+ {(g.length>0||y!=="all"||!(0,CrashFilterModal_1.isCrashFiltersDefault)(l))&&<TouchableScale_1.default onPress={()=>{x(""),A("all"),b(CrashFilterModal_1.DEFAULT_CRASH_FILTERS)}}style={{marginTop:10,paddingHorizontal:14,paddingVertical:7,borderRadius:8,backgroundColor:AppColors_1.AppColors.purple}}>
189
199
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11.5,color:AppColors_1.AppColors.white}}>
190
200
  Clear Search & Filters
191
201
  </react_native_1.Text>
192
202
  </TouchableScale_1.default>}
193
203
  </react_native_1.ScrollView>:<>
194
- <react_native_1.FlatList ref={i}data={h}keyExtractor={e=>e.id}renderItem={b}initialNumToRender={12}maxToRenderPerBatch={8}windowSize={5}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}contentContainerStyle={localStyles.listContent}showsVerticalScrollIndicator={!1}ListFooterComponent={<EndOfListFooter_1.default/>}/>
204
+ <react_native_1.FlatList ref={i}data={_.slice(0,n)}keyExtractor={e=>e.id}renderItem={F}initialNumToRender={12}maxToRenderPerBatch={8}windowSize={5}removeClippedSubviews={react_native_1.Platform.OS==="android"}renderToHardwareTextureAndroid={!0}contentContainerStyle={localStyles.listContent}showsVerticalScrollIndicator={!1}ListFooterComponent={_.length>0?<EndOfListFooter_1.default count={Math.min(n,_.length)}totalCount={_.length}label="crashes"hasMore={_.length>n}onLoadMore={()=>T(e=>e+10)}/>:null}/>
195
205
  </>}
196
206
 
197
207
 
198
- <CrashFilterModal_1.default visible={w}onClose={()=>x(!1)}filters={a}onApply={T}searchQuery={p}/>
208
+ <CrashFilterModal_1.default visible={V}onClose={()=>v(!1)}filters={l}onApply={b}searchQuery={g}/>
199
209
  </react_native_1.View>});exports.default=CrashTab;const localStyles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground},statsBar:{backgroundColor:AppColors_1.AppColors.primaryLight,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.grayBorderSecondary,paddingVertical:10},statsScrollContent:{paddingHorizontal:16,gap:8},statChip:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:AppColors_1.AppColors.purpleShade50,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}14`},statChipActive:{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}33`},statChipValue:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13,color:AppColors_1.AppColors.primaryBlack},statChipLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayText},controlsContainer:{paddingHorizontal:16,paddingTop:12,paddingBottom:6,backgroundColor:AppColors_1.AppColors.grayBackground},searchRow:{flexDirection:"row",alignItems:"center",gap:8},searchInputWrapper:{flex:1,flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,borderRadius:10,paddingHorizontal:10,height:38,gap:8},searchInput:{flex:1,fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:13,color:AppColors_1.AppColors.primaryBlack,paddingVertical:0},clearButton:{width:38,height:38,borderRadius:10,backgroundColor:`${AppColors_1.AppColors.errorColor}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.errorColor}22`,alignItems:"center",justifyContent:"center"},filterButton:{width:38,height:38,borderRadius:10,backgroundColor:`${AppColors_1.AppColors.brandPurple}0F`,borderWidth:1,borderColor:`${AppColors_1.AppColors.brandPurple}30`,alignItems:"center",justifyContent:"center"},filterScrollContent:{paddingVertical:10,gap:6},filterChip:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:AppColors_1.AppColors.primaryLight,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary},filterChipActive:{backgroundColor:AppColors_1.AppColors.purple,borderColor:AppColors_1.AppColors.purple},filterChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.grayText},filterChipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.white},listContent:{paddingHorizontal:16,paddingTop:4,paddingBottom:24,gap:10},cardContainer:{backgroundColor:AppColors_1.AppColors.primaryLight,borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,padding:14,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:3,elevation:2},fatalCardBorder:{borderColor:`${AppColors_1.AppColors.errorColor}44`},cardHeader:{flexDirection:"row",alignItems:"center",justifyContent:"space-between"},badgeRow:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1},sNoBadge:{backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,paddingHorizontal:6,paddingVertical:3,borderRadius:5},sNoBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.grayText,letterSpacing:.3},fatalBadge:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.errorColor,paddingHorizontal:6,paddingVertical:3,borderRadius:5},fatalBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.white,letterSpacing:.5},caughtBadge:{backgroundColor:`${AppColors_1.AppColors.greenColor}1F`,paddingHorizontal:6,paddingVertical:3,borderRadius:5},caughtBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.greenColor,letterSpacing:.5},typeBadge:{paddingHorizontal:6,paddingVertical:3,borderRadius:5},typeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,letterSpacing:.5},timeRow:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:1},timestampText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayTextWeak},relativeTimeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.grayTextWeak,backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:5,paddingVertical:1,borderRadius:4,overflow:"hidden"},errorMessageText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:13.5,color:AppColors_1.AppColors.primaryBlack,lineHeight:18},locationRow:{flexDirection:"row",alignItems:"center",gap:6,marginTop:2,marginBottom:6,backgroundColor:AppColors_1.AppColors.purpleShade50,paddingHorizontal:8,paddingVertical:4,borderRadius:6},locationText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,flex:1},cardFooter:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginTop:6,paddingTop:8,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},metaPill:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:AppColors_1.AppColors.purpleShade50,paddingHorizontal:6,paddingVertical:2,borderRadius:4},metaPillText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10,color:AppColors_1.AppColors.grayTextWeak},emptyContainer:{flexGrow:1,alignItems:"center",justifyContent:"center",padding:32,paddingBottom:80},emptyIconCircle:{width:72,height:72,borderRadius:36,backgroundColor:`${AppColors_1.AppColors.greenColor}1F`,alignItems:"center",justifyContent:"center",marginBottom:16},emptyTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:17,color:AppColors_1.AppColors.primaryBlack,marginBottom:6},emptySub:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:13,color:AppColors_1.AppColors.grayText,textAlign:"center",lineHeight:18,maxWidth:280}});