react-native-inapp-inspector 2.4.2 → 2.5.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 (202) hide show
  1. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +523 -2
  2. package/dist/commonjs/capture.d.ts +2 -0
  3. package/dist/commonjs/capture.js +1 -1
  4. package/dist/commonjs/components/AnalyticsDetail.js +23 -23
  5. package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
  6. package/dist/commonjs/components/AnalyticsGraph.js +44 -44
  7. package/dist/commonjs/components/AnimatedBrandOwl.js +32 -32
  8. package/dist/commonjs/components/AppHeaderLogo.js +6 -6
  9. package/dist/commonjs/components/BrandCircleIcon.js +28 -28
  10. package/dist/commonjs/components/BrandSquareIcon.js +33 -33
  11. package/dist/commonjs/components/ConsoleLogCard.js +1 -1
  12. package/dist/commonjs/components/Inspector/AnalyticsTab.js +2 -2
  13. package/dist/commonjs/components/Inspector/ConfirmationModal.js +23 -25
  14. package/dist/commonjs/components/Inspector/ConsoleTab.js +5 -5
  15. package/dist/commonjs/components/Inspector/CrashTab.js +44 -11
  16. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
  17. package/dist/commonjs/components/Inspector/FabLauncher.js +30 -25
  18. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  19. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
  20. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  21. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
  22. package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
  23. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  24. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +114 -32
  25. package/dist/commonjs/components/Inspector/MainScreen.js +26 -19
  26. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +38 -35
  27. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
  28. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +345 -123
  29. package/dist/commonjs/components/Inspector/NetworkTab.js +14 -14
  30. package/dist/commonjs/components/Inspector/PushCard.js +1 -1
  31. package/dist/commonjs/components/Inspector/PushDetail.js +9 -9
  32. package/dist/commonjs/components/Inspector/PushTab.js +3 -3
  33. package/dist/commonjs/components/Inspector/ReduxTab.js +9 -7
  34. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  35. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  36. package/dist/commonjs/components/Inspector/SettingsPanel.js +102 -73
  37. package/dist/commonjs/components/Inspector/SocketCard.js +1 -1
  38. package/dist/commonjs/components/Inspector/SocketDetail.js +73 -63
  39. package/dist/commonjs/components/Inspector/SocketTab.js +4 -4
  40. package/dist/commonjs/components/Inspector/StorageTab.js +10 -10
  41. package/dist/commonjs/components/Inspector/SupportModal.js +2 -2
  42. package/dist/commonjs/components/Inspector/SupportPage.js +1 -1
  43. package/dist/commonjs/components/JsonViewer.js +47 -45
  44. package/dist/commonjs/components/LogCard.js +22 -20
  45. package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
  46. package/dist/commonjs/components/NetworkIcons.d.ts +27 -0
  47. package/dist/commonjs/components/NetworkIcons.js +103 -5
  48. package/dist/commonjs/constants/version.d.ts +1 -1
  49. package/dist/commonjs/constants/version.js +1 -1
  50. package/dist/commonjs/crash.d.ts +1 -1
  51. package/dist/commonjs/crash.js +1 -1
  52. package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
  53. package/dist/commonjs/customHooks/crashHandler.js +7 -7
  54. package/dist/commonjs/editor.d.ts +13 -0
  55. package/dist/commonjs/editor.js +1 -0
  56. package/dist/commonjs/helpers/index.d.ts +1 -0
  57. package/dist/commonjs/helpers/index.js +1 -1
  58. package/dist/commonjs/helpers/settingsStore.js +1 -1
  59. package/dist/commonjs/helpers/telemetry.js +1 -1
  60. package/dist/commonjs/i18n/index.js +1 -1
  61. package/dist/commonjs/i18n/locales/ar.json +1 -1
  62. package/dist/commonjs/i18n/locales/bn.json +1 -1
  63. package/dist/commonjs/i18n/locales/de.json +1 -1
  64. package/dist/commonjs/i18n/locales/en.json +1 -1
  65. package/dist/commonjs/i18n/locales/es.json +1 -1
  66. package/dist/commonjs/i18n/locales/fr.json +1 -1
  67. package/dist/commonjs/i18n/locales/gu.json +1 -1
  68. package/dist/commonjs/i18n/locales/hi.json +1 -1
  69. package/dist/commonjs/i18n/locales/id.json +1 -1
  70. package/dist/commonjs/i18n/locales/it.json +1 -1
  71. package/dist/commonjs/i18n/locales/ja.json +1 -1
  72. package/dist/commonjs/i18n/locales/kn.json +1 -1
  73. package/dist/commonjs/i18n/locales/ko.json +1 -1
  74. package/dist/commonjs/i18n/locales/ml.json +1 -1
  75. package/dist/commonjs/i18n/locales/mr.json +1 -1
  76. package/dist/commonjs/i18n/locales/nl.json +1 -1
  77. package/dist/commonjs/i18n/locales/pa.json +1 -1
  78. package/dist/commonjs/i18n/locales/pl.json +1 -1
  79. package/dist/commonjs/i18n/locales/pt.json +1 -1
  80. package/dist/commonjs/i18n/locales/ru.json +1 -1
  81. package/dist/commonjs/i18n/locales/ta.json +1 -1
  82. package/dist/commonjs/i18n/locales/te.json +1 -1
  83. package/dist/commonjs/i18n/locales/tr.json +1 -1
  84. package/dist/commonjs/i18n/locales/vi.json +1 -1
  85. package/dist/commonjs/i18n/locales/zh.json +1 -1
  86. package/dist/commonjs/index.d.ts +4 -1
  87. package/dist/commonjs/index.js +3 -3
  88. package/dist/commonjs/native/NativeInspector.d.ts +3 -0
  89. package/dist/commonjs/native/NativeInspector.js +1 -1
  90. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  91. package/dist/commonjs/styles/AppColors.d.ts +42 -2
  92. package/dist/commonjs/styles/AppColors.js +1 -1
  93. package/dist/commonjs/styles/common.js +1 -1
  94. package/dist/commonjs/styles/index.d.ts +7 -0
  95. package/dist/commonjs/styles/index.js +1 -1
  96. package/dist/commonjs/types/editor.d.ts +96 -0
  97. package/dist/commonjs/types/editor.js +1 -0
  98. package/dist/commonjs/types/interfaces.d.ts +21 -0
  99. package/dist/esm/capture.d.ts +2 -0
  100. package/dist/esm/capture.js +1 -1
  101. package/dist/esm/components/AnalyticsDetail.js +31 -31
  102. package/dist/esm/components/AnalyticsEventCard.js +1 -1
  103. package/dist/esm/components/AnalyticsGraph.js +74 -74
  104. package/dist/esm/components/AnimatedBrandOwl.js +114 -114
  105. package/dist/esm/components/AppHeaderLogo.js +7 -7
  106. package/dist/esm/components/BrandCircleIcon.js +70 -70
  107. package/dist/esm/components/BrandSquareIcon.js +61 -61
  108. package/dist/esm/components/ConsoleLogCard.js +1 -1
  109. package/dist/esm/components/Inspector/AnalyticsTab.js +14 -14
  110. package/dist/esm/components/Inspector/ConfirmationModal.js +23 -25
  111. package/dist/esm/components/Inspector/ConsoleTab.js +17 -17
  112. package/dist/esm/components/Inspector/CrashTab.js +202 -169
  113. package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
  114. package/dist/esm/components/Inspector/FabLauncher.js +56 -51
  115. package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  116. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
  117. package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  118. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
  119. package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
  120. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  121. package/dist/esm/components/Inspector/LanguageSelectorModal.js +140 -58
  122. package/dist/esm/components/Inspector/MainScreen.js +61 -54
  123. package/dist/esm/components/Inspector/MediaGalleryTab.js +55 -52
  124. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
  125. package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -123
  126. package/dist/esm/components/Inspector/NetworkTab.js +74 -74
  127. package/dist/esm/components/Inspector/PushCard.js +1 -1
  128. package/dist/esm/components/Inspector/PushDetail.js +18 -18
  129. package/dist/esm/components/Inspector/PushTab.js +1 -1
  130. package/dist/esm/components/Inspector/ReduxTab.js +18 -16
  131. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  132. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  133. package/dist/esm/components/Inspector/SettingsPanel.js +224 -195
  134. package/dist/esm/components/Inspector/SocketCard.js +8 -8
  135. package/dist/esm/components/Inspector/SocketDetail.js +106 -96
  136. package/dist/esm/components/Inspector/SocketTab.js +18 -18
  137. package/dist/esm/components/Inspector/StorageTab.js +47 -47
  138. package/dist/esm/components/Inspector/SupportModal.js +64 -64
  139. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  140. package/dist/esm/components/JsonViewer.js +51 -49
  141. package/dist/esm/components/LogCard.js +41 -39
  142. package/dist/esm/components/ModuleErrorBoundary.js +10 -10
  143. package/dist/esm/components/NetworkIcons.d.ts +27 -0
  144. package/dist/esm/components/NetworkIcons.js +101 -3
  145. package/dist/esm/constants/version.d.ts +1 -1
  146. package/dist/esm/constants/version.js +1 -1
  147. package/dist/esm/crash.d.ts +1 -1
  148. package/dist/esm/crash.js +1 -1
  149. package/dist/esm/customHooks/crashHandler.d.ts +2 -1
  150. package/dist/esm/customHooks/crashHandler.js +7 -7
  151. package/dist/esm/editor.d.ts +13 -0
  152. package/dist/esm/editor.js +1 -0
  153. package/dist/esm/helpers/index.d.ts +1 -0
  154. package/dist/esm/helpers/index.js +4 -4
  155. package/dist/esm/helpers/settingsStore.js +1 -1
  156. package/dist/esm/helpers/telemetry.js +1 -1
  157. package/dist/esm/i18n/index.js +1 -1
  158. package/dist/esm/i18n/locales/ar.json +1 -1
  159. package/dist/esm/i18n/locales/bn.json +1 -1
  160. package/dist/esm/i18n/locales/de.json +1 -1
  161. package/dist/esm/i18n/locales/en.json +1 -1
  162. package/dist/esm/i18n/locales/es.json +1 -1
  163. package/dist/esm/i18n/locales/fr.json +1 -1
  164. package/dist/esm/i18n/locales/gu.json +1 -1
  165. package/dist/esm/i18n/locales/hi.json +1 -1
  166. package/dist/esm/i18n/locales/id.json +1 -1
  167. package/dist/esm/i18n/locales/it.json +1 -1
  168. package/dist/esm/i18n/locales/ja.json +1 -1
  169. package/dist/esm/i18n/locales/kn.json +1 -1
  170. package/dist/esm/i18n/locales/ko.json +1 -1
  171. package/dist/esm/i18n/locales/ml.json +1 -1
  172. package/dist/esm/i18n/locales/mr.json +1 -1
  173. package/dist/esm/i18n/locales/nl.json +1 -1
  174. package/dist/esm/i18n/locales/pa.json +1 -1
  175. package/dist/esm/i18n/locales/pl.json +1 -1
  176. package/dist/esm/i18n/locales/pt.json +1 -1
  177. package/dist/esm/i18n/locales/ru.json +1 -1
  178. package/dist/esm/i18n/locales/ta.json +1 -1
  179. package/dist/esm/i18n/locales/te.json +1 -1
  180. package/dist/esm/i18n/locales/tr.json +1 -1
  181. package/dist/esm/i18n/locales/vi.json +1 -1
  182. package/dist/esm/i18n/locales/zh.json +1 -1
  183. package/dist/esm/index.d.ts +4 -1
  184. package/dist/esm/index.js +5 -5
  185. package/dist/esm/native/NativeInspector.d.ts +3 -0
  186. package/dist/esm/native/NativeInspector.js +1 -1
  187. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  188. package/dist/esm/styles/AppColors.d.ts +42 -2
  189. package/dist/esm/styles/AppColors.js +1 -1
  190. package/dist/esm/styles/common.js +1 -1
  191. package/dist/esm/styles/index.d.ts +7 -0
  192. package/dist/esm/styles/index.js +1 -1
  193. package/dist/esm/types/editor.d.ts +96 -0
  194. package/dist/esm/types/editor.js +1 -0
  195. package/dist/esm/types/interfaces.d.ts +21 -0
  196. package/editor.d.ts +1 -0
  197. package/editor.js +1 -0
  198. package/ios/NetworkInspectorModule.mm +429 -0
  199. package/package.json +10 -1
  200. package/react-native-inapp-inspector.podspec +1 -1
  201. package/src/native/NativeInspector.ts +57 -4
  202. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -1,6 +1,6 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,r,o,a){a===void 0&&(a=o);var i=Object.getOwnPropertyDescriptor(r,o);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[o]}}),Object.defineProperty(l,a,i)}):(function(l,r,o,a){a===void 0&&(a=o),l[a]=r[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,r){Object.defineProperty(l,"default",{enumerable:!0,value:r})}):function(l,r){l.default=r}),__importStar=this&&this.__importStar||(function(){var l=function(r){return l=Object.getOwnPropertyNames||function(o){var a=[];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(a[a.length]=i);return a},l(r)};return function(r){if(r&&r.__esModule)return r;var o={};if(r!=null)for(var a=l(r),i=0;i<a.length;i++)a[i]!=="default"&&__createBinding(o,r,a[i]);return __setModuleDefault(o,r),o}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),DomainHeader_1=__importDefault(require("../DomainHeader")),LogCard_1=__importDefault(require("../LogCard")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),NetworkFilterModal_1=__importDefault(require("./NetworkFilterModal")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NetworkTab=react_1.default.memo(()=>{const{groupedData:l,loadMoreSection:r,search:o,setSearch:a,setSearchScope:i,quickFilter:v,setQuickFilter:P,handleDelete:U,isGroupByPageEnabled:d,setIsGroupByPageEnabled:X,selectedLogs:x,sortOrder:J,setSortOrder:z,statusFilters:u,setStatusFilters:m,methodFilters:p,setMethodFilters:T,latencyFilter:h,setLatencyFilter:F,protocolFilter:y,setProtocolFilter:I,networkSortBy:b,setNetworkSortBy:L,filteredLogs:f,logs:A,toggleSectionFilter:M,toggleSectionCollapse:D,minStart:E,totalRange:N,newLogIds:H,toggleSelect:$,setSelected:j,maxNetworkLogs:q}=(0,InspectorContext_1.useInspector)(),{t:R}=(0,i18n_1.useTranslation)(),Y=(0,react_1.useRef)(null),[Z,W]=react_1.default.useState(!1),[G,Q]=react_1.default.useState(!1),[k,K]=react_1.default.useState(q||50);react_1.default.useEffect(()=>{K(q||50)},[o,v,q]);const ee=(0,react_1.useMemo)(()=>d?l:l.slice(0,k),[d,l,k]),te=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),C=(0,react_1.useMemo)(()=>u.size>0&&!u.has("all")||p.size>0&&!p.has("all")||h!=="all"||y!=="all"||b!=="time_desc",[u,p,h,y,b]),oe=(0,react_1.useMemo)(()=>{let e=0;return u.size>0&&!u.has("all")&&(e+=u.size),p.size>0&&!p.has("all")&&(e+=p.size),h!=="all"&&e++,y!=="all"&&e++,b!=="time_desc"&&e++,e},[u,p,h,y,b]),re=(0,react_1.useMemo)(()=>({statusCodes:u.size>0?new Set(u):new Set(["all"]),methods:p.size>0?new Set(p):new Set(["all"]),latency:h,protocol:y,sortBy:b}),[u,p,h,y,b]),le=(0,react_1.useCallback)(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?m(new Set):m(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?T(new Set):T(new Set([...e.methods].map(n=>n))),F(e.latency||"all"),I(e.protocol||"all"),L(e.sortBy||"time_desc"),e.sortBy==="time_asc"?z("oldest"):z("newest")},[m,T,F,I,L,z]),g=(0,react_1.useMemo)(()=>{let e=0,n=0,s=0,c=0,V=0,O=0;return A.forEach(t=>{const _=typeof t.status=="number"?t.status:parseInt(String(t.status),10);t.status===0||t.status==null||!isNaN(_)&&_>=400?e++:!isNaN(_)&&_>=200&&_<400&&n++,(t.duration||0)>=500&&s++;const w=(t.method||"").toUpperCase();w==="POST"&&c++,w==="GET"&&V++;const B=(t.url||"").toLowerCase(),S=(t.client||"").toLowerCase();(B.includes("graphql")||S.includes("graphql")||S.includes("apollo"))&&O++}),{all:A.length,errors:e,success:n,slow:s,post:c,get:V,graphql:O}},[A]),ae=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:g.all,color:AppColors_1.AppColors.purple},{id:"errors",label:"Errors",count:g.errors,color:AppColors_1.AppColors.errorColor},{id:"success",label:"2xx OK",count:g.success,color:AppColors_1.AppColors.greenColor},{id:"slow",label:"Slow >500ms",count:g.slow,color:AppColors_1.AppColors.warningIconGold},{id:"POST",label:"POST",count:g.post,color:constants_1.METHOD_COLORS.POST||AppColors_1.AppColors.blue500},{id:"GET",label:"GET",count:g.get,color:constants_1.METHOD_COLORS.GET||AppColors_1.AppColors.emerald500},{id:"graphql",label:"GraphQL",count:g.graphql,color:AppColors_1.AppColors.graphqlPink}],[g]),ie=(0,react_1.useCallback)(({item:e,index:n})=>{if(e.type==="header")return<AnimatedEntrance_1.default index={n}distance={8}>
2
- <DomainHeader_1.default pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={M}isCollapsed={e.isCollapsed}onToggleCollapse={D}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
- </AnimatedEntrance_1.default>;if(e.type==="loadMore"){const{pageName:O,color:t,remainingCount:_,totalCount:w,loadedCount:B,loadMoreStep:S,hasMore:ne}=e;return<react_native_1.View style={[styles_1.default.treeNodeRow,styles_1.default.treeNodeRowLast]}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,r,o,a){a===void 0&&(a=o);var i=Object.getOwnPropertyDescriptor(r,o);(!i||("get"in i?!r.__esModule:i.writable||i.configurable))&&(i={enumerable:!0,get:function(){return r[o]}}),Object.defineProperty(l,a,i)}):(function(l,r,o,a){a===void 0&&(a=o),l[a]=r[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,r){Object.defineProperty(l,"default",{enumerable:!0,value:r})}):function(l,r){l.default=r}),__importStar=this&&this.__importStar||(function(){var l=function(r){return l=Object.getOwnPropertyNames||function(o){var a=[];for(var i in o)Object.prototype.hasOwnProperty.call(o,i)&&(a[a.length]=i);return a},l(r)};return function(r){if(r&&r.__esModule)return r;var o={};if(r!=null)for(var a=l(r),i=0;i<a.length;i++)a[i]!=="default"&&__createBinding(o,r,a[i]);return __setModuleDefault(o,r),o}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),DomainHeader_1=__importDefault(require("../DomainHeader")),LogCard_1=__importDefault(require("../LogCard")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),NetworkFilterModal_1=__importDefault(require("./NetworkFilterModal")),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),constants_1=require("../../constants"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),NetworkTab=react_1.default.memo(()=>{const{groupedData:l,loadMoreSection:r,search:o,setSearch:a,setSearchScope:i,quickFilter:v,setQuickFilter:P,handleDelete:U,isGroupByPageEnabled:d,setIsGroupByPageEnabled:X,selectedLogs:x,sortOrder:J,setSortOrder:z,statusFilters:u,setStatusFilters:m,methodFilters:p,setMethodFilters:T,latencyFilter:h,setLatencyFilter:F,protocolFilter:y,setProtocolFilter:I,networkSortBy:b,setNetworkSortBy:L,filteredLogs:w,logs:A,toggleSectionFilter:M,toggleSectionCollapse:E,minStart:D,totalRange:N,newLogIds:H,toggleSelect:$,setSelected:j,maxNetworkLogs:q}=(0,InspectorContext_1.useInspector)(),{t:R}=(0,i18n_1.useTranslation)(),Y=(0,react_1.useRef)(null),[Z,W]=react_1.default.useState(!1),[G,Q]=react_1.default.useState(!1),[k,K]=react_1.default.useState(q||50);react_1.default.useEffect(()=>{K(q||50)},[o,v,q]);const ee=(0,react_1.useMemo)(()=>d?l:l.slice(0,k),[d,l,k]),te=(0,react_1.useCallback)(e=>e?.id?String(e.id):"",[]),C=(0,react_1.useMemo)(()=>u.size>0&&!u.has("all")||p.size>0&&!p.has("all")||h!=="all"||y!=="all"||b!=="time_desc",[u,p,h,y,b]),oe=(0,react_1.useMemo)(()=>{let e=0;return u.size>0&&!u.has("all")&&(e+=u.size),p.size>0&&!p.has("all")&&(e+=p.size),h!=="all"&&e++,y!=="all"&&e++,b!=="time_desc"&&e++,e},[u,p,h,y,b]),re=(0,react_1.useMemo)(()=>({statusCodes:u.size>0?new Set(u):new Set(["all"]),methods:p.size>0?new Set(p):new Set(["all"]),latency:h,protocol:y,sortBy:b}),[u,p,h,y,b]),le=(0,react_1.useCallback)(e=>{e.statusCodes.has("all")||e.statusCodes.size===0?m(new Set):m(new Set(e.statusCodes)),e.methods.has("all")||e.methods.size===0?T(new Set):T(new Set([...e.methods].map(n=>n))),F(e.latency||"all"),I(e.protocol||"all"),L(e.sortBy||"time_desc"),e.sortBy==="time_asc"?z("oldest"):z("newest")},[m,T,F,I,L,z]),f=(0,react_1.useMemo)(()=>{let e=0,n=0,s=0,c=0,V=0,O=0;return A.forEach(t=>{const _=typeof t.status=="number"?t.status:parseInt(String(t.status),10);t.status===0||t.status==null||!isNaN(_)&&_>=400?e++:!isNaN(_)&&_>=200&&_<400&&n++,(t.duration||0)>=500&&s++;const g=(t.method||"").toUpperCase();g==="POST"&&c++,g==="GET"&&V++;const B=(t.url||"").toLowerCase(),S=(t.client||"").toLowerCase();(B.includes("graphql")||S.includes("graphql")||S.includes("apollo"))&&O++}),{all:A.length,errors:e,success:n,slow:s,post:c,get:V,graphql:O}},[A]),ae=(0,react_1.useMemo)(()=>[{id:"all",label:"All",count:f.all,color:AppColors_1.AppColors.purple},{id:"errors",label:"Errors",count:f.errors,color:AppColors_1.AppColors.errorColor},{id:"success",label:"2xx OK",count:f.success,color:AppColors_1.AppColors.greenColor},{id:"slow",label:"Slow >500ms",count:f.slow,color:AppColors_1.AppColors.warningIconGold},{id:"POST",label:"POST",count:f.post,color:constants_1.METHOD_COLORS.POST||AppColors_1.AppColors.blue500},{id:"GET",label:"GET",count:f.get,color:constants_1.METHOD_COLORS.GET||AppColors_1.AppColors.emerald500},{id:"graphql",label:"GraphQL",count:f.graphql,color:AppColors_1.AppColors.graphqlPink}],[f]),ie=(0,react_1.useCallback)(({item:e,index:n})=>{if(e.type==="header")return<AnimatedEntrance_1.default index={n}distance={8}>
2
+ <DomainHeader_1.default pageName={e.pageName}color={e.color}stats={e.stats}activeFilters={e.activeFilters}onToggleFilter={M}isCollapsed={e.isCollapsed}onToggleCollapse={E}isFirst={e.isFirst}timestamp={e.timestamp}/>
3
+ </AnimatedEntrance_1.default>;if(e.type==="loadMore"){const{pageName:O,color:t,remainingCount:_,totalCount:g,loadedCount:B,loadMoreStep:S,hasMore:ne}=e;return<react_native_1.View style={[styles_1.default.treeNodeRow,styles_1.default.treeNodeRowLast]}>
4
4
  <react_native_1.View style={styles_1.default.treeLines}>
5
5
  <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:t},styles_1.default.modernTreeLineLast]}/>
6
6
  </react_native_1.View>
@@ -15,7 +15,7 @@
15
15
  {R("footer.loadMoreRequests",{count:S,defaultValue:`Load ${S} More Requests`})}
16
16
  </react_native_1.Text>
17
17
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak,marginTop:1}}>
18
- Showing {B} of {w} requests
18
+ Showing {B} of {g} requests
19
19
  </react_native_1.Text>
20
20
  </react_native_1.View>
21
21
  </react_native_1.View>
@@ -34,26 +34,26 @@
34
34
  <NetworkIcons_1.CheckIcon color={t}size={8}/>
35
35
  </react_native_1.View>
36
36
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextStrong}}>
37
- {R("footer.allLoaded",{count:w,defaultValue:`All ${w} requests loaded`})}
37
+ {R("footer.allLoaded",{count:g,defaultValue:`All ${g} requests loaded`})}
38
38
  </react_native_1.Text>
