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.
- package/README.md +26 -5
- package/dist/commonjs/components/AnalyticsDetail.js +15 -12
- package/dist/commonjs/components/AnalyticsEventCard.js +11 -8
- package/dist/commonjs/components/AppHeaderLogo.js +4 -6
- package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -0
- package/dist/commonjs/components/ConsoleLogCard.js +92 -80
- package/dist/commonjs/components/EndOfListFooter.d.ts +5 -1
- package/dist/commonjs/components/EndOfListFooter.js +27 -5
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +27 -299
- package/dist/commonjs/components/Inspector/ConsoleTab.js +36 -94
- package/dist/commonjs/components/Inspector/CrashDetail.js +11 -10
- package/dist/commonjs/components/Inspector/CrashTab.js +43 -33
- package/dist/commonjs/components/Inspector/DebuggingTab.js +13 -13
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +107 -71
- package/dist/commonjs/components/Inspector/FabLauncher.js +8 -9
- package/dist/commonjs/components/Inspector/InspectorHeader.js +93 -70
- package/dist/commonjs/components/Inspector/LogDetail.js +10 -7
- package/dist/commonjs/components/Inspector/MainScreen.js +66 -30
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +1 -1
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +3 -3
- package/dist/commonjs/components/Inspector/NetworkDetail.js +29 -28
- package/dist/commonjs/components/Inspector/NetworkFilterModal.js +1 -1
- package/dist/commonjs/components/Inspector/NetworkTab.js +87 -85
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +3 -3
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +21 -22
- package/dist/commonjs/components/Inspector/PushCard.d.ts +4 -0
- package/dist/commonjs/components/Inspector/PushCard.js +89 -0
- package/dist/commonjs/components/Inspector/PushDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/PushDetail.js +190 -0
- package/dist/commonjs/components/Inspector/PushTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/PushTab.js +45 -0
- package/dist/commonjs/components/Inspector/ReduxDetail.js +16 -13
- package/dist/commonjs/components/Inspector/ReduxTab.js +109 -106
- package/dist/commonjs/components/Inspector/SettingsPanel.js +230 -134
- package/dist/commonjs/components/Inspector/StorageTab.js +55 -51
- package/dist/commonjs/components/Inspector/TabBar.js +30 -26
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
- package/dist/commonjs/components/JsonViewer.js +151 -159
- package/dist/commonjs/components/LogCard.js +34 -38
- package/dist/commonjs/components/LogSyntaxHighlighter.js +3 -3
- package/dist/commonjs/components/ModuleErrorBoundary.d.ts +24 -0
- package/dist/commonjs/components/ModuleErrorBoundary.js +33 -0
- package/dist/commonjs/components/NetworkIcons.d.ts +3 -3
- package/dist/commonjs/components/NetworkIcons.js +10 -6
- package/dist/commonjs/components/SegmentedTabs.d.ts +8 -2
- package/dist/commonjs/components/SegmentedTabs.js +11 -7
- package/dist/commonjs/components/ShareButton.d.ts +11 -0
- package/dist/commonjs/components/ShareButton.js +6 -0
- package/dist/commonjs/constants/index.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/crashHandler.js +4 -4
- package/dist/commonjs/customHooks/networkLogger.js +1 -2
- package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
- package/dist/commonjs/helpers/index.d.ts +6 -0
- package/dist/commonjs/helpers/index.js +4 -4
- package/dist/commonjs/helpers/memoryManager.d.ts +2 -2
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/remoteConfig.js +1 -1
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/shareFormatter.d.ts +13 -0
- package/dist/commonjs/helpers/shareFormatter.js +7 -0
- package/dist/commonjs/i18n/index.d.ts +35 -0
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -0
- package/dist/commonjs/i18n/locales/de.json +1 -0
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -0
- package/dist/commonjs/i18n/locales/fr.json +1 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -0
- package/dist/commonjs/i18n/locales/pt.json +1 -0
- package/dist/commonjs/i18n/locales/ru.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -0
- package/dist/commonjs/index.d.ts +6 -5
- package/dist/commonjs/index.js +4 -4
- package/dist/commonjs/push.d.ts +4 -0
- package/dist/commonjs/push.js +1 -0
- package/dist/commonjs/styles/AppColors.d.ts +40 -0
- package/dist/commonjs/styles/AppColors.js +1 -1
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +30 -20
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/index.d.ts +10 -0
- package/dist/commonjs/types/interfaces.d.ts +63 -7
- package/dist/esm/components/AnalyticsDetail.js +84 -81
- package/dist/esm/components/AnalyticsEventCard.js +20 -17
- package/dist/esm/components/AppHeaderLogo.js +5 -7
- package/dist/esm/components/ConsoleLogCard.d.ts +1 -0
- package/dist/esm/components/ConsoleLogCard.js +98 -86
- package/dist/esm/components/EndOfListFooter.d.ts +5 -1
- package/dist/esm/components/EndOfListFooter.js +36 -14
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
- package/dist/esm/components/Inspector/AnalyticsTab.js +44 -316
- package/dist/esm/components/Inspector/ConsoleTab.js +55 -113
- package/dist/esm/components/Inspector/CrashDetail.js +53 -52
- package/dist/esm/components/Inspector/CrashTab.js +74 -64
- package/dist/esm/components/Inspector/DebuggingTab.js +33 -33
- package/dist/esm/components/Inspector/DeviceInfoTab.js +174 -138
- package/dist/esm/components/Inspector/FabLauncher.js +41 -42
- package/dist/esm/components/Inspector/InspectorHeader.js +138 -115
- package/dist/esm/components/Inspector/LogDetail.js +24 -21
- package/dist/esm/components/Inspector/MainScreen.js +98 -62
- package/dist/esm/components/Inspector/MediaGalleryTab.js +1 -1
- package/dist/esm/components/Inspector/MediaPreviewModal.js +31 -31
- package/dist/esm/components/Inspector/NetworkDetail.js +88 -87
- package/dist/esm/components/Inspector/NetworkFilterModal.js +8 -8
- package/dist/esm/components/Inspector/NetworkTab.js +132 -130
- package/dist/esm/components/Inspector/NpmStarPrompt.js +42 -42
- package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -46
- package/dist/esm/components/Inspector/PushCard.d.ts +4 -0
- package/dist/esm/components/Inspector/PushCard.js +89 -0
- package/dist/esm/components/Inspector/PushDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/PushDetail.js +190 -0
- package/dist/esm/components/Inspector/PushTab.d.ts +3 -0
- package/dist/esm/components/Inspector/PushTab.js +45 -0
- package/dist/esm/components/Inspector/ReduxDetail.js +40 -37
- package/dist/esm/components/Inspector/ReduxTab.js +155 -152
- package/dist/esm/components/Inspector/SettingsPanel.js +380 -284
- package/dist/esm/components/Inspector/StorageTab.js +177 -173
- package/dist/esm/components/Inspector/TabBar.js +38 -34
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
- package/dist/esm/components/JsonViewer.js +161 -169
- package/dist/esm/components/LogCard.js +38 -42
- package/dist/esm/components/LogSyntaxHighlighter.js +1 -1
- package/dist/esm/components/ModuleErrorBoundary.d.ts +24 -0
- package/dist/esm/components/ModuleErrorBoundary.js +33 -0
- package/dist/esm/components/NetworkIcons.d.ts +3 -3
- package/dist/esm/components/NetworkIcons.js +7 -3
- package/dist/esm/components/SegmentedTabs.d.ts +8 -2
- package/dist/esm/components/SegmentedTabs.js +12 -8
- package/dist/esm/components/ShareButton.d.ts +11 -0
- package/dist/esm/components/ShareButton.js +6 -0
- package/dist/esm/constants/index.js +1 -1
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/crashHandler.js +6 -6
- package/dist/esm/customHooks/networkLogger.js +1 -2
- package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
- package/dist/esm/helpers/index.d.ts +6 -0
- package/dist/esm/helpers/index.js +4 -4
- package/dist/esm/helpers/memoryManager.d.ts +2 -2
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/remoteConfig.js +1 -1
- package/dist/esm/helpers/settingsStore.d.ts +1 -0
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/shareFormatter.d.ts +13 -0
- package/dist/esm/helpers/shareFormatter.js +7 -0
- package/dist/esm/i18n/index.d.ts +35 -0
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -0
- package/dist/esm/i18n/locales/de.json +1 -0
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -0
- package/dist/esm/i18n/locales/fr.json +1 -0
- package/dist/esm/i18n/locales/hi.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -0
- package/dist/esm/i18n/locales/pt.json +1 -0
- package/dist/esm/i18n/locales/ru.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -0
- package/dist/esm/index.d.ts +6 -5
- package/dist/esm/index.js +7 -7
- package/dist/esm/push.d.ts +4 -0
- package/dist/esm/push.js +1 -0
- package/dist/esm/styles/AppColors.d.ts +40 -0
- package/dist/esm/styles/AppColors.js +1 -1
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +30 -20
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/index.d.ts +10 -0
- package/dist/esm/types/interfaces.d.ts +63 -7
- package/package.json +53 -24
- package/src/native/NativeInspector.ts +0 -1
- package/dist/commonjs/bundle.d.ts +0 -2
- package/dist/commonjs/bundle.js +0 -1
- package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
- package/dist/commonjs/components/BrandSquareIcon.js +0 -112
- package/dist/commonjs/components/Inspector/BundleTab.d.ts +0 -48
- package/dist/commonjs/components/Inspector/BundleTab.js +0 -1297
- package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +0 -27
- package/dist/commonjs/components/Inspector/PerformanceTab.js +0 -454
- package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +0 -115
- package/dist/commonjs/customHooks/bundleAnalyzer.js +0 -1
- package/dist/commonjs/customHooks/performanceTracker.d.ts +0 -144
- package/dist/commonjs/customHooks/performanceTracker.js +0 -63
- package/dist/commonjs/performance.d.ts +0 -2
- package/dist/commonjs/performance.js +0 -1
- package/dist/esm/bundle.d.ts +0 -2
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
- package/dist/esm/components/BrandSquareIcon.js +0 -112
- package/dist/esm/components/Inspector/BundleTab.d.ts +0 -48
- package/dist/esm/components/Inspector/BundleTab.js +0 -1297
- package/dist/esm/components/Inspector/PerformanceTab.d.ts +0 -27
- package/dist/esm/components/Inspector/PerformanceTab.js +0 -454
- package/dist/esm/customHooks/bundleAnalyzer.d.ts +0 -115
- package/dist/esm/customHooks/bundleAnalyzer.js +0 -1
- package/dist/esm/customHooks/performanceTracker.d.ts +0 -144
- package/dist/esm/customHooks/performanceTracker.js +0 -63
- package/dist/esm/performance.d.ts +0 -2
- package/dist/esm/performance.js +0 -1
|
@@ -0,0 +1,190 @@
|
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(o,e,t,r){r===void 0&&(r=t);var a=Object.getOwnPropertyDescriptor(e,t);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[t]}}),Object.defineProperty(o,r,a)}):(function(o,e,t,r){r===void 0&&(r=t),o[r]=e[t]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(o,e){Object.defineProperty(o,"default",{enumerable:!0,value:e})}):function(o,e){o.default=e}),__importStar=this&&this.__importStar||(function(){var o=function(e){return o=Object.getOwnPropertyNames||function(t){var r=[];for(var a in t)Object.prototype.hasOwnProperty.call(t,a)&&(r[r.length]=a);return r},o(e)};return function(e){if(e&&e.__esModule)return e;var t={};if(e!=null)for(var r=o(e),a=0;a<r.length;a++)r[a]!=="default"&&__createBinding(t,e,r[a]);return __setModuleDefault(t,e),t}})(),__importDefault=this&&this.__importDefault||function(o){return o&&o.__esModule?o:{default:o}};Object.defineProperty(exports,"__esModule",{value:!0});const react_1=__importStar(require("react")),react_native_1=require("react-native"),styles_1=__importDefault(require("../../styles")),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),ShareButton_1=__importDefault(require("../ShareButton")),CopyButton_1=__importDefault(require("../CopyButton")),JsonViewer_1=__importDefault(require("../JsonViewer")),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),NetworkIcons_1=require("../NetworkIcons"),PushDetail=react_1.default.memo(function({item:e}){const[t,r]=(0,react_1.useState)("preview"),a=(0,react_1.useMemo)(()=>e?(0,helpers_1.formatDateTime)(e.timestamp):"",[e]);if(!e)return null;const n=async()=>{await(0,shareFormatter_1.sharePushReport)(e)},p=[{key:"preview",label:"Preview",themeColor:AppColors_1.AppColors.brandPurple,icon:l=><NetworkIcons_1.EyeIcon size={12}color={l?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"payload",label:"Custom Payload",themeColor:AppColors_1.AppColors.violet600,icon:l=><NetworkIcons_1.LayersIcon size={12}color={l?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"headers",label:"Delivery Metadata",themeColor:AppColors_1.AppColors.teal600,icon:l=><NetworkIcons_1.MetadataIcon size={12}color={l?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>},{key:"raw",label:"Raw Payload",themeColor:AppColors_1.AppColors.sky600,icon:l=><NetworkIcons_1.RawJsonIcon size={12}color={l?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}/>}],s=(e.source||"PUSH").toUpperCase(),c=(e.appState||"STATE").toUpperCase(),d=!!(e.data?.deepLink||e.data?.openDirectUrl||e.data?._od||e.customDomainAttributes?.openDirectUrl),u=e.data?.deepLink||e.data?.openDirectUrl||e.data?._od||e.customDomainAttributes?.openDirectUrl||"";return<react_native_1.View style={{flex:1}}>
|
|
2
|
+
|
|
3
|
+
<react_native_1.View style={{paddingHorizontal:8,paddingTop:4}}>
|
|
4
|
+
<react_native_1.View style={styles_1.default.detailInfoBar}>
|
|
5
|
+
|
|
6
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"wrap",gap:6,paddingBottom:8,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
|
|
7
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5,flexWrap:"wrap",flex:1}}>
|
|
8
|
+
|
|
9
|
+
<react_native_1.View style={[styles_1.default.methodBadge,{backgroundColor:AppColors_1.AppColors.brandPurple,paddingHorizontal:8,paddingVertical:3.5,borderRadius:6,flexDirection:"row",alignItems:"center",gap:4}]}>
|
|
10
|
+
<NetworkIcons_1.CloudPushIcon size={10}color={AppColors_1.AppColors.white}/>
|
|
11
|
+
<react_native_1.Text style={[styles_1.default.methodBadgeText,{color:AppColors_1.AppColors.white,fontSize:10.5,fontFamily:AppFonts_1.AppFonts.interBold}]}>
|
|
12
|
+
{s}
|
|
13
|
+
</react_native_1.Text>
|
|
14
|
+
</react_native_1.View>
|
|
15
|
+
|
|
16
|
+
|
|
17
|
+
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:e.appState==="foreground"?`${AppColors_1.AppColors.greenColor}18`:`${AppColors_1.AppColors.amber600}18`,borderColor:e.appState==="foreground"?`${AppColors_1.AppColors.greenColor}40`:`${AppColors_1.AppColors.amber600}40`,paddingHorizontal:6,paddingVertical:3,borderRadius:6}]}>
|
|
18
|
+
<react_native_1.Text style={[styles_1.default.chipText,{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:e.appState==="foreground"?AppColors_1.AppColors.greenColor:AppColors_1.AppColors.amber700}]}>
|
|
19
|
+
{c}
|
|
20
|
+
</react_native_1.Text>
|
|
21
|
+
</react_native_1.View>
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
{e.action&&<react_native_1.View style={[styles_1.default.chip,{backgroundColor:`${AppColors_1.AppColors.purple}14`,borderColor:`${AppColors_1.AppColors.purple}30`,paddingHorizontal:6,paddingVertical:3,borderRadius:6}]}>
|
|
25
|
+
<react_native_1.Text style={[styles_1.default.chipText,{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9.5,color:AppColors_1.AppColors.purple}]}>
|
|
26
|
+
{e.action.toUpperCase()}
|
|
27
|
+
</react_native_1.Text>
|
|
28
|
+
</react_native_1.View>}
|
|
29
|
+
|
|
30
|
+
|
|
31
|
+
<react_native_1.View style={[styles_1.default.chip,{backgroundColor:`${AppColors_1.AppColors.brandPurple}10`,borderColor:`${AppColors_1.AppColors.brandPurple}25`,paddingHorizontal:7,paddingVertical:3,borderRadius:6,gap:4}]}>
|
|
32
|
+
<NetworkIcons_1.ClockIcon color={AppColors_1.AppColors.brandPurple}size={10}/>
|
|
33
|
+
<react_native_1.Text style={[styles_1.default.chipText,{color:AppColors_1.AppColors.brandPurple,fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5}]}>
|
|
34
|
+
{a}
|
|
35
|
+
</react_native_1.Text>
|
|
36
|
+
</react_native_1.View>
|
|
37
|
+
</react_native_1.View>
|
|
38
|
+
</react_native_1.View>
|
|
39
|
+
|
|
40
|
+
|
|
41
|
+
<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:10,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,padding:10,marginTop:8,gap:8}}>
|
|
42
|
+
|
|
43
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",flexWrap:"nowrap",gap:6}}>
|
|
44
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1,minWidth:0}}>
|
|
45
|
+
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10,color:AppColors_1.AppColors.grayTextWeak,letterSpacing:.4,textTransform:"uppercase"}}numberOfLines={1}>
|
|
46
|
+
{e.domain?e.domain.toUpperCase():"NOTIFICATION PAYLOAD"}
|
|
47
|
+
</react_native_1.Text>
|
|
48
|
+
</react_native_1.View>
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:5,flexShrink:0}}>
|
|
52
|
+
<ShareButton_1.default onShare={n}/>
|
|
53
|
+
<CopyButton_1.default value={typeof e.rawPayload=="object"?JSON.stringify(e.rawPayload,null,2):JSON.stringify(e.data,null,2)}label="JSON"iconType="copy"/>
|
|
54
|
+
<CopyButton_1.default value={e.id||""}label="ID"iconType="copy"/>
|
|
55
|
+
</react_native_1.View>
|
|
56
|
+
</react_native_1.View>
|
|
57
|
+
|
|
58
|
+
|
|
59
|
+
<react_native_1.View style={{gap:2}}>
|
|
60
|
+
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:12.5,color:AppColors_1.AppColors.primaryBlack,lineHeight:18}}numberOfLines={2}selectable>
|
|
61
|
+
{e.title||"(No Title)"}
|
|
62
|
+
</react_native_1.Text>
|
|
63
|
+
{e.body?<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11.5,color:AppColors_1.AppColors.grayText,lineHeight:16}}numberOfLines={2}selectable>
|
|
64
|
+
{e.body}
|
|
65
|
+
</react_native_1.Text>:null}
|
|
66
|
+
{d?<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4,marginTop:2}}>
|
|
67
|
+
<react_native_1.Text style={{fontSize:10,fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.brandPurple}}>
|
|
68
|
+
🔗 LINK:
|
|
69
|
+
</react_native_1.Text>
|
|
70
|
+
<react_native_1.Text style={{fontSize:10.5,fontFamily:AppFonts_1.AppFonts.interRegular,color:AppColors_1.AppColors.sky600}}numberOfLines={1}>
|
|
71
|
+
{u}
|
|
72
|
+
</react_native_1.Text>
|
|
73
|
+
</react_native_1.View>:null}
|
|
74
|
+
</react_native_1.View>
|
|
75
|
+
</react_native_1.View>
|
|
76
|
+
</react_native_1.View>
|
|
77
|
+
</react_native_1.View>
|
|
78
|
+
|
|
79
|
+
|
|
80
|
+
<react_native_1.View style={{paddingHorizontal:8,paddingVertical:6}}>
|
|
81
|
+
<SegmentedTabs_1.default tabs={p}activeKey={t}onChange={l=>r(l)}scrollable={!0}/>
|
|
82
|
+
</react_native_1.View>
|
|
83
|
+
|
|
84
|
+
|
|
85
|
+
<react_native_1.View style={{flex:1,paddingHorizontal:8,paddingBottom:10}}>
|
|
86
|
+
{t==="preview"&&<react_native_1.ScrollView contentContainerStyle={detailStyles.scrollContent}>
|
|
87
|
+
|
|
88
|
+
<react_native_1.View style={detailStyles.mockupCard}>
|
|
89
|
+
<react_native_1.View style={detailStyles.mockupHeader}>
|
|
90
|
+
<react_native_1.View style={detailStyles.mockupAppIcon}>
|
|
91
|
+
<NetworkIcons_1.BellIcon size={12}color={AppColors_1.AppColors.white}/>
|
|
92
|
+
</react_native_1.View>
|
|
93
|
+
<react_native_1.Text style={detailStyles.mockupAppName}>
|
|
94
|
+
{e.domain||"App Notification"}
|
|
95
|
+
</react_native_1.Text>
|
|
96
|
+
<react_native_1.Text style={detailStyles.mockupTime}>• now</react_native_1.Text>
|
|
97
|
+
</react_native_1.View>
|
|
98
|
+
|
|
99
|
+
|
|
100
|
+
{e.imageUrl?<react_native_1.Image source={{uri:e.imageUrl}}style={detailStyles.mockupImage}resizeMode="cover"/>:null}
|
|
101
|
+
|
|
102
|
+
|
|
103
|
+
<react_native_1.View style={{gap:2}}>
|
|
104
|
+
<react_native_1.Text style={detailStyles.mockupTitle}numberOfLines={2}>
|
|
105
|
+
{e.title||"(No Title)"}
|
|
106
|
+
</react_native_1.Text>
|
|
107
|
+
{e.subtitle?<react_native_1.Text style={detailStyles.mockupSubtitle}numberOfLines={1}>
|
|
108
|
+
{e.subtitle}
|
|
109
|
+
</react_native_1.Text>:null}
|
|
110
|
+
<react_native_1.Text style={detailStyles.mockupBody}>
|
|
111
|
+
{e.body||"(No message body provided in notification payload)"}
|
|
112
|
+
</react_native_1.Text>
|
|
113
|
+
</react_native_1.View>
|
|
114
|
+
|
|
115
|
+
|
|
116
|
+
<react_native_1.View style={detailStyles.mockupFooterTags}>
|
|
117
|
+
{e.channelId?<react_native_1.View style={detailStyles.tagPill}>
|
|
118
|
+
<react_native_1.Text style={detailStyles.tagPillText}>Channel: {e.channelId}</react_native_1.Text>
|
|
119
|
+
</react_native_1.View>:null}
|
|
120
|
+
{e.sound?<react_native_1.View style={detailStyles.tagPill}>
|
|
121
|
+
<react_native_1.Text style={detailStyles.tagPillText}>🔊 {e.sound}</react_native_1.Text>
|
|
122
|
+
</react_native_1.View>:null}
|
|
123
|
+
{e.badge!=null?<react_native_1.View style={detailStyles.tagPill}>
|
|
124
|
+
<react_native_1.Text style={detailStyles.tagPillText}>Badge: {e.badge}</react_native_1.Text>
|
|
125
|
+
</react_native_1.View>:null}
|
|
126
|
+
{e.priority?<react_native_1.View style={detailStyles.tagPill}>
|
|
127
|
+
<react_native_1.Text style={detailStyles.tagPillText}>⚡ {e.priority}</react_native_1.Text>
|
|
128
|
+
</react_native_1.View>:null}
|
|
129
|
+
</react_native_1.View>
|
|
130
|
+
</react_native_1.View>
|
|
131
|
+
|
|
132
|
+
|
|
133
|
+
{e.customDomainAttributes&&Object.keys(e.customDomainAttributes).length>0&&<react_native_1.View style={detailStyles.sectionCard}>
|
|
134
|
+
<react_native_1.Text style={detailStyles.sectionTitle}>🏢 Domain Specific Fields</react_native_1.Text>
|
|
135
|
+
{Object.entries(e.customDomainAttributes).map(([l,i])=><react_native_1.View key={l}style={detailStyles.keyValRow}>
|
|
136
|
+
<react_native_1.Text style={detailStyles.keyText}>{l}:</react_native_1.Text>
|
|
137
|
+
<react_native_1.Text style={detailStyles.valText}numberOfLines={2}>
|
|
138
|
+
{typeof i=="object"?JSON.stringify(i):String(i)}
|
|
139
|
+
</react_native_1.Text>
|
|
140
|
+
</react_native_1.View>)}
|
|
141
|
+
</react_native_1.View>}
|
|
142
|
+
</react_native_1.ScrollView>}
|
|
143
|
+
|
|
144
|
+
{t==="payload"&&<JsonViewer_1.default data={e.data&&Object.keys(e.data).length>0?e.data:{message:"No custom key-value data found in payload"}}fullHeight={!0}/>}
|
|
145
|
+
|
|
146
|
+
{t==="headers"&&<react_native_1.ScrollView contentContainerStyle={detailStyles.scrollContent}>
|
|
147
|
+
<react_native_1.View style={detailStyles.sectionCard}>
|
|
148
|
+
<react_native_1.Text style={detailStyles.sectionTitle}>⚙️ Delivery & Message Metadata</react_native_1.Text>
|
|
149
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
150
|
+
<react_native_1.Text style={detailStyles.keyText}>Message ID:</react_native_1.Text>
|
|
151
|
+
<react_native_1.Text style={detailStyles.valText}selectable>{e.id||"N/A"}</react_native_1.Text>
|
|
152
|
+
</react_native_1.View>
|
|
153
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
154
|
+
<react_native_1.Text style={detailStyles.keyText}>Source / Domain:</react_native_1.Text>
|
|
155
|
+
<react_native_1.Text style={detailStyles.valText}>{e.domain||e.source||"N/A"}</react_native_1.Text>
|
|
156
|
+
</react_native_1.View>
|
|
157
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
158
|
+
<react_native_1.Text style={detailStyles.keyText}>App State:</react_native_1.Text>
|
|
159
|
+
<react_native_1.Text style={detailStyles.valText}>{e.appState}</react_native_1.Text>
|
|
160
|
+
</react_native_1.View>
|
|
161
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
162
|
+
<react_native_1.Text style={detailStyles.keyText}>Action Type:</react_native_1.Text>
|
|
163
|
+
<react_native_1.Text style={detailStyles.valText}>{e.action}</react_native_1.Text>
|
|
164
|
+
</react_native_1.View>
|
|
165
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
166
|
+
<react_native_1.Text style={detailStyles.keyText}>Timestamp:</react_native_1.Text>
|
|
167
|
+
<react_native_1.Text style={detailStyles.valText}>{a}</react_native_1.Text>
|
|
168
|
+
</react_native_1.View>
|
|
169
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
170
|
+
<react_native_1.Text style={detailStyles.keyText}>Channel ID:</react_native_1.Text>
|
|
171
|
+
<react_native_1.Text style={detailStyles.valText}>{e.channelId||"default"}</react_native_1.Text>
|
|
172
|
+
</react_native_1.View>
|
|
173
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
174
|
+
<react_native_1.Text style={detailStyles.keyText}>Sound:</react_native_1.Text>
|
|
175
|
+
<react_native_1.Text style={detailStyles.valText}>{e.sound||"default"}</react_native_1.Text>
|
|
176
|
+
</react_native_1.View>
|
|
177
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
178
|
+
<react_native_1.Text style={detailStyles.keyText}>Badge Count:</react_native_1.Text>
|
|
179
|
+
<react_native_1.Text style={detailStyles.valText}>{e.badge!=null?e.badge:"None"}</react_native_1.Text>
|
|
180
|
+
</react_native_1.View>
|
|
181
|
+
<react_native_1.View style={detailStyles.keyValRow}>
|
|
182
|
+
<react_native_1.Text style={detailStyles.keyText}>Collapse Key:</react_native_1.Text>
|
|
183
|
+
<react_native_1.Text style={detailStyles.valText}>{e.collapseKey||"None"}</react_native_1.Text>
|
|
184
|
+
</react_native_1.View>
|
|
185
|
+
</react_native_1.View>
|
|
186
|
+
</react_native_1.ScrollView>}
|
|
187
|
+
|
|
188
|
+
{t==="raw"&&<JsonViewer_1.default data={e.rawPayload||e}fullHeight={!0}/>}
|
|
189
|
+
</react_native_1.View>
|
|
190
|
+
</react_native_1.View>}),detailStyles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.white},headerBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:10,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor,backgroundColor:AppColors_1.AppColors.white},headerLeft:{flexDirection:"row",alignItems:"center",gap:8,flex:1},backBtn:{width:32,height:32,borderRadius:8,backgroundColor:AppColors_1.AppColors.grayBackground,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},titleWrap:{flex:1,gap:2},badgeRow:{flexDirection:"row",alignItems:"center",gap:5},sourceBadge:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:`${AppColors_1.AppColors.brandPurple}14`,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:`${AppColors_1.AppColors.brandPurple}30`},sourceBadgeText:{fontSize:9,fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.brandPurple},stateBadge:{backgroundColor:`${AppColors_1.AppColors.greenColor}14`,paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:`${AppColors_1.AppColors.greenColor}30`},stateBadgeText:{fontSize:9,fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.greenColor},headerTitle:{fontSize:13,fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.primaryBlack},headerActions:{flexDirection:"row",alignItems:"center",gap:6},tabsContainer:{paddingHorizontal:10,paddingVertical:6,backgroundColor:AppColors_1.AppColors.grayBackground,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.dividerColor},bodyContainer:{flex:1},scrollContent:{padding:12,gap:12},mockupCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:14,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,padding:14,gap:8,shadowColor:"#000",shadowOpacity:.05,shadowOffset:{width:0,height:2},shadowRadius:6,elevation:2},mockupHeader:{flexDirection:"row",alignItems:"center",gap:6},mockupAppIcon:{width:20,height:20,borderRadius:5,backgroundColor:AppColors_1.AppColors.brandPurple,alignItems:"center",justifyContent:"center"},mockupAppName:{fontSize:11,fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.primaryBlack,textTransform:"uppercase"},mockupTime:{fontSize:10,fontFamily:AppFonts_1.AppFonts.interRegular,color:AppColors_1.AppColors.grayTextWeak},mockupImage:{width:"100%",height:140,borderRadius:8,marginVertical:4},mockupTitle:{fontSize:14,fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.primaryBlack},mockupSubtitle:{fontSize:12,fontFamily:AppFonts_1.AppFonts.interMedium,color:AppColors_1.AppColors.grayText},mockupBody:{fontSize:12.5,fontFamily:AppFonts_1.AppFonts.interRegular,color:AppColors_1.AppColors.grayText,lineHeight:18},mockupFooterTags:{flexDirection:"row",alignItems:"center",flexWrap:"wrap",gap:6,marginTop:6,paddingTop:8,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.dividerColor},tagPill:{backgroundColor:AppColors_1.AppColors.grayBackground,paddingHorizontal:6,paddingVertical:3,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor},tagPillText:{fontSize:10,fontFamily:AppFonts_1.AppFonts.interMedium,color:AppColors_1.AppColors.grayText},sectionCard:{backgroundColor:AppColors_1.AppColors.white,borderRadius:12,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,padding:12,gap:8},sectionTitle:{fontSize:12,fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.primaryBlack,marginBottom:4},keyValRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",paddingVertical:3,borderBottomWidth:.5,borderBottomColor:`${AppColors_1.AppColors.dividerColor}40`,gap:8},keyText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.interMedium,color:AppColors_1.AppColors.grayTextWeak},valText:{fontSize:11,fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.primaryBlack,textAlign:"right",flexShrink:1}});PushDetail.displayName="PushDetail",exports.default=PushDetail;
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(l,e,r,n){n===void 0&&(n=r);var a=Object.getOwnPropertyDescriptor(e,r);(!a||("get"in a?!e.__esModule:a.writable||a.configurable))&&(a={enumerable:!0,get:function(){return e[r]}}),Object.defineProperty(l,n,a)}):(function(l,e,r,n){n===void 0&&(n=r),l[n]=e[r]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(l,e){Object.defineProperty(l,"default",{enumerable:!0,value:e})}):function(l,e){l.default=e}),__importStar=this&&this.__importStar||(function(){var l=function(e){return l=Object.getOwnPropertyNames||function(r){var n=[];for(var a in r)Object.prototype.hasOwnProperty.call(r,a)&&(n[n.length]=a);return n},l(e)};return function(e){if(e&&e.__esModule)return e;var r={};if(e!=null)for(var n=l(e),a=0;a<n.length;a++)n[a]!=="default"&&__createBinding(r,e,n[a]);return __setModuleDefault(r,e),r}})(),__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"),NetworkIcons_1=require("../NetworkIcons"),PushTab=react_1.default.memo(()=>{const{pushRecords:l,filteredPushRecords:e,pushSearch:r,setPushSearch:n,pushQuickFilter:a,setPushQuickFilter:u,setSelectedPush:d,clearAllPushLogs:g,simulatePush:p}=(0,InspectorContext_1.useInspector)(),y=(0,react_1.useRef)(null),[f,m]=(0,react_1.useState)(0),h=["salesforce","fcm","apns","deeplink","rich_media"],S=(0,react_1.useCallback)(()=>{const o=h[f%h.length];p(o),m(t=>t+1)},[f,p]),C=(0,react_1.useMemo)(()=>{let o=0,t=0,s=0;const i={};return l.forEach(c=>{const b=(c.appState||"").toLowerCase();b==="foreground"&&o++,b==="background"&&t++,c.action==="opened"&&s++;const _=(c.source||"other").toLowerCase();i[_]=(i[_]||0)+1}),{all:l.length,foreground:o,background:t,opened:s,sources:i}},[l]),w=(0,react_1.useMemo)(()=>{const o=[{id:"all",label:"All",color:AppColors_1.AppColors.purple,icon:t=><NetworkIcons_1.BellIcon size={12}color={t}/>},{id:"foreground",label:"Foreground",color:AppColors_1.AppColors.greenColor,icon:t=><NetworkIcons_1.SunIcon size={12}color={t}/>},{id:"background",label:"Background",color:AppColors_1.AppColors.darkOrange,icon:t=><NetworkIcons_1.MoonIcon size={12}color={t}/>},{id:"opened",label:"Opened",color:AppColors_1.AppColors.brandPurple,icon:t=><NetworkIcons_1.ExternalLinkIcon size={12}color={t}/>}];return Object.entries(C.sources).forEach(([t,s])=>{s>0&&t!=="all"&&o.push({id:`source:${t}`,label:t.toUpperCase(),color:t==="salesforce"?AppColors_1.AppColors.sky600:AppColors_1.AppColors.brandPurple,icon:i=><NetworkIcons_1.CloudPushIcon size={12}color={i}/>})}),o},[C]),P=(0,react_1.useCallback)(({item:o,index:t})=><AnimatedEntrance_1.default index={t}distance={8}>
|
|
2
|
+
<PushCard_1.default item={o}searchStr={r}onPress={()=>d(o)}/>
|
|
3
|
+
</AnimatedEntrance_1.default>,[r,d]),A=(0,react_1.useCallback)(o=>o.id||`push_${o.timestamp}`,[]);return<react_native_1.View style={{flex:1}}>
|
|
4
|
+
|
|
5
|
+
<react_native_1.View style={{marginTop:6}}>
|
|
6
|
+
<react_native_1.View style={styles_1.default.toolbarRow}>
|
|
7
|
+
<react_native_1.View style={[styles_1.default.searchContainer,{flex:1,marginRight:8,height:38}]}>
|
|
8
|
+
<react_native_1.View style={styles_1.default.searchIcon}>
|
|
9
|
+
<NetworkIcons_1.SearchIcon color={AppColors_1.AppColors.grayTextWeak}size={15}/>
|
|
10
|
+
</react_native_1.View>
|
|
11
|
+
<react_native_1.TextInput style={[styles_1.default.searchInput,{paddingVertical:0}]}placeholder="Search notifications..."placeholderTextColor={AppColors_1.AppColors.grayTextWeak}value={r}onChangeText={n}autoCapitalize="none"autoCorrect={!1}returnKeyType="search"clearButtonMode="while-editing"/>
|
|
12
|
+
{r.length>0&&react_native_1.Platform.OS==="android"&&<react_native_1.View style={{position:"absolute",right:8,top:0,bottom:0,justifyContent:"center"}}>
|
|
13
|
+
<react_native_1.Pressable onPress={()=>n("")}hitSlop={10}style={styles_1.default.clearBtn}>
|
|
14
|
+
<NetworkIcons_1.ClearIcon color={AppColors_1.AppColors.grayTextWeak}size={13}/>
|
|
15
|
+
</react_native_1.Pressable>
|
|
16
|
+
</react_native_1.View>}
|
|
17
|
+
</react_native_1.View>
|
|
18
|
+
|
|
19
|
+
<react_native_1.View style={styles_1.default.toolbarRight}>
|
|
20
|
+
<TouchableScale_1.default style={[styles_1.default.toolbarBtn,{backgroundColor:`${AppColors_1.AppColors.brandPurple}14`,borderColor:`${AppColors_1.AppColors.brandPurple}30`}]}onPress={S}hitSlop={6}accessibilityRole="button"accessibilityLabel="Simulate incoming push notification">
|
|
21
|
+
<NetworkIcons_1.BoltIcon color={AppColors_1.AppColors.brandPurple}size={15}/>
|
|
22
|
+
</TouchableScale_1.default>
|
|
23
|
+
|
|
24
|
+
{l.length>0&&<TouchableScale_1.default style={[styles_1.default.toolbarBtn,{borderColor:`${AppColors_1.AppColors.errorColor}38`,backgroundColor:`${AppColors_1.AppColors.errorColor}0F`}]}onPress={g}hitSlop={6}accessibilityRole="button"accessibilityLabel="Clear all push notification history">
|
|
25
|
+
<NetworkIcons_1.TrashIcon color={AppColors_1.AppColors.errorColor}size={15}/>
|
|
26
|
+
</TouchableScale_1.default>}
|
|
27
|
+
</react_native_1.View>
|
|
28
|
+
</react_native_1.View>
|
|
29
|
+
</react_native_1.View>
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
<react_native_1.View style={pushTabStyles.carouselWrapper}>
|
|
33
|
+
<react_native_1.ScrollView horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={pushTabStyles.carouselContent}>
|
|
34
|
+
{w.map(o=>{const t=a===o.id;return<TouchableScale_1.default key={o.id}onPress={()=>u(o.id)}style={[pushTabStyles.filterPill,t&&{backgroundColor:o.color,borderColor:o.color}]}>
|
|
35
|
+
{o.icon?o.icon(t?AppColors_1.AppColors.white:o.color):null}
|
|
36
|
+
<react_native_1.Text style={[pushTabStyles.filterPillText,t&&{color:AppColors_1.AppColors.white}]}>
|
|
37
|
+
{o.label}
|
|
38
|
+
</react_native_1.Text>
|
|
39
|
+
</TouchableScale_1.default>})}
|
|
40
|
+
</react_native_1.ScrollView>
|
|
41
|
+
</react_native_1.View>
|
|
42
|
+
|
|
43
|
+
|
|
44
|
+
<react_native_1.FlatList ref={y}data={e}renderItem={P}keyExtractor={A}contentContainerStyle={pushTabStyles.listContent}initialNumToRender={15}maxToRenderPerBatch={20}windowSize={11}removeClippedSubviews={react_native_1.Platform.OS==="android"}ListEmptyComponent={<EmptyState_1.default isSearch={!!(r||a!=="all")}searchQuery={r}customTitle={r||a!=="all"?"No matching push notifications":"No push notifications captured yet"}customSub={r||a!=="all"?"Try adjusting your search query or filter chips.":"Incoming or opened push payloads from any domain (Salesforce, FCM, APNs, etc.) will appear here automatically."}onClearSearch={()=>{n(""),u("all")}}showReload={!1}/>}ListFooterComponent={e.length>0?<EndOfListFooter_1.default totalCount={e.length}label="End of push notification history"/>:null}/>
|
|
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(e,i,l,r){r===void 0&&(r=l);var t=Object.getOwnPropertyDescriptor(i,l);(!t||("get"in t?!i.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,r,t)}):(function(e,i,l,r){r===void 0&&(r=l),e[r]=i[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}):function(e,i){e.default=i}),__importStar=this&&this.__importStar||(function(){var e=function(i){return e=Object.getOwnPropertyNames||function(l){var r=[];for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&(r[r.length]=t);return r},e(i)};return function(i){if(i&&i.__esModule)return i;var l={};if(i!=null)for(var r=e(i),t=0;t<r.length;t++)r[t]!=="default"&&__createBinding(l,i,r[t]);return __setModuleDefault(l,i),l}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};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"),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),JsonViewer_1=__importDefault(require("../JsonViewer")),DiffViewer_1=__importDefault(require("../DiffViewer")),CopyButton_1=__importDefault(require("../CopyButton")),TouchableScale_1=__importDefault(require("../TouchableScale")),HighlightText_1=__importDefault(require("../HighlightText")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),reduxLogger_1=require("../../customHooks/reduxLogger"),helpers_1=require("../../helpers"),settingsStore_1=require("../../helpers/settingsStore"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=e=>{switch(e){case"saga":return{label:"SAGA",renderIcon:(i,l=9)=><NetworkIcons_1.
|
|
1
|
+
"use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,i,l,r){r===void 0&&(r=l);var t=Object.getOwnPropertyDescriptor(i,l);(!t||("get"in t?!i.__esModule:t.writable||t.configurable))&&(t={enumerable:!0,get:function(){return i[l]}}),Object.defineProperty(e,r,t)}):(function(e,i,l,r){r===void 0&&(r=l),e[r]=i[l]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,i){Object.defineProperty(e,"default",{enumerable:!0,value:i})}):function(e,i){e.default=i}),__importStar=this&&this.__importStar||(function(){var e=function(i){return e=Object.getOwnPropertyNames||function(l){var r=[];for(var t in l)Object.prototype.hasOwnProperty.call(l,t)&&(r[r.length]=t);return r},e(i)};return function(i){if(i&&i.__esModule)return i;var l={};if(i!=null)for(var r=e(i),t=0;t<r.length;t++)r[t]!=="default"&&__createBinding(l,i,r[t]);return __setModuleDefault(l,i),l}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};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"),SegmentedTabs_1=__importDefault(require("../SegmentedTabs")),JsonViewer_1=__importDefault(require("../JsonViewer")),DiffViewer_1=__importDefault(require("../DiffViewer")),CopyButton_1=__importDefault(require("../CopyButton")),ShareButton_1=__importDefault(require("../ShareButton")),TouchableScale_1=__importDefault(require("../TouchableScale")),HighlightText_1=__importDefault(require("../HighlightText")),AnimatedEntrance_1=__importDefault(require("../AnimatedEntrance")),reduxLogger_1=require("../../customHooks/reduxLogger"),helpers_1=require("../../helpers"),shareFormatter_1=require("../../helpers/shareFormatter"),settingsStore_1=require("../../helpers/settingsStore"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),NetworkIcons_1=require("../NetworkIcons"),getOriginBadge=e=>{switch(e){case"saga":return{label:"SAGA",renderIcon:(i,l=9)=><NetworkIcons_1.AtomIcon color={i}size={l}/>,bg:AppColors_1.AppColors.purple100,text:AppColors_1.AppColors.brandPurple,border:AppColors_1.AppColors.purple200};case"thunk":return{label:"THUNK",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.amber100,text:AppColors_1.AppColors.amber800Warm,border:AppColors_1.AppColors.amber200};case"epic":return{label:"EPIC",renderIcon:(i,l=9)=><NetworkIcons_1.TerminalIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};case"listener":return{label:"LISTENER",renderIcon:(i,l=9)=><NetworkIcons_1.ListenerIcon color={i}size={l}/>,bg:AppColors_1.AppColors.teal100,text:AppColors_1.AppColors.teal700,border:AppColors_1.AppColors.teal400};case"component":return{label:"UI DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.ScreenIcon color={i}size={l}/>,bg:AppColors_1.AppColors.sky100,text:AppColors_1.AppColors.sky600,border:AppColors_1.AppColors.sky400};default:return{label:"DISPATCH",renderIcon:(i,l=9)=><NetworkIcons_1.BoltIcon color={i}size={l}/>,bg:AppColors_1.AppColors.slate100,text:AppColors_1.AppColors.slate700,border:AppColors_1.AppColors.slate200}}},ReduxDetail=react_1.default.memo(()=>{const{t:e}=(0,i18n_1.useTranslation)(),{reduxState:i,reduxLastActionMap:l,selectedReduxSlice:r,selectedReduxAction:t}=(0,InspectorContext_1.useInspector)(),[d,S]=(0,react_1.useState)(""),[y,V]=(0,react_1.useState)("live"),[b,F]=(0,react_1.useState)("payload"),[k,B]=(0,react_1.useState)("raw"),[P,W]=(0,react_1.useState)(null),[_,A]=(0,react_1.useState)(!1),[T,g]=(0,react_1.useState)(null),h=(0,react_1.useMemo)(()=>(0,reduxLogger_1.getActionHistory)(),[l]),f=(0,react_1.useMemo)(()=>r?h.filter(a=>!a.affectedSlices||a.affectedSlices.length===0?!0:a.affectedSlices.includes(r)):h,[h,r]),I=(0,react_1.useMemo)(()=>{if(!d.trim())return f;const a=d.toLowerCase();return f.filter(p=>p.type.toLowerCase().includes(a)||p.callerFile&&p.callerFile.toLowerCase().includes(a)||p.payload&&JSON.stringify(p.payload).toLowerCase().includes(a))},[f,d]);(0,react_1.useEffect)(()=>{if(!r)return;async function a(){try{const p=(0,settingsStore_1.getCustomStorage)();if(!p){A(!1),g(null);return}let c=await p.getItem(`persist:${r}`);if(c){try{g(JSON.parse(c))}catch{g(c)}A(!0);return}let n=await p.getItem("persist:root");if(n){const o=JSON.parse(n);if(o&&o[r]!==void 0){const s=o[r];try{g(typeof s=="string"?JSON.parse(s):s)}catch{g(s)}A(!0);return}}}catch{}A(!1),g(null)}a()},[r]);const z=()=>{r&&react_native_1.Alert.alert("Clear Persisted State",`Are you sure you want to delete persisted storage for slice "${r}"?`,[{text:"Cancel",style:"cancel"},{text:"Delete",style:"destructive",onPress:async()=>{try{const a=(0,settingsStore_1.getCustomStorage)();if(!a)return;typeof a.removeItem=="function"?await a.removeItem(`persist:${r}`):await a.setItem(`persist:${r}`,""),A(!1),g(null),V("live"),react_native_1.Platform.OS==="android"?react_native_1.ToastAndroid.show("Persisted state cleared",react_native_1.ToastAndroid.SHORT):react_native_1.Alert.alert("Cleared","Persisted state has been cleared.")}catch{react_native_1.Alert.alert("Error","Failed to clear persisted state.")}}}])};if(r!=null){const a=i?.[r],p=a&&typeof a=="object"?Object.keys(a).length:typeof a<"u"?1:0,c=l[r],n=[{key:"live",label:e("redux.liveState","Live State"),icon:o=><NetworkIcons_1.LiveStateIcon color={o?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"timeline",label:`${e("redux.timeline","Timeline")} (${f.length})`,icon:o=><NetworkIcons_1.TimelineIcon color={o?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"persisted",label:_?e("redux.persisted","Persisted"):e("redux.storage","Storage"),icon:o=><NetworkIcons_1.StorageIcon color={o?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>},{key:"metadata",label:e("redux.metadata","Metadata"),icon:o=><NetworkIcons_1.MetadataIcon color={o?AppColors_1.AppColors.white:AppColors_1.AppColors.grayText}size={12}/>}];return<react_native_1.View style={{flex:1,backgroundColor:AppColors_1.AppColors.grayBackground}}>
|
|
2
2
|
|
|
3
3
|
<react_native_1.View style={reduxDetailStyles.infoBar}>
|
|
4
4
|
<react_native_1.View style={reduxDetailStyles.infoTopRow}>
|
|
@@ -30,7 +30,7 @@
|
|
|
30
30
|
</react_native_1.View>
|
|
31
31
|
|
|
32
32
|
|
|
33
|
-
<CopyButton_1.default value={()=>y==="live"?a:
|
|
33
|
+
<CopyButton_1.default value={()=>y==="live"?a:T}label={e("redux.sliceJson","Slice JSON")}/>
|
|
34
34
|
</react_native_1.View>
|
|
35
35
|
|
|
36
36
|
|
|
@@ -58,7 +58,7 @@
|
|
|
58
58
|
{e("redux.timeline","Timeline")}:
|
|
59
59
|
</react_native_1.Text>
|
|
60
60
|
<react_native_1.Text style={[reduxDetailStyles.statValue,{color:AppColors_1.AppColors.brandPurple}]}>
|
|
61
|
-
{
|
|
61
|
+
{f.length}
|
|
62
62
|
</react_native_1.Text>
|
|
63
63
|
</react_native_1.View>
|
|
64
64
|
{c&&<react_native_1.View style={[reduxDetailStyles.statPill,{backgroundColor:AppColors_1.AppColors.amber100,borderColor:AppColors_1.AppColors.amber200,flexShrink:1,maxWidth:160}]}>
|
|
@@ -92,7 +92,7 @@
|
|
|
92
92
|
<react_native_1.Text style={reduxDetailStyles.emptyBoxText}>
|
|
93
93
|
{d.trim()?"No actions matching your search query.":"No dispatched actions recorded for this slice yet."}
|
|
94
94
|
</react_native_1.Text>
|
|
95
|
-
</react_native_1.View>:I.map((o,s)=>{const C=P===o.id,
|
|
95
|
+
</react_native_1.View>:I.map((o,s)=>{const C=P===o.id,x=getOriginBadge(o.originType),D=o.callerFile?o.callerFile.split("/").pop():null;return<AnimatedEntrance_1.default key={o.id}index={s}distance={6}>
|
|
96
96
|
<TouchableScale_1.default onPress={()=>W(C?null:o.id)}style={reduxDetailStyles.timelineCard}>
|
|
97
97
|
<react_native_1.View style={reduxDetailStyles.timelineHeader}>
|
|
98
98
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0,flexWrap:"wrap"}}>
|
|
@@ -102,10 +102,10 @@
|
|
|
102
102
|
</react_native_1.Text>
|
|
103
103
|
</react_native_1.View>
|
|
104
104
|
|
|
105
|
-
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:
|
|
106
|
-
{
|
|
107
|
-
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:
|
|
108
|
-
{
|
|
105
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:x.bg,paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:x.border}}>
|
|
106
|
+
{x.renderIcon(x.text,8.5)}
|
|
107
|
+
<react_native_1.Text style={{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:x.text,letterSpacing:.3}}>
|
|
108
|
+
{x.label}
|
|
109
109
|
</react_native_1.Text>
|
|
110
110
|
</react_native_1.View>
|
|
111
111
|
|
|
@@ -149,7 +149,7 @@
|
|
|
149
149
|
</react_native_1.Text>
|
|
150
150
|
<react_native_1.View style={{backgroundColor:AppColors_1.AppColors.grayBackground,borderRadius:8,padding:8,borderWidth:1,borderColor:AppColors_1.AppColors.dividerColor,gap:4}}>
|
|
151
151
|
{o.stack.split(`
|
|
152
|
-
`).map(
|
|
152
|
+
`).map(m=>m.trim()).filter(m=>m.length>0&&!m.includes("reduxLogger")&&!m.includes("inspectorReduxMiddleware")).slice(0,8).map((m,v)=>{const u=(0,helpers_1.parseStackLine)(m,v===0),w=u.frameType==="app";return<react_native_1.Pressable key={v}onPress={()=>{u.fileName!=="Unknown"&&(0,helpers_1.openInVSCode)(u.fullPath||u.fileName,u.lineNumber,u.columnNumber)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:3,borderBottomWidth:v<7?.5:0,borderBottomColor:AppColors_1.AppColors.dividerColor}}>
|
|
153
153
|
<react_native_1.View style={{flex:1,minWidth:0}}>
|
|
154
154
|
<react_native_1.Text style={{fontFamily:w?AppFonts_1.AppFonts.interBold:AppFonts_1.AppFonts.interRegular,fontSize:9.5,color:w?AppColors_1.AppColors.primaryBlack:AppColors_1.AppColors.grayTextWeak}}numberOfLines={1}>
|
|
155
155
|
{u.functionName||"anonymous"}
|
|
@@ -186,7 +186,7 @@
|
|
|
186
186
|
</AnimatedEntrance_1.default>})}
|
|
187
187
|
</react_native_1.ScrollView>:y==="metadata"?<react_native_1.ScrollView style={{flex:1}}contentContainerStyle={{padding:12,paddingBottom:40}}keyboardShouldPersistTaps="handled">
|
|
188
188
|
<react_native_1.View style={reduxDetailStyles.metadataCard}>
|
|
189
|
-
{[{label:"Slice Name",value:r},{label:"Root Keys Count",value:`${p} keys`},{label:"In-Memory State Size",value:(0,helpers_1.getSize)(a)},{label:"Persistence Status",value:_?`Persisted (${(0,helpers_1.getSize)(
|
|
189
|
+
{[{label:"Slice Name",value:r},{label:"Root Keys Count",value:`${p} keys`},{label:"In-Memory State Size",value:(0,helpers_1.getSize)(a)},{label:"Persistence Status",value:_?`Persisted (${(0,helpers_1.getSize)(T)})`:"Not Persisted (In-Memory)"},{label:"Dispatched Actions History",value:`${f.length} recorded actions`},{label:"Last Dispatched Action",value:c?c.type:"None"},{label:"Last Action Timestamp",value:c?c.timestamp:"Initial"}].map((o,s)=><react_native_1.View key={s}style={[reduxDetailStyles.metaRow,s===6&&{borderBottomWidth:0}]}>
|
|
190
190
|
<react_native_1.Text style={reduxDetailStyles.metaLabel}>{o.label}</react_native_1.Text>
|
|
191
191
|
<react_native_1.Text style={reduxDetailStyles.metaValue}selectable numberOfLines={2}>
|
|
192
192
|
{o.value}
|
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
|
|
208
208
|
<NetworkIcons_1.StorageIcon color={AppColors_1.AppColors.emerald700}size={14}/>
|
|
209
209
|
<react_native_1.Text style={reduxDetailStyles.persistedInfoTitle}>
|
|
210
|
-
Stored in persistent storage ({(0,helpers_1.getSize)(
|
|
210
|
+
Stored in persistent storage ({(0,helpers_1.getSize)(T)})
|
|
211
211
|
</react_native_1.Text>
|
|
212
212
|
</react_native_1.View>
|
|
213
213
|
<react_native_1.TouchableOpacity style={reduxDetailStyles.clearPersistMiniBtn}onPress={z}>
|
|
@@ -219,7 +219,7 @@
|
|
|
219
219
|
</react_native_1.View>
|
|
220
220
|
</react_native_1.View>
|
|
221
221
|
<react_native_1.View style={{flex:1,marginTop:8}}>
|
|
222
|
-
<JsonViewer_1.default data={
|
|
222
|
+
<JsonViewer_1.default data={T}search={d}forceOpen={d.length>0?!0:void 0}mode={k}onModeChange={B}fullHeight={!0}wrap={!0}/>
|
|
223
223
|
</react_native_1.View>
|
|
224
224
|
</react_native_1.View>:<react_native_1.View style={reduxDetailStyles.emptyBox}>
|
|
225
225
|
<NetworkIcons_1.StorageIcon color={AppColors_1.AppColors.grayTextWeak}size={32}/>
|
|
@@ -263,7 +263,10 @@
|
|
|
263
263
|
</react_native_1.View>
|
|
264
264
|
|
|
265
265
|
|
|
266
|
-
<
|
|
266
|
+
<react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:6}}>
|
|
267
|
+
<ShareButton_1.default onShare={()=>(0,shareFormatter_1.shareReduxReport)(t)}/>
|
|
268
|
+
<CopyButton_1.default value={()=>t}label="Copy Action"/>
|
|
269
|
+
</react_native_1.View>
|
|
267
270
|
</react_native_1.View>
|
|
268
271
|
|
|
269
272
|
|