39
39
  </react_native_1.View>
40
40
 
41
41
  <react_native_1.View style={{backgroundColor:`${t}18`,paddingHorizontal:7,paddingVertical:2,borderRadius:6}}>
42
42
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:t}}>
43
- {w}/{w}
43
+ {g}/{g}
44
44
  </react_native_1.Text>
45
45
  </react_native_1.View>
46
46
  </react_native_1.View>}
47
47
  </react_native_1.View>
48
- </react_native_1.View>}const{log:s,isLast:c,color:V}=e;return<AnimatedEntrance_1.default index={n}distance={8}style={d?[styles_1.default.treeNodeRow,c&&styles_1.default.treeNodeRowLast]:{marginBottom:6,marginHorizontal:2}}>
48
+ </react_native_1.View>}const{log:s,isLast:c,color:V}=e;return<AnimatedEntrance_1.default index={n}distance={8}style={d?[styles_1.default.treeNodeRow,c&&styles_1.default.treeNodeRowLast]:{marginBottom:5,marginHorizontal:5}}>
49
49
  {d&&<react_native_1.View style={styles_1.default.treeLines}>
50
50
  <react_native_1.View style={[styles_1.default.modernTreeLine,{borderColor:V},c&&styles_1.default.modernTreeLineLast]}/>
51
51
  {!c&&<react_native_1.View style={[styles_1.default.modernTreeBranch,{borderColor:V}]}/>}
52
52
  </react_native_1.View>}
53
53
  <react_native_1.View style={d?styles_1.default.treeCardWrapper:{flex:1}}>
54
- <LogCard_1.default item={s}isSelected={x.has(s.id)}onToggleSelect={$}onPress={()=>{j(s)}}timelineMinStart={E}timelineTotalRange={N}isNew={H.has(s.id)}searchStr={o}/>
54
+ <LogCard_1.default item={s}isSelected={x.has(s.id)}onToggleSelect={$}onPress={()=>{j(s)}}timelineMinStart={D}timelineTotalRange={N}isNew={H.has(s.id)}searchStr={o}/>
55
55
  </react_native_1.View>
56
- </AnimatedEntrance_1.default>},[d,E,N,H,x,$,o,M,D,r,j,R]);return<react_native_1.View style={{flex:1}}>
56
+ </AnimatedEntrance_1.default>},[d,D,N,H,x,$,o,M,E,r,j,R]);return<react_native_1.View style={{flex:1}}>
57
57
  <react_native_1.View style={{marginTop:6}}>
58
58
 
59
59
  <react_native_1.View style={styles_1.default.toolbarRow}>
@@ -64,7 +64,7 @@
64
64
  {o.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
65
65
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
66
66
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold}}>
67
- {f.length}
67
+ {w.length}
68
68
  </react_native_1.Text>
69
69
  </react_native_1.View>
70
70
  <react_native_1.Pressable onPress={()=>a("")}hitSlop={10}style={styles_1.default.clearBtn}>
@@ -95,7 +95,7 @@
95
95
  </react_native_1.View>
96
96
 
97
97
 
98
- <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:12,gap:6}}>
98
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",marginBottom:8,paddingHorizontal:8,gap:6}}>
99
99
  <react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}style={{flex:1}}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingRight:6}}>
100
100
  {ae.map(e=>{const n=v===e.id,s=e.color||AppColors_1.AppColors.purple,c=n?AppColors_1.AppColors.white:s;return<TouchableScale_1.default key={e.id}onPress={()=>{P(n?"all":e.id)}}>
101
101
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",paddingHorizontal:9,paddingVertical:4.5,borderRadius:8,backgroundColor:n?s:`${s}12`,borderWidth:1,borderColor:n?s:`${s}30`,gap:5}}>
@@ -134,9 +134,9 @@
134
134
  </react_native_1.View>
135
135
 
136
136
 
137
- {(v!=="all"||o.trim().length>0||C||f.length!==A.length)&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:12,marginBottom:8,paddingHorizontal:10,paddingVertical:5.5,backgroundColor:`${AppColors_1.AppColors.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}25`}}>
137
+ {(v!=="all"||o.trim().length>0||C||w.length!==A.length)&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",marginHorizontal:8,marginBottom:8,paddingHorizontal:8,paddingVertical:5.5,backgroundColor:`${AppColors_1.AppColors.purple}10`,borderRadius:8,borderWidth:1,borderColor:`${AppColors_1.AppColors.purple}25`}}>
138
138
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.purple}}>
139
- Showing {f.length} of {A.length} requests
139
+ Showing {w.length} of {A.length} requests
140
140
  </react_native_1.Text>
141
141
  <TouchableScale_1.default onPress={()=>{a(""),P("all"),m(new Set),T(new Set),F("all"),I("all"),L("time_desc"),i("all")}}>
142
142
  <react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.errorColor}}>
@@ -146,7 +146,7 @@
146
146
  </react_native_1.View>}
147
147
  </react_native_1.View>
148
148
 
149
- <react_native_1.FlatList ref={Y}data={ee}keyExtractor={te}renderItem={ie}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0||C||v!=="all"}searchQuery={o}customTitle={o.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{a(""),m(new Set),T(new Set),F("all"),I("all"),L("time_desc"),P("all"),i("all")}}/>}ListFooterComponent={l.length>0?<EndOfListFooter_1.default count={d?f.length:Math.min(k,f.length)}totalCount={f.length}label="requests"hasMore={!d&&f.length>k}loadMoreStep={30}onLoadMore={()=>K(e=>e+30)}/>:null}contentContainerStyle={[styles_1.default.listContent,f.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
149
+ <react_native_1.FlatList ref={Y}data={ee}keyExtractor={te}renderItem={ie}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={o.length>0||C||v!=="all"}searchQuery={o}customTitle={o.length>0?"No matching API requests":"No network activity"}onClearSearch={()=>{a(""),m(new Set),T(new Set),F("all"),I("all"),L("time_desc"),P("all"),i("all")}}/>}ListFooterComponent={l.length>0?<EndOfListFooter_1.default count={d?w.length:Math.min(k,w.length)}totalCount={w.length}label="requests"hasMore={!d&&w.length>k}loadMoreStep={30}onLoadMore={()=>K(e=>e+30)}/>:null}style={{flex:1}}contentContainerStyle={[styles_1.default.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
150
150
 
151
151
 
152
152
  <NetworkFilterModal_1.default visible={Z}onClose={()=>W(!1)}filters={re}onApply={le}searchQuery={o}/>
@@ -87,4 +87,4 @@
87
87
  </react_native_1.View>
88
88
  </react_native_1.View>
89
89
  </react_native_1.View>
90
- </TouchableScale_1.default>}const styles=react_native_1.StyleSheet.create({card:{height:140,alignSelf:"stretch",borderRadius:10,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString,marginBottom:6},cardBody:{height:"100%",paddingHorizontal:12,paddingTop:10,paddingBottom:8,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:8,gap:6,minWidth:0,overflow:"hidden"},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:7,paddingVertical:2.5,borderRadius:5,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,letterSpacing:.5,color:AppColors_1.AppColors.white},chip:{paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,lineHeight:12},statusPill:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:7,paddingVertical:2.5,borderRadius:6,borderWidth:1,flexShrink:0},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,lineHeight:13},messageBox:{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:7,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:10,paddingVertical:6,height:68,minHeight:68,maxHeight:68,justifyContent:"center",gap:2,overflow:"hidden"},messageTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.primaryBlack,lineHeight:16},messageBody:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,lineHeight:15},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:6},footerLeft:{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5},cardDateText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},callerChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.skySoftBg,borderColor:AppColors_1.AppColors.skySoftBorder,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,flexShrink:1,minWidth:0},callerChipText:{color:AppColors_1.AppColors.skySoftText,fontSize:9,lineHeight:12,fontFamily:AppFonts_1.AppFonts.interBold},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}2B`,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},metaStatText:{color:AppColors_1.AppColors.purple,fontSize:9,lineHeight:12,fontFamily:AppFonts_1.AppFonts.interBold}});function arePushPropsEqual(e,r){return e.item===r.item&&e.searchStr===r.searchStr&&e.onPress===r.onPress}exports.default=react_1.default.memo(PushCard,arePushPropsEqual);
90
+ </TouchableScale_1.default>}const styles=react_native_1.StyleSheet.create({card:{height:140,alignSelf:"stretch",borderRadius:10,overflow:"hidden",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.shadowColorString,marginBottom:6},cardBody:{height:"100%",paddingHorizontal:8,paddingTop:8,paddingBottom:6,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22},cardHeaderLeft:{flexDirection:"row",alignItems:"center",flex:1,marginRight:4,gap:4.5,minWidth:0,overflow:"hidden"},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.grayTextWeak,fontSize:10},methodBadge:{paddingHorizontal:6,paddingVertical:2,borderRadius:5,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12,letterSpacing:.5,color:AppColors_1.AppColors.white},chip:{paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,lineHeight:12},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:6,borderWidth:1,flexShrink:0},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},messageBox:{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:7,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:7,paddingVertical:5,height:68,minHeight:68,maxHeight:68,justifyContent:"center",gap:2,overflow:"hidden"},messageTitle:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12,color:AppColors_1.AppColors.primaryBlack,lineHeight:16},messageBody:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.grayText,lineHeight:15},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:4},footerLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:4,flexShrink:0},cardDateRow:{flexDirection:"row",alignItems:"center",gap:3.5},cardDateText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},callerChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.skySoftBg,borderColor:AppColors_1.AppColors.skySoftBorder,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,flexShrink:1,minWidth:0},callerChipText:{color:AppColors_1.AppColors.skySoftText,fontSize:9,lineHeight:12,fontFamily:AppFonts_1.AppFonts.interBold},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}2B`,borderWidth:1,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4},metaStatText:{color:AppColors_1.AppColors.purple,fontSize:9,lineHeight:12,fontFamily:AppFonts_1.AppFonts.interBold}});function arePushPropsEqual(e,r){return e.item===r.item&&e.searchStr===r.searchStr&&e.onPress===r.onPress}exports.default=react_1.default.memo(PushCard,arePushPropsEqual);
@@ -156,39 +156,39 @@
156
156
  <react_native_1.Text style={detailStyles.sectionTitle}>{t("push.deliveryMetadata","Delivery & Message Metadata")}</react_native_1.Text>
157
157
  </react_native_1.View>
158
158
  <react_native_1.View style={detailStyles.keyValRow}>
159
- <react_native_1.Text style={detailStyles.keyText}>Message ID:</react_native_1.Text>
159
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.messageId","Message ID:")}</react_native_1.Text>
160
160
  <react_native_1.Text style={detailStyles.valText}selectable>{e.id||"N/A"}</react_native_1.Text>
161
161
  </react_native_1.View>
162
162
  <react_native_1.View style={detailStyles.keyValRow}>
163
- <react_native_1.Text style={detailStyles.keyText}>Source / Domain:</react_native_1.Text>
163
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.sourceDomain","Source / Domain:")}</react_native_1.Text>
164
164
  <react_native_1.Text style={detailStyles.valText}>{e.domain||e.source||"N/A"}</react_native_1.Text>
165
165
  </react_native_1.View>
166
166
  <react_native_1.View style={detailStyles.keyValRow}>
167
- <react_native_1.Text style={detailStyles.keyText}>App State:</react_native_1.Text>
167
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.appState","App State:")}</react_native_1.Text>
168
168
  <react_native_1.Text style={detailStyles.valText}>{e.appState}</react_native_1.Text>
169
169
  </react_native_1.View>
170
170
  <react_native_1.View style={detailStyles.keyValRow}>
171
- <react_native_1.Text style={detailStyles.keyText}>Action Type:</react_native_1.Text>
171
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.actionType","Action Type:")}</react_native_1.Text>
172
172
  <react_native_1.Text style={detailStyles.valText}>{e.action}</react_native_1.Text>
173
173
  </react_native_1.View>
174
174
  <react_native_1.View style={detailStyles.keyValRow}>
175
- <react_native_1.Text style={detailStyles.keyText}>Timestamp:</react_native_1.Text>
175
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.timestamp","Timestamp:")}</react_native_1.Text>
176
176
  <react_native_1.Text style={detailStyles.valText}>{n}</react_native_1.Text>
177
177
  </react_native_1.View>
178
178
  <react_native_1.View style={detailStyles.keyValRow}>
179
- <react_native_1.Text style={detailStyles.keyText}>Channel ID:</react_native_1.Text>
179
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.channelId","Channel ID:")}</react_native_1.Text>
180
180
  <react_native_1.Text style={detailStyles.valText}>{e.channelId||"default"}</react_native_1.Text>
181
181
  </react_native_1.View>
182
182
  <react_native_1.View style={detailStyles.keyValRow}>
183
- <react_native_1.Text style={detailStyles.keyText}>Sound:</react_native_1.Text>
183
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.sound","Sound:")}</react_native_1.Text>
184
184
  <react_native_1.Text style={detailStyles.valText}>{e.sound||"default"}</react_native_1.Text>
185
185
  </react_native_1.View>
186
186
  <react_native_1.View style={detailStyles.keyValRow}>
187
- <react_native_1.Text style={detailStyles.keyText}>Badge Count:</react_native_1.Text>
187
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.badgeCount","Badge Count:")}</react_native_1.Text>
188
188
  <react_native_1.Text style={detailStyles.valText}>{e.badge!=null?e.badge:"None"}</react_native_1.Text>
189
189
  </react_native_1.View>
190
190
  <react_native_1.View style={detailStyles.keyValRow}>
191
- <react_native_1.Text style={detailStyles.keyText}>Collapse Key:</react_native_1.Text>
191
+ <react_native_1.Text style={detailStyles.keyText}>{t("push.collapseKey","Collapse Key:")}</react_native_1.Text>
192
192
  <react_native_1.Text style={detailStyles.valText}>{e.collapseKey||"None"}</react_native_1.Text>
193
193
  </react_native_1.View>
194
194
  </react_native_1.View>
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,o,n,t){t===void 0&&(t=n);var a=Object.getOwnPropertyDescriptor(o,n);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[n]}}),Object.defineProperty(l,t,a)}):(function(l,o,n,t){t===void 0&&(t=n),l[t]=o[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,o){Object.defineProperty(l,"default",{enumerable:!0,value:o})}):function(l,o){l.default=o}),__importStar=this&&this.__importStar||(function(){var l=function(o){return l=Object.getOwnPropertyNames||function(n){var t=[];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[t.length]=a);return t},l(o)};return function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var t=l(o),a=0;a<t.length;a++)t[a]!=="default"&&__createBinding(n,o,t[a]);return __setModuleDefault(n,o),n}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),PushCard_1=__importDefault(require("./PushCard")),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),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"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,PushTab=react_1.default.memo(()=>{const{t:l}=(0,i18n_1.useTranslation)(),{pushRecords:o,filteredPushRecords:n,pushSearch:t,setPushSearch:a,pushQuickFilter:s,setPushQuickFilter:f,setSelectedPush:h,clearAllPushLogs:v,simulatePush:C,maxPushLogs:u}=(0,InspectorContext_1.useInspector)(),T=u||50,b=(0,react_1.useRef)(null),[g,x]=(0,react_1.useState)(0),[_,y]=(0,react_1.useState)(T);react_1.default.useEffect(()=>{y(u||50),b.current?.scrollToOffset({offset:0,animated:!1})},[t,s,u]);const d=(0,react_1.useMemo)(()=>n.slice(0,_),[n,_]),m=["salesforce","fcm","apns","deeplink","rich_media"],I=(0,react_1.useCallback)(()=>{const e=m[g%m.length];C(e),x(r=>r+1)},[g,C]),S=(0,react_1.useMemo)(()=>{let e=0,r=0,c=0;const i={};return o.forEach(p=>{const w=(p.appState||"").toLowerCase();w==="foreground"&&e++,w==="background"&&r++,p.action==="opened"&&c++;const A=(p.source||"other").toLowerCase();i[A]=(i[A]||0)+1}),{all:o.length,foreground:e,background:r,opened:c,sources:i}},[o]),V=(0,react_1.useMemo)(()=>{const e=[{id:"all",label:"All",color:AppColors_1.AppColors.purple,icon:r=><NetworkIcons_1.BellIcon size={12}color={r}/>},{id:"foreground",label:"Foreground",color:AppColors_1.AppColors.greenColor,icon:r=><NetworkIcons_1.SunIcon size={12}color={r}/>},{id:"background",label:"Background",color:AppColors_1.AppColors.darkOrange,icon:r=><NetworkIcons_1.MoonIcon size={12}color={r}/>},{id:"opened",label:"Opened",color:AppColors_1.AppColors.brandPurple,icon:r=><NetworkIcons_1.ExternalLinkIcon size={12}color={r}/>}];return Object.entries(S.sources).forEach(([r,c])=>{c>0&&r!=="all"&&e.push({id:`source:${r}`,label:r.toUpperCase(),color:r==="salesforce"?AppColors_1.AppColors.sky600:AppColors_1.AppColors.brandPurple,icon:i=><NetworkIcons_1.CloudPushIcon size={12}color={i}/>})}),e},[S]),P=(0,react_1.useCallback)(e=>{h(e)},[h]),k=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,o,n,t){t===void 0&&(t=n);var a=Object.getOwnPropertyDescriptor(o,n);(!a||("get"in a?!o.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return o[n]}}),Object.defineProperty(l,t,a)}):(function(l,o,n,t){t===void 0&&(t=n),l[t]=o[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,o){Object.defineProperty(l,"default",{enumerable:!0,value:o})}):function(l,o){l.default=o}),__importStar=this&&this.__importStar||(function(){var l=function(o){return l=Object.getOwnPropertyNames||function(n){var t=[];for(var a in n)Object.prototype.hasOwnProperty.call(n,a)&&(t[t.length]=a);return t},l(o)};return function(o){if(o&&o.__esModule)return o;var n={};if(o!=null)for(var t=l(o),a=0;a<t.length;a++)t[a]!=="default"&&__createBinding(n,o,t[a]);return __setModuleDefault(n,o),n}})(),__importDefault=this&&this.__importDefault||function(l){return l&&l.__esModule?l:{default:l}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),InspectorContext_1=require("./InspectorContext"),PushCard_1=__importDefault(require("./PushCard")),TouchableScale_1=__importDefault(require("../TouchableScale")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),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"),i18n_1=require("../../i18n"),NetworkIcons_1=require("../NetworkIcons"),LOAD_MORE_STEP=10,PushTab=react_1.default.memo(()=>{const{t:l}=(0,i18n_1.useTranslation)(),{pushRecords:o,filteredPushRecords:n,pushSearch:t,setPushSearch:a,pushQuickFilter:s,setPushQuickFilter:f,setSelectedPush:h,clearAllPushLogs:T,simulatePush:C,maxPushLogs:u}=(0,InspectorContext_1.useInspector)(),v=u||50,b=(0,react_1.useRef)(null),[g,x]=(0,react_1.useState)(0),[_,y]=(0,react_1.useState)(v);react_1.default.useEffect(()=>{y(u||50),b.current?.scrollToOffset({offset:0,animated:!1})},[t,s,u]);const d=(0,react_1.useMemo)(()=>n.slice(0,_),[n,_]),m=["salesforce","fcm","apns","deeplink","rich_media"],I=(0,react_1.useCallback)(()=>{const e=m[g%m.length];C(e),x(r=>r+1)},[g,C]),S=(0,react_1.useMemo)(()=>{let e=0,r=0,c=0;const i={};return o.forEach(p=>{const w=(p.appState||"").toLowerCase();w==="foreground"&&e++,w==="background"&&r++,p.action==="opened"&&c++;const A=(p.source||"other").toLowerCase();i[A]=(i[A]||0)+1}),{all:o.length,foreground:e,background:r,opened:c,sources:i}},[o]),V=(0,react_1.useMemo)(()=>{const e=[{id:"all",label:"All",color:AppColors_1.AppColors.purple,icon:r=><NetworkIcons_1.BellIcon size={12}color={r}/>},{id:"foreground",label:"Foreground",color:AppColors_1.AppColors.greenColor,icon:r=><NetworkIcons_1.SunIcon size={12}color={r}/>},{id:"background",label:"Background",color:AppColors_1.AppColors.darkOrange,icon:r=><NetworkIcons_1.MoonIcon size={12}color={r}/>},{id:"opened",label:"Opened",color:AppColors_1.AppColors.brandPurple,icon:r=><NetworkIcons_1.ExternalLinkIcon size={12}color={r}/>}];return Object.entries(S.sources).forEach(([r,c])=>{c>0&&r!=="all"&&e.push({id:`source:${r}`,label:r.toUpperCase(),color:r==="salesforce"?AppColors_1.AppColors.sky600:AppColors_1.AppColors.brandPurple,icon:i=><NetworkIcons_1.CloudPushIcon size={12}color={i}/>})}),e},[S]),P=(0,react_1.useCallback)(e=>{h(e)},[h]),k=(0,react_1.useCallback)(({item:e,index:r})=><AnimatedEntrance_1.default index={r}distance={8}>
2
2
  <PushCard_1.default item={e}searchStr={t}onPress={()=>P(e)}/>
3
3
  </AnimatedEntrance_1.default>,[t,P]),B=(0,react_1.useCallback)(e=>e.id||`push_${e.timestamp}`,[]);return<react_native_1.View style={{flex:1}}>
4
4
 
@@ -21,7 +21,7 @@
21
21
  <NetworkIcons_1.BoltIcon color={AppColors_1.AppColors.brandPurple}size={15}/>
22
22
  </TouchableScale_1.default>
23
23
 
24
- {o.length>0&&<TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={v}hitSlop={6}accessibilityRole="button"accessibilityLabel="Clear all push notification history">
24
+ {o.length>0&&<TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={T}hitSlop={6}accessibilityRole="button"accessibilityLabel="Clear all push notification history">
25
25
  <NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
26
26
  </TouchableScale_1.default>}
27
27
  </react_native_1.View>
@@ -41,5 +41,5 @@
41
41
  </react_native_1.View>
42
42
 
43
43
 
44
- <react_native_1.FlatList ref={b}data={d}renderItem={k}keyExtractor={B}contentContainerStyle={pushTabStyles.listContent}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}ListEmptyComponent={<EmptyState_1.default isSearch={!!(t||s!=="all")}searchQuery={t}customTitle={t||s!=="all"?l("push.noMatching","No matching push notifications"):l("push.noNotifications","No push notifications captured yet")}customSub={t||s!=="all"?l("push.adjustSearchFilter","Try adjusting your search query or filter chips."):l("push.noNotificationsDesc","Incoming or opened push payloads from any domain (Salesforce, FCM, APNs, etc.) will appear here automatically.")}onClearSearch={()=>{a(""),f("all")}}showReload={!1}/>}ListFooterComponent={n.length>0?<EndOfListFooter_1.default count={d.length}totalCount={n.length}label="push notifications"loadMoreStep={LOAD_MORE_STEP}hasMore={d.length<n.length}onLoadMore={()=>y(e=>e+LOAD_MORE_STEP)}/>:null}/>
44
+ <react_native_1.FlatList ref={b}data={d}renderItem={k}keyExtractor={B}style={{flex:1}}contentContainerStyle={[pushTabStyles.listContent,{flexGrow:1}]}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}keyboardShouldPersistTaps="handled"ListEmptyComponent={<EmptyState_1.default isSearch={!!(t||s!=="all")}searchQuery={t}customTitle={t||s!=="all"?l("push.noMatching","No matching push notifications"):l("push.noNotifications","No push notifications captured yet")}customSub={t||s!=="all"?l("push.adjustSearchFilter","Try adjusting your search query or filter chips."):l("push.noNotificationsDesc","Incoming or opened push payloads from any domain (Salesforce, FCM, APNs, etc.) will appear here automatically.")}onClearSearch={()=>{a(""),f("all")}}showReload={!1}/>}ListFooterComponent={n.length>0?<EndOfListFooter_1.default count={d.length}totalCount={n.length}label="push notifications"loadMoreStep={LOAD_MORE_STEP}hasMore={d.length<n.length}onLoadMore={()=>y(e=>e+LOAD_MORE_STEP)}/>:null}/>
45
45
  </react_native_1.View>}),pushTabStyles=react_native_1.StyleSheet.create({carouselWrapper:{paddingVertical:6,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,backgroundColor:AppColors_1.AppColors.white},carouselContent:{paddingHorizontal:8,gap:6,flexDirection:"row",alignItems:"center"},filterPill:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:9,paddingVertical:4.5,borderRadius:20,backgroundColor:AppColors_1.AppColors.grayBackground,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},filterPillText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.interMedium,color:AppColors_1.AppColors.primaryBlack},countBadge:{paddingHorizontal:5,paddingVertical:1,borderRadius:10},countBadgeText:{fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold},listContent:{padding:8,paddingBottom:24}});PushTab.displayName="PushTab",exports.default=PushTab;
@@ -1,4 +1,4 @@
1
- "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,t,a,r){r===void 0&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(i,r,n)}):(function(i,t,a,r){r===void 0&&(r=a),i[r]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,t){Object.defineProperty(i,"default",{enumerable:!0,value:t})}):function(i,t){i.default=t}),__importStar=this&&this.__importStar||(function(){var i=function(t){return i=Object.getOwnPropertyNames||function(a){var r=[];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(r[r.length]=n);return r},i(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var r=i(t),n=0;n<r.length;n++)r[n]!=="default"&&__createBinding(a,t,r[n]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};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")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),HighlightText_1=__importDefault(require("../HighlightText")),helpers_1=require("../../helpers"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),reduxLogger_1=require("../../customHooks/reduxLogger"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=i=>{switch(i){case"saga":return{label:"SAGA",renderIcon:(t,a=9)=><NetworkIcons_1.BoltIcon color={t}size={a}/>,bg:AppColors_1.AppColors.purple100,text:AppColors_1.AppColors.brandPurple,border:AppColors_1.AppColors.purple200};case"thunk":return{label:"THUNK",renderIcon:(t,a=9)=><NetworkIcons_1.AtomIcon color={t}size={a}/>,bg:AppColors_1.AppColors.amber100,text:AppColors_1.AppColors.amber800Warm,border:AppColors_1.AppColors.amber200};case"ui":return{label:"UI",renderIcon:(t,a=9)=><NetworkIcons_1.ScreenIcon color={t}size={a}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};case"listener":return{label:"LISTENER",renderIcon:(t,a=9)=><NetworkIcons_1.ListenerIcon color={t}size={a}/>,bg:AppColors_1.AppColors.teal100,text:AppColors_1.AppColors.teal700,border:AppColors_1.AppColors.teal400};default:return{label:"DIRECT",renderIcon:(t,a=9)=><NetworkIcons_1.BoltIcon color={t}size={a}/>,bg:AppColors_1.AppColors.slate100,text:AppColors_1.AppColors.slate700,border:AppColors_1.AppColors.slate200}}},DEFAULT_PAGE_SIZE=50,LOAD_MORE_STEP=10,ReduxTab=react_1.default.memo(()=>{const{t:i}=(0,i18n_1.useTranslation)(),{reduxState:t,reduxLastActionMap:a,reduxSearch:r,setReduxSearch:n,setSelectedReduxSlice:b}=(0,InspectorContext_1.useInspector)(),x=(0,react_1.useRef)(null),[T,m]=(0,react_1.useState)(DEFAULT_PAGE_SIZE),[u,I]=(0,react_1.useState)("latest");react_1.default.useEffect(()=>{m(DEFAULT_PAGE_SIZE),x.current?.scrollToOffset({offset:0,animated:!1})},[r,u]);const R=(0,react_1.useMemo)(()=>(0,helpers_1.getSize)(t),[t]),v=(0,react_1.useMemo)(()=>(0,reduxLogger_1.getActionHistory)(),[a]),A=(0,react_1.useMemo)(()=>!t||typeof t!="object"?[]:Object.keys(t).map(l=>{const o=t[l],p=Array.isArray(o),w=o&&typeof o=="object";let y="Primitive",d=0;p?(d=o.length,y=`Array [${d}]`):w?(d=Object.keys(o).length,y=`Object {${d}}`):typeof o<"u"&&(d=1,y=typeof o);let f="live",c;w&&(o.loading===!0||o.isLoading===!0||o.status==="loading"||o.status==="pending"?(f="loading",c="Loading"):o.error||o.hasError||o.status==="error"||o.status==="failed"?(f="error",c=typeof o.error=="string"?o.error:"Error"):d===0&&(f="empty",c="Empty"));const s=a[l],B=s?.updatedAt||0,F=v.filter(C=>!C.affectedSlices||C.affectedSlices.length===0?!0:C.affectedSlices.includes(l)).length;let S;if(s){let C;if(s.payload!==void 0&&s.payload!==null)try{if(typeof s.payload=="object"){const V=Object.keys(s.payload);C=`{ ${V.slice(0,3).join(", ")}${V.length>3?"...":""} }`}else C=String(s.payload)}catch{}S={type:s.type,timestamp:s.timestamp,updatedAt:s.updatedAt,payloadPreview:C,originType:s.originType,callerFile:s.callerFile,callerLine:s.callerLine,callerCol:s.callerCol}}return{id:`slice-${l}`,name:l,keysCount:d,sizeStr:(0,helpers_1.getSize)(o),typeLabel:y,status:f,statusMessage:c,timelineCount:F,lastAction:S,updatedAt:B}}),[t,a,v]),g=(0,react_1.useMemo)(()=>{let e=A;if(r&&r.trim().length>0){const l=r.trim().toLowerCase().split(/\s+/).filter(Boolean);e=e.filter(o=>{const p=t?t[o.name]:null,w=[o.name||"",o.lastAction?.type||"",o.lastAction?.payloadPreview||"",o.lastAction?.originType||"",o.status||"",o.statusMessage||"",p?typeof p=="string"?p:JSON.stringify(p):""].join(" ").toLowerCase();return l.every(y=>w.includes(y))})}return[...e].sort((l,o)=>u==="latest"&&o.updatedAt!==l.updatedAt?o.updatedAt-l.updatedAt:l.name.localeCompare(o.name))},[A,r,u,t]),_=(0,react_1.useMemo)(()=>g.slice(0,T),[g,T]),h=(0,react_1.useMemo)(()=>{const e=Object.values(a);return e.length===0?null:e.reduce((l,o)=>l?(o.updatedAt||0)>(l.updatedAt||0)?o:l:o,null)},[a]),z=(0,react_1.useCallback)(({item:e,index:l})=>{const o=e.updatedAt>0&&Date.now()-e.updatedAt<5e3,p=e.status==="error"?AppColors_1.AppColors.errorColor:e.status==="loading"?AppColors_1.AppColors.warningIconGold:e.status==="empty"?AppColors_1.AppColors.grayTextWeak:AppColors_1.AppColors.greenColor,w=e.status==="error"?AppColors_1.AppColors.red100:e.status==="loading"?AppColors_1.AppColors.amber100:e.status==="empty"?AppColors_1.AppColors.grayBackground:AppColors_1.AppColors.emeraldBg,y=e.status==="error"?AppColors_1.AppColors.errorBorder:e.status==="loading"?AppColors_1.AppColors.amber200:e.status==="empty"?AppColors_1.AppColors.dividerColor:AppColors_1.AppColors.emeraldBorder,d=e.status==="error"?AppColors_1.AppColors.red600:e.status==="loading"?AppColors_1.AppColors.amber800Warm:e.status==="empty"?AppColors_1.AppColors.grayTextWeak:AppColors_1.AppColors.emerald700,f=e.lastAction?.callerFile?(0,helpers_1.getCleanCallerDisplay)(e.lastAction.callerFile):null;return<AnimatedEntrance_1.default index={l}distance={8}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(i,t,a,r){r===void 0&&(r=a);var n=Object.getOwnPropertyDescriptor(t,a);(!n||("get"in n?!t.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(i,r,n)}):(function(i,t,a,r){r===void 0&&(r=a),i[r]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(i,t){Object.defineProperty(i,"default",{enumerable:!0,value:t})}):function(i,t){i.default=t}),__importStar=this&&this.__importStar||(function(){var i=function(t){return i=Object.getOwnPropertyNames||function(a){var r=[];for(var n in a)Object.prototype.hasOwnProperty.call(a,n)&&(r[r.length]=n);return r},i(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var r=i(t),n=0;n<r.length;n++)r[n]!=="default"&&__createBinding(a,t,r[n]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(i){return i&&i.__esModule?i:{default:i}};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")),EmptyState_1=__importDefault(require("../EmptyState")),EndOfListFooter_1=__importDefault(require("../EndOfListFooter")),HighlightText_1=__importDefault(require("../HighlightText")),helpers_1=require("../../helpers"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),reduxLogger_1=require("../../customHooks/reduxLogger"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=i=>{switch(i){case"saga":return{label:"SAGA",renderIcon:(t,a=9)=><NetworkIcons_1.BoltIcon color={t}size={a}/>,bg:AppColors_1.AppColors.purple100,text:AppColors_1.AppColors.brandPurple,border:AppColors_1.AppColors.purple200};case"thunk":return{label:"THUNK",renderIcon:(t,a=9)=><NetworkIcons_1.AtomIcon color={t}size={a}/>,bg:AppColors_1.AppColors.amber100,text:AppColors_1.AppColors.amber800Warm,border:AppColors_1.AppColors.amber200};case"ui":return{label:"UI",renderIcon:(t,a=9)=><NetworkIcons_1.ScreenIcon color={t}size={a}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};case"listener":return{label:"LISTENER",renderIcon:(t,a=9)=><NetworkIcons_1.ListenerIcon color={t}size={a}/>,bg:AppColors_1.AppColors.teal100,text:AppColors_1.AppColors.teal700,border:AppColors_1.AppColors.teal400};default:return{label:"DIRECT",renderIcon:(t,a=9)=><NetworkIcons_1.BoltIcon color={t}size={a}/>,bg:AppColors_1.AppColors.slate100,text:AppColors_1.AppColors.slate700,border:AppColors_1.AppColors.slate200}}},DEFAULT_PAGE_SIZE=50,LOAD_MORE_STEP=10,ReduxTab=react_1.default.memo(()=>{const{t:i}=(0,i18n_1.useTranslation)(),{reduxState:t,reduxLastActionMap:a,reduxSearch:r,setReduxSearch:n,setSelectedReduxSlice:b}=(0,InspectorContext_1.useInspector)(),x=(0,react_1.useRef)(null),[T,m]=(0,react_1.useState)(DEFAULT_PAGE_SIZE),[u,I]=(0,react_1.useState)("latest");react_1.default.useEffect(()=>{m(DEFAULT_PAGE_SIZE),x.current?.scrollToOffset({offset:0,animated:!1})},[r,u]);const R=(0,react_1.useMemo)(()=>(0,helpers_1.getSize)(t),[t]),v=(0,react_1.useMemo)(()=>(0,reduxLogger_1.getActionHistory)(),[a]),A=(0,react_1.useMemo)(()=>!t||typeof t!="object"?[]:Object.keys(t).map(l=>{const o=t[l],p=Array.isArray(o),w=o&&typeof o=="object";let g="Primitive",d=0;p?(d=o.length,g=`Array [${d}]`):w?(d=Object.keys(o).length,g=`Object {${d}}`):typeof o<"u"&&(d=1,g=typeof o);let f="live",c;w&&(o.loading===!0||o.isLoading===!0||o.status==="loading"||o.status==="pending"?(f="loading",c="Loading"):o.error||o.hasError||o.status==="error"||o.status==="failed"?(f="error",c=typeof o.error=="string"?o.error:"Error"):d===0&&(f="empty",c="Empty"));const s=a[l],B=s?.updatedAt||0,F=v.filter(C=>!C.affectedSlices||C.affectedSlices.length===0?!0:C.affectedSlices.includes(l)).length;let S;if(s){let C;if(s.payload!==void 0&&s.payload!==null)try{if(typeof s.payload=="object"){const V=Object.keys(s.payload);C=`{ ${V.slice(0,3).join(", ")}${V.length>3?"...":""} }`}else C=String(s.payload)}catch{}S={type:s.type,timestamp:s.timestamp,updatedAt:s.updatedAt,payloadPreview:C,originType:s.originType,callerFile:s.callerFile,callerLine:s.callerLine,callerCol:s.callerCol}}return{id:`slice-${l}`,name:l,keysCount:d,sizeStr:(0,helpers_1.getSize)(o),typeLabel:g,status:f,statusMessage:c,timelineCount:F,lastAction:S,updatedAt:B}}),[t,a,v]),y=(0,react_1.useMemo)(()=>{let e=A;if(r&&r.trim().length>0){const l=r.trim().toLowerCase().split(/\s+/).filter(Boolean);e=e.filter(o=>{const p=t?t[o.name]:null,w=[o.name||"",o.lastAction?.type||"",o.lastAction?.payloadPreview||"",o.lastAction?.originType||"",o.status||"",o.statusMessage||"",p?typeof p=="string"?p:JSON.stringify(p):""].join(" ").toLowerCase();return l.every(g=>w.includes(g))})}return[...e].sort((l,o)=>u==="latest"&&o.updatedAt!==l.updatedAt?o.updatedAt-l.updatedAt:l.name.localeCompare(o.name))},[A,r,u,t]),_=(0,react_1.useMemo)(()=>y.slice(0,T),[y,T]),h=(0,react_1.useMemo)(()=>{const e=Object.values(a);return e.length===0?null:e.reduce((l,o)=>l?(o.updatedAt||0)>(l.updatedAt||0)?o:l:o,null)},[a]),z=(0,react_1.useCallback)(({item:e,index:l})=>{const o=e.updatedAt>0&&Date.now()-e.updatedAt<5e3,p=e.status==="error"?AppColors_1.AppColors.errorColor:e.status==="loading"?AppColors_1.AppColors.warningIconGold:e.status==="empty"?AppColors_1.AppColors.grayTextWeak:AppColors_1.AppColors.greenColor,w=e.status==="error"?AppColors_1.AppColors.red100:e.status==="loading"?AppColors_1.AppColors.amber100:e.status==="empty"?AppColors_1.AppColors.grayBackground:AppColors_1.AppColors.emeraldBg,g=e.status==="error"?AppColors_1.AppColors.errorBorder:e.status==="loading"?AppColors_1.AppColors.amber200:e.status==="empty"?AppColors_1.AppColors.dividerColor:AppColors_1.AppColors.emeraldBorder,d=e.status==="error"?AppColors_1.AppColors.red600:e.status==="loading"?AppColors_1.AppColors.amber800Warm:e.status==="empty"?AppColors_1.AppColors.grayTextWeak:AppColors_1.AppColors.emerald700,f=e.lastAction?.callerFile?(0,helpers_1.getCleanCallerDisplay)(e.lastAction.callerFile):null;return<AnimatedEntrance_1.default index={l}distance={8}>
2
2
  <react_native_1.View style={reduxTabStyles.cardContainer}>
3
3
  <TouchableScale_1.default onPress={()=>{b(e.name)}}style={[reduxTabStyles.card,{borderLeftWidth:3.5,borderLeftColor:p,backgroundColor:e.status==="error"?AppColors_1.AppColors.errorCardBg:AppColors_1.AppColors.white},o&&reduxTabStyles.cardRecentlyUpdated]}>
4
4
  <react_native_1.View style={reduxTabStyles.cardBody}>
@@ -7,7 +7,9 @@
7
7
  <react_native_1.View style={reduxTabStyles.cardHeaderLeft}>
8
8
  <react_native_1.Text style={reduxTabStyles.serialNumber}>#{l+1}</react_native_1.Text>
9
9
  <react_native_1.View style={[reduxTabStyles.methodBadge,{backgroundColor:AppColors_1.AppColors.violet600}]}>
10
- <react_native_1.Text style={reduxTabStyles.methodBadgeText}>REDUX</react_native_1.Text>
10
+ <react_native_1.Text style={reduxTabStyles.methodBadgeText}>
11
+ {i("redux.title","REDUX").toUpperCase()}
12
+ </react_native_1.Text>
11
13
  </react_native_1.View>
12
14
  <react_native_1.View style={[reduxTabStyles.chip,{backgroundColor:`${AppColors_1.AppColors.violet600}14`,borderColor:`${AppColors_1.AppColors.violet600}2E`}]}>
13
15
  <react_native_1.Text style={[reduxTabStyles.chipText,{color:AppColors_1.AppColors.violet600}]}>
@@ -24,7 +26,7 @@
24
26
  </react_native_1.View>
25
27
 
26
28
  <react_native_1.View style={reduxTabStyles.cardHeaderRight}>
27
- <react_native_1.View style={[reduxTabStyles.statusPill,{backgroundColor:w,borderColor:y}]}>
29
+ <react_native_1.View style={[reduxTabStyles.statusPill,{backgroundColor:w,borderColor:g}]}>
28
30
  {e.status==="loading"?<NetworkIcons_1.LoadingSpinnerIcon color={AppColors_1.AppColors.amber800Warm}size={10}/>:e.status==="error"?<NetworkIcons_1.CircleAlertIcon color={AppColors_1.AppColors.red600}size={10}/>:e.status==="empty"?null:<react_native_1.View style={reduxTabStyles.liveDot}/>}
29
31
  <react_native_1.Text style={[reduxTabStyles.statusPillText,{color:d}]}>
30
32
  {e.status==="loading"?"Loading":e.status==="error"?e.statusMessage||"Error":e.status==="empty"?"Empty":"Live"}
@@ -132,7 +134,7 @@
132
134
  {r.length>0&&<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
133
135
  <react_native_1.View style={{backgroundColor:`${AppColors_1.AppColors.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
134
136
  <react_native_1.Text style={{color:AppColors_1.AppColors.purple,fontSize:9.5,fontFamily:AppFonts_1.AppFonts.interBold}}>
135
- {g.length}
137
+ {y.length}
136
138
  </react_native_1.Text>
137
139
  </react_native_1.View>
138
140
  <react_native_1.Pressable accessible={!0}accessibilityRole="button"accessibilityLabel="Clear search input"onPress={()=>n("")}hitSlop={10}>
@@ -149,7 +151,7 @@
149
151
 
150
152
  <react_native_1.View style={reduxTabStyles.headerSubRow}>
151
153
  <react_native_1.Text style={reduxTabStyles.resultCount}>
152
- Showing {g.length} of {A.length} state slices
154
+ Showing {y.length} of {A.length} state slices
153
155
  </react_native_1.Text>
154
156
  <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4}}>
155
157
  {u==="latest"?<NetworkIcons_1.BoltIcon color={AppColors_1.AppColors.brandPurple}size={11}/>:<NetworkIcons_1.TextAaIcon color={AppColors_1.AppColors.brandPurple}size={11}/>}
@@ -161,7 +163,7 @@
161
163
  </react_native_1.View>
162
164
 
163
165
 
164
- <react_native_1.FlatList ref={x}data={_}keyExtractor={e=>e.id}renderItem={z}getItemLayout={(e,l)=>({length:126,offset:126*l,index:l})}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}ListEmptyComponent={<EmptyState_1.default isSearch={r.trim().length>0}searchQuery={r}onClearSearch={()=>n("")}customTitle={r.trim().length>0?"No Matching Slices":"No Redux State Detected"}customSub={r.trim().length>0?`No Redux slices match "${r}"`:"Attach the Redux store or dispatch actions to see state slices."}/>}ListFooterComponent={g.length>0?<EndOfListFooter_1.default count={_.length}totalCount={g.length}label="slices"loadMoreStep={LOAD_MORE_STEP}hasMore={_.length<g.length}onLoadMore={()=>m(e=>e+LOAD_MORE_STEP)}/>:null}contentContainerStyle={[reduxTabStyles.listContent,g.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
166
+ <react_native_1.FlatList ref={x}data={_}keyExtractor={e=>e.id}renderItem={z}getItemLayout={(e,l)=>({length:126,offset:126*l,index:l})}initialNumToRender={10}maxToRenderPerBatch={8}windowSize={5}updateCellsBatchingPeriod={40}removeClippedSubviews={!0}renderToHardwareTextureAndroid={!0}showsVerticalScrollIndicator={!1}nestedScrollEnabled={!0}ListEmptyComponent={<EmptyState_1.default isSearch={r.trim().length>0}searchQuery={r}onClearSearch={()=>n("")}customTitle={r.trim().length>0?"No Matching Slices":"No Redux State Detected"}customSub={r.trim().length>0?`No Redux slices match "${r}"`:"Attach the Redux store or dispatch actions to see state slices."}/>}ListFooterComponent={y.length>0?<EndOfListFooter_1.default count={_.length}totalCount={y.length}label="slices"loadMoreStep={LOAD_MORE_STEP}hasMore={_.length<y.length}onLoadMore={()=>m(e=>e+LOAD_MORE_STEP)}/>:null}style={{flex:1}}contentContainerStyle={[reduxTabStyles.listContent,{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
165
167
  </react_native_1.View>:<react_native_1.View style={styles_1.default.emptyContainer}>
166
168
  <react_native_1.View style={styles_1.default.emptyIconWrap}>
167
169
  <NetworkIcons_1.TerminalIcon color={AppColors_1.AppColors.purple}size={32}/>
@@ -170,4 +172,4 @@
170
172
  <react_native_1.Text style={styles_1.default.emptySub}>
171
173
  {i("redux.connectStoreTip","Call connectReduxStore(store) or use inspectorReduxMiddleware at app initialization.")}
172
174
  </react_native_1.Text>
173
- </react_native_1.View>}),reduxTabStyles=react_native_1.StyleSheet.create({overviewCard:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.white,marginHorizontal:12,marginTop:10,borderRadius:12,padding:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.03,shadowRadius:3,elevation:1},statCol:{flex:1},statDivider:{width:1,height:28,backgroundColor:AppColors_1.AppColors.dividerColor,marginHorizontal:8},statHeading:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.5},statBigVal:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack,marginTop:2},statLastAction:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.purple,marginTop:2},statLastTime:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak},toolbarContainer:{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:12,paddingTop:8,paddingBottom:6,marginTop:8},searchRow:{flexDirection:"row",alignItems:"center",gap:8},headerSubRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginTop:6,paddingHorizontal:2},resultCount:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak},sortLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.brandPurple},listContent:{paddingVertical:8,paddingBottom:36},cardContainer:{paddingHorizontal:10,paddingVertical:4,height:126},card:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:2.5,elevation:1.5,height:118,overflow:"hidden"},cardRecentlyUpdated:{borderColor:`${AppColors_1.AppColors.brandPurple}66`,backgroundColor:AppColors_1.AppColors.purpleTintBg},cardBody:{paddingHorizontal:12,paddingTop:9,paddingBottom:7,flex:1,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22,gap:6},cardHeaderLeft:{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak},methodBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:4,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.white,fontSize:9,lineHeight:12,letterSpacing:.4},chip:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,lineHeight:11,letterSpacing:.3},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1},liveDot:{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.emerald500},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},cardMainRow:{height:48,minHeight:48,maxHeight:48,justifyContent:"space-between",gap:3},sliceNameRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:6},sliceNameText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,lineHeight:16,color:AppColors_1.AppColors.primaryBlack,flex:1},actionCountChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:`${AppColors_1.AppColors.violet600}14`,borderColor:`${AppColors_1.AppColors.violet600}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},actionCountChipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,lineHeight:11,color:AppColors_1.AppColors.violet600},actionPreviewRow:{flexDirection:"row",alignItems:"center",gap:4.5,minHeight:15},actionPreviewText:{fontFamily:react_native_1.Platform.select({ios:"Menlo",default:"monospace"}),fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak,flex:1},actionPreviewEmptyText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400,fontStyle:"italic",flex:1},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:6},footerLeft:{flexDirection:"row",alignItems:"center",gap:5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},footerTimestampText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},callerChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:AppColors_1.AppColors.sky100,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3,borderWidth:.5,borderColor:AppColors_1.AppColors.sky400,marginLeft:4},callerChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:8.5,lineHeight:11,color:AppColors_1.AppColors.sky600},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.violetSoftBg,borderColor:AppColors_1.AppColors.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:AppColors_1.AppColors.graySurface,borderRadius:1.5,overflow:"hidden"},waterfallBar:{height:"100%",borderRadius:1.5},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2}});exports.default=ReduxTab;
175
+ </react_native_1.View>}),reduxTabStyles=react_native_1.StyleSheet.create({overviewCard:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.white,marginHorizontal:8,marginTop:8,borderRadius:12,padding:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,shadowColor:AppColors_1.AppColors.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.03,shadowRadius:3,elevation:1},statCol:{flex:1},statDivider:{width:1,height:28,backgroundColor:AppColors_1.AppColors.dividerColor,marginHorizontal:6},statHeading:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.5},statBigVal:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:14,color:AppColors_1.AppColors.primaryBlack,marginTop:2},statLastAction:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:11,color:AppColors_1.AppColors.purple,marginTop:2},statLastTime:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:AppColors_1.AppColors.grayTextWeak},toolbarContainer:{backgroundColor:AppColors_1.AppColors.white,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,paddingHorizontal:8,paddingTop:8,paddingBottom:6,marginTop:8},searchRow:{flexDirection:"row",alignItems:"center",gap:8},headerSubRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginTop:6,paddingHorizontal:2},resultCount:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.grayTextWeak},sortLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.brandPurple},listContent:{paddingVertical:8,paddingBottom:36},cardContainer:{paddingHorizontal:5,paddingVertical:4,height:126},card:{backgroundColor:AppColors_1.AppColors.white,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.grayBorderSecondary,shadowColor:AppColors_1.AppColors.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:2.5,elevation:1.5,height:118,overflow:"hidden"},cardRecentlyUpdated:{borderColor:`${AppColors_1.AppColors.brandPurple}66`,backgroundColor:AppColors_1.AppColors.purpleTintBg},cardBody:{paddingHorizontal:8,paddingTop:8,paddingBottom:6,flex:1,justifyContent:"space-between"},cardHeaderRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:22,minHeight:22,maxHeight:22,gap:4.5},cardHeaderLeft:{flexDirection:"row",alignItems:"center",gap:4.5,flex:1,minWidth:0},cardHeaderRight:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:0},serialNumber:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak},methodBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:4,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.white,fontSize:9,lineHeight:12,letterSpacing:.4},chip:{flexDirection:"row",alignItems:"center",gap:3,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1},chipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,lineHeight:11,letterSpacing:.3},statusPill:{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:6,paddingVertical:2,borderRadius:4,borderWidth:1},liveDot:{width:6,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.emerald500},statusPillText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,lineHeight:12},cardMainRow:{height:48,minHeight:48,maxHeight:48,justifyContent:"space-between",gap:3},sliceNameRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:6},sliceNameText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,lineHeight:16,color:AppColors_1.AppColors.primaryBlack,flex:1},actionCountChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:`${AppColors_1.AppColors.violet600}14`,borderColor:`${AppColors_1.AppColors.violet600}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},actionCountChipText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,lineHeight:11,color:AppColors_1.AppColors.violet600},actionPreviewRow:{flexDirection:"row",alignItems:"center",gap:4.5,minHeight:15},actionPreviewText:{fontFamily:react_native_1.Platform.select({ios:"Menlo",default:"monospace"}),fontSize:10,lineHeight:13,color:AppColors_1.AppColors.grayTextWeak,flex:1},actionPreviewEmptyText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400,fontStyle:"italic",flex:1},cardFooterRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",height:18,minHeight:18,maxHeight:18,gap:6},footerLeft:{flexDirection:"row",alignItems:"center",gap:5,flex:1,minWidth:0,overflow:"hidden"},footerRight:{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0},footerTimestampText:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,lineHeight:13,color:AppColors_1.AppColors.slate400},callerChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:AppColors_1.AppColors.sky100,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3,borderWidth:.5,borderColor:AppColors_1.AppColors.sky400,marginLeft:4},callerChipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:8.5,lineHeight:11,color:AppColors_1.AppColors.sky600},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.violetSoftBg,borderColor:AppColors_1.AppColors.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:AppColors_1.AppColors.graySurface,borderRadius:1.5,overflow:"hidden"},waterfallBar:{height:"100%",borderRadius:1.5},highlight:{backgroundColor:AppColors_1.AppColors.yellowHighlight,color:AppColors_1.AppColors.primaryBlack,borderRadius:2}});exports.default=ReduxTab;
@@ -0,0 +1,2 @@
1
+ import React from 'react';
2
+ export declare const SecondaryTelemetryStrip: React.FC;
@@ -0,0 +1,43 @@
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(r,e,o,t){t===void 0&&(t=o);var n=Object.getOwnPropertyDescriptor(e,o);(!n||("get"in n?!e.__esModule:n.writable||n.configurable))&&(n={enumerable:!0,get:function(){return e[o]}}),Object.defineProperty(r,t,n)}):(function(r,e,o,t){t===void 0&&(t=o),r[t]=e[o]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(r,e){Object.defineProperty(r,"default",{enumerable:!0,value:e})}):function(r,e){r.default=e}),__importStar=this&&this.__importStar||(function(){var r=function(e){return r=Object.getOwnPropertyNames||function(o){var t=[];for(var n in o)Object.prototype.hasOwnProperty.call(o,n)&&(t[t.length]=n);return t},r(e)};return function(e){if(e&&e.__esModule)return e;var o={};if(e!=null)for(var t=r(e),n=0;n<t.length;n++)t[n]!=="default"&&__createBinding(o,e,t[n]);return __setModuleDefault(o,e),o}})(),__importDefault=this&&this.__importDefault||function(r){return r&&r.__esModule?r:{default:r}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.SecondaryTelemetryStrip=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),react_native_linear_gradient_1=__importDefault(require("react-native-linear-gradient")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),NativeInspector_1=require("../../native/NativeInspector"),networkLogger_1=require("../../customHooks/networkLogger"),InspectorContext_1=require("./InspectorContext"),i18n_1=require("../../i18n"),SecondaryTelemetryStrip=()=>{const{t:r}=(0,i18n_1.useTranslation)(),{switchActiveTab:e,peekMode:o}=(0,InspectorContext_1.useInspector)(),[t,n]=(0,react_1.useState)(60),[a,I]=(0,react_1.useState)(null),[f,y]=(0,react_1.useState)(0),g=(0,react_1.useRef)(0),S=(0,react_1.useRef)(Date.now());(0,react_1.useEffect)(()=>{let i;const c=()=>{g.current++;const l=Date.now(),u=l-S.current;if(u>=1e3){const h=Math.min(60,Math.round(g.current*1e3/u));n(h),g.current=0,S.current=l}i=requestAnimationFrame(c)};return i=requestAnimationFrame(c),()=>cancelAnimationFrame(i)},[]);const p=(0,react_1.useRef)(0),v=(0,react_1.useRef)(Date.now());(0,react_1.useEffect)(()=>{const i=(0,networkLogger_1.subscribeNetworkLogs)(l=>{if(!l||l.length===0){y(0);return}const u=Date.now(),h=l.slice(0,10);let w=0,A=0,_=0;for(const s of h){let B=0,F=0;s.request&&(B=typeof s.request=="string"?s.request.length:JSON.stringify(s.request).length),s.response&&(F=typeof s.response=="string"?s.response.length:JSON.stringify(s.response).length);const m=B+F;if(m>0&&s.duration&&s.duration>0){const x=m*8/(s.duration/1e3)/1e3;x>0&&_===0&&(_=x),w+=m,A+=s.duration}}let d=0;A>0&&w>0?d=w*8/(A/1e3)/1e3:_>0&&(d=_),d>0?(p.current=d,v.current=u,y(Math.round(d*10)/10)):p.current>0&&u-v.current<12e3&&y(Math.round(p.current*10)/10)}),c=setInterval(()=>{Date.now()-v.current>15e3&&p.current>0&&(p.current=0,y(0))},3e3);return()=>{i(),clearInterval(c)}},[]),(0,react_1.useEffect)(()=>{let i=!0;const c=async()=>{try{const u=await(0,NativeInspector_1.getNativeDeviceMetrics)();i&&u&&I(u)}catch{}};c();const l=setInterval(c,4e3);return()=>{i=!1,clearInterval(l)}},[]);const M=t>=55?AppColors_1.AppColors.emerald400:t>=30?AppColors_1.AppColors.amber400:AppColors_1.AppColors.rose400,C=(0,react_1.useMemo)(()=>{if(a?.usedRAM&&a?.totalRAM){const i=(a.usedRAM/1073741824).toFixed(2),c=(a.totalRAM/(1024*1024*1024)).toFixed(1);return`${i} / ${c} GB RAM`}return a?.residentMemory?`${(a.residentMemory/1073741824).toFixed(2)} GB RAM`:a?.usedRAM?`${(a.usedRAM/1073741824).toFixed(2)} GB RAM`:null},[a]),b=a?.batteryPercent,T=a?.isCharging;return<react_native_linear_gradient_1.default colors={[AppColors_1.AppColors.telemetrySubHeaderGradStart||"#0B0F1C",AppColors_1.AppColors.telemetrySubHeaderGradMid||"#111524",AppColors_1.AppColors.telemetrySubHeaderGradEnd||"#0B0F1C"]}start={{x:0,y:0}}end={{x:1,y:0}}style={stripStyles.container}>
2
+ <react_native_1.TouchableOpacity activeOpacity={.8}onPress={()=>e?.("device")}style={stripStyles.inner}>
3
+
4
+ <react_native_1.View style={stripStyles.item}>
5
+ <NetworkIcons_1.ActivityIcon size={11.5}color={M}/>
6
+ <react_native_1.Text style={[stripStyles.label,{color:M,fontFamily:AppFonts_1.AppFonts.interBold}]}>
7
+ {t} {r("telemetry.fps","FPS")}
8
+ </react_native_1.Text>
9
+ </react_native_1.View>
10
+
11
+ <react_native_1.View style={stripStyles.divider}/>
12
+
13
+
14
+ <react_native_1.View style={stripStyles.item}>
15
+ <NetworkIcons_1.SpeedIcon size={11.5}color={AppColors_1.AppColors.sky300||"#7DD3FC"}/>
16
+ <react_native_1.Text style={[stripStyles.label,{color:AppColors_1.AppColors.sky300||"#7DD3FC"}]}>
17
+ {f>=1e3?`${(f/1e3).toFixed(2)} Mbps`:f>0?`${f.toFixed(1)} kbps`:"0.0 kbps"}
18
+ </react_native_1.Text>
19
+ </react_native_1.View>
20
+
21
+
22
+ {C&&<>
23
+ <react_native_1.View style={stripStyles.divider}/>
24
+ <react_native_1.View style={stripStyles.item}>
25
+ <NetworkIcons_1.BoltIcon size={11}color={AppColors_1.AppColors.purple400||"#A78BFA"}/>
26
+ <react_native_1.Text style={[stripStyles.label,{color:AppColors_1.AppColors.purple400||"#A78BFA"}]}>
27
+ {C}
28
+ </react_native_1.Text>
29
+ </react_native_1.View>
30
+ </>}
31
+
32
+
33
+ {b!==void 0&&b>=0&&<>
34
+ <react_native_1.View style={stripStyles.divider}/>
35
+ <react_native_1.View style={stripStyles.item}>
36
+ {T?<NetworkIcons_1.BatteryChargingIcon size={11.5}color={AppColors_1.AppColors.emerald400}/>:<NetworkIcons_1.BatteryFullIcon size={11.5}color={AppColors_1.AppColors.slate400}/>}
37
+ <react_native_1.Text style={stripStyles.label}>
38
+ {Math.round(b)}%
39
+ </react_native_1.Text>
40
+ </react_native_1.View>
41
+ </>}
42
+ </react_native_1.TouchableOpacity>
43
+ </react_native_linear_gradient_1.default>};exports.SecondaryTelemetryStrip=SecondaryTelemetryStrip;const stripStyles=react_native_1.StyleSheet.create({container:{width:"100%",borderBottomWidth:react_native_1.StyleSheet.hairlineWidth,borderBottomColor:AppColors_1.AppColors.telemetrySubHeaderBorder||"rgba(255, 255, 255, 0.07)",borderTopWidth:react_native_1.StyleSheet.hairlineWidth,borderTopColor:"rgba(0, 0, 0, 0.25)",zIndex:9},inner:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:3.5,minHeight:23},item:{flexDirection:"row",alignItems:"center",gap:4},divider:{width:1,height:10,backgroundColor:"rgba(255, 255, 255, 0.08)"},label:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:9,lineHeight:11.5,color:"rgba(255, 255, 255, 0.85)",letterSpacing:.1}});