react-native-inapp-inspector 2.3.25 → 2.4.1
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 +9 -6
- package/dist/commonjs/components/AppHeaderLogo.js +4 -6
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +18 -22
- package/dist/commonjs/components/Inspector/ConsoleTab.js +13 -16
- package/dist/commonjs/components/Inspector/CrashDetail.js +7 -6
- package/dist/commonjs/components/Inspector/CrashTab.js +23 -23
- package/dist/commonjs/components/Inspector/DebuggingTab.js +6 -6
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +77 -43
- 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 +67 -29
- 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/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 +18 -28
- package/dist/commonjs/components/Inspector/SettingsPanel.js +253 -105
- package/dist/commonjs/components/Inspector/StorageTab.js +40 -40
- package/dist/commonjs/components/Inspector/TabBar.js +9 -8
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
- package/dist/commonjs/components/JsonViewer.js +77 -90
- package/dist/commonjs/components/LogCard.js +9 -6
- 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 +4 -1
- package/dist/commonjs/components/SegmentedTabs.js +12 -8
- package/dist/commonjs/components/ShareButton.d.ts +11 -0
- package/dist/commonjs/components/ShareButton.js +6 -0
- 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 -1
- package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
- package/dist/commonjs/helpers/memoryManager.d.ts +2 -1
- package/dist/commonjs/helpers/memoryManager.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/locales/en.json +1 -1
- package/dist/commonjs/index.d.ts +5 -2
- 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/types/enums.d.ts +30 -0
- 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 +28 -25
- package/dist/esm/components/AppHeaderLogo.js +5 -7
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
- package/dist/esm/components/Inspector/AnalyticsTab.js +36 -40
- package/dist/esm/components/Inspector/ConsoleTab.js +52 -55
- package/dist/esm/components/Inspector/CrashDetail.js +11 -10
- package/dist/esm/components/Inspector/CrashTab.js +23 -23
- package/dist/esm/components/Inspector/DebuggingTab.js +10 -10
- package/dist/esm/components/Inspector/DeviceInfoTab.js +208 -174
- 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 +100 -62
- 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 +136 -134
- 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 +109 -119
- package/dist/esm/components/Inspector/SettingsPanel.js +406 -258
- package/dist/esm/components/Inspector/StorageTab.js +174 -174
- package/dist/esm/components/Inspector/TabBar.js +28 -27
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
- package/dist/esm/components/JsonViewer.js +101 -114
- package/dist/esm/components/LogCard.js +25 -22
- 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 +4 -1
- 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/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 -1
- package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
- package/dist/esm/helpers/memoryManager.d.ts +2 -1
- package/dist/esm/helpers/memoryManager.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/locales/en.json +1 -1
- package/dist/esm/index.d.ts +5 -2
- 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/types/enums.d.ts +30 -0
- 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 -10
- package/src/native/NativeInspector.ts +0 -1
- package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
- package/dist/commonjs/components/BrandSquareIcon.js +0 -112
- package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
- package/dist/esm/components/BrandSquareIcon.js +0 -112
|
@@ -1,183 +1,173 @@
|
|
|
1
|
-
import
|
|
2
|
-
<C style={
|
|
3
|
-
<
|
|
4
|
-
<C style={
|
|
1
|
+
import ee,{useCallback as Be,useMemo as N,useRef as Pe,useState as te}from"react";import{FlatList as De,Platform as oe,Pressable as Ce,StyleSheet as Fe,Text as S,TextInput as Ee,TouchableOpacity as We,View as C}from"react-native";import{useTranslation as Oe}from"../../i18n";import{useInspector as Me}from"./InspectorContext";import Ne from"../TouchableScale";import $e from"../AnimatedEntrance";import Ue from"../EmptyState";import Ge from"../EndOfListFooter";import Te from"../HighlightText";import{getSize as Se,openInVSCode as _e,getCleanCallerDisplay as Ze}from"../../helpers";import O from"../../styles";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as R}from"../../styles/AppFonts";import{getActionHistory as Ke}from"../../customHooks/reduxLogger";import{TerminalIcon as Ae,SearchIcon as Je,ClearIcon as Qe,LayersIcon as Xe,ClockIcon as Ye,SizeIcon as Ct,ForwardChevronIcon as Tt,SortArrowIcon as St,BoltIcon as U,AtomIcon as At,ScreenIcon as It,ListenerIcon as Rt,DocIcon as Vt,LoadingSpinnerIcon as Ht,CircleAlertIcon as Lt,TextAaIcon as Bt}from"../NetworkIcons";const Ie=B=>{switch(B){case"saga":return{label:"SAGA",renderIcon:(I,z=9)=><U color={I}size={z}/>,bg:e.purple100,text:e.brandPurple,border:e.purple200};case"thunk":return{label:"THUNK",renderIcon:(I,z=9)=><At color={I}size={z}/>,bg:e.amber100,text:e.amber800Warm,border:e.amber200};case"ui":return{label:"UI",renderIcon:(I,z=9)=><It color={I}size={z}/>,bg:e.sky100,text:e.sky600,border:e.sky400};case"listener":return{label:"LISTENER",renderIcon:(I,z=9)=><Rt color={I}size={z}/>,bg:e.teal100,text:e.teal700,border:e.teal400};default:return{label:"DIRECT",renderIcon:(I,z=9)=><U color={I}size={z}/>,bg:e.slate100,text:e.slate700,border:e.slate200}}},Re=50,ze=10,Pt=ee.memo(()=>{const{t:B}=Oe(),{reduxState:I,reduxLastActionMap:z,reduxSearch:k,setReduxSearch:G,setSelectedReduxSlice:Z}=Me(),K=Pe(null),[q,J]=te(Re),[P,ke]=te("latest");ee.useEffect(()=>{J(Re),K.current?.scrollToOffset({offset:0,animated:!1})},[k,P]);const Ve=N(()=>Se(I),[I]),Q=N(()=>Ke(),[z]),$=N(()=>!I||typeof I!="object"?[]:Object.keys(I).map(A=>{const T=I[A],H=Array.isArray(T),j=T&&typeof T=="object";let F="Primitive",L=0;H?(L=T.length,F=`Array [${L}]`):j?(L=Object.keys(T).length,F=`Object {${L}}`):typeof T<"u"&&(L=1,F=typeof T);let E="live",v;j&&(T.loading===!0||T.isLoading===!0||T.status==="loading"||T.status==="pending"?(E="loading",v="Loading"):T.error||T.hasError||T.status==="error"||T.status==="failed"?(E="error",v=typeof T.error=="string"?T.error:"Error"):L===0&&(E="empty",v="Empty"));const V=z[A],He=V?.updatedAt||0,Le=Q.filter(W=>!W.affectedSlices||W.affectedSlices.length===0?!0:W.affectedSlices.includes(A)).length;let X;if(V){let W;if(V.payload!==void 0&&V.payload!==null)try{if(typeof V.payload=="object"){const Y=Object.keys(V.payload);W=`{ ${Y.slice(0,3).join(", ")}${Y.length>3?"...":""} }`}else W=String(V.payload)}catch{}X={type:V.type,timestamp:V.timestamp,updatedAt:V.updatedAt,payloadPreview:W,originType:V.originType,callerFile:V.callerFile,callerLine:V.callerLine,callerCol:V.callerCol}}return{id:`slice-${A}`,name:A,keysCount:L,sizeStr:Se(T),typeLabel:F,status:E,statusMessage:v,timelineCount:Le,lastAction:X,updatedAt:He}}),[I,z,Q]),D=N(()=>{let t=$;if(k&&k.trim().length>0){const A=k.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(T=>{const H=I?I[T.name]:null,j=[T.name||"",T.lastAction?.type||"",T.lastAction?.payloadPreview||"",T.lastAction?.originType||"",T.status||"",T.statusMessage||"",H?typeof H=="string"?H:JSON.stringify(H):""].join(" ").toLowerCase();return A.every(F=>j.includes(F))})}return[...t].sort((A,T)=>P==="latest"&&T.updatedAt!==A.updatedAt?T.updatedAt-A.updatedAt:A.name.localeCompare(T.name))},[$,k,P,I]),_=N(()=>D.slice(0,q),[D,q]),M=N(()=>{const t=Object.values(z);return t.length===0?null:t.reduce((A,T)=>A?(T.updatedAt||0)>(A.updatedAt||0)?T:A:T,null)},[z]),ve=Be(({item:t,index:A})=>{const T=t.updatedAt>0&&Date.now()-t.updatedAt<5e3,H=t.status==="error"?e.errorColor:t.status==="loading"?e.warningIconGold:t.status==="empty"?e.grayTextWeak:e.greenColor,j=t.status==="error"?e.red100:t.status==="loading"?e.amber100:t.status==="empty"?e.grayBackground:e.emeraldBg,F=t.status==="error"?e.errorBorder:t.status==="loading"?e.amber200:t.status==="empty"?e.dividerColor:e.emeraldBorder,L=t.status==="error"?e.red600:t.status==="loading"?e.amber800Warm:t.status==="empty"?e.grayTextWeak:e.emerald700,E=t.lastAction?.callerFile?Ze(t.lastAction.callerFile):null;return<$e index={A}distance={8}>
|
|
2
|
+
<C style={o.cardContainer}>
|
|
3
|
+
<Ne onPress={()=>{Z(t.name)}}style={[o.card,{borderLeftWidth:3.5,borderLeftColor:H,backgroundColor:t.status==="error"?e.errorCardBg:e.white},T&&o.cardRecentlyUpdated]}>
|
|
4
|
+
<C style={o.cardBody}>
|
|
5
5
|
|
|
6
|
-
<C style={
|
|
7
|
-
<C style={
|
|
8
|
-
<
|
|
9
|
-
<C style={[
|
|
10
|
-
<
|
|
6
|
+
<C style={o.cardHeaderRow}>
|
|
7
|
+
<C style={o.cardHeaderLeft}>
|
|
8
|
+
<S style={o.serialNumber}>#{A+1}</S>
|
|
9
|
+
<C style={[o.methodBadge,{backgroundColor:e.violet600}]}>
|
|
10
|
+
<S style={o.methodBadgeText}>REDUX</S>
|
|
11
11
|
</C>
|
|
12
|
-
<C style={[
|
|
13
|
-
<
|
|
12
|
+
<C style={[o.chip,{backgroundColor:`${e.violet600}14`,borderColor:`${e.violet600}2E`}]}>
|
|
13
|
+
<S style={[o.chipText,{color:e.violet600}]}>
|
|
14
14
|
{t.typeLabel.toUpperCase()}
|
|
15
|
-
</
|
|
15
|
+
</S>
|
|
16
16
|
</C>
|
|
17
17
|
|
|
18
|
-
{t.lastAction?.originType&&(()=>{const
|
|
19
|
-
{
|
|
20
|
-
<
|
|
21
|
-
{
|
|
22
|
-
</
|
|
18
|
+
{t.lastAction?.originType&&(()=>{const v=Ie(t.lastAction.originType);return<C style={[o.chip,{backgroundColor:v.bg,borderColor:v.border}]}>
|
|
19
|
+
{v.renderIcon(v.text,8.5)}
|
|
20
|
+
<S style={[o.chipText,{color:v.text}]}>
|
|
21
|
+
{v.label}
|
|
22
|
+
</S>
|
|
23
23
|
</C>})()}
|
|
24
24
|
</C>
|
|
25
25
|
|
|
26
|
-
<C style={
|
|
27
|
-
<C style={[
|
|
28
|
-
{t.status==="loading"?<
|
|
29
|
-
<
|
|
26
|
+
<C style={o.cardHeaderRight}>
|
|
27
|
+
<C style={[o.statusPill,{backgroundColor:j,borderColor:F}]}>
|
|
28
|
+
{t.status==="loading"?<Ht color={e.amber800Warm}size={10}/>:t.status==="error"?<Lt color={e.red600}size={10}/>:t.status==="empty"?null:<C style={o.liveDot}/>}
|
|
29
|
+
<S style={[o.statusPillText,{color:L}]}>
|
|
30
30
|
{t.status==="loading"?"Loading":t.status==="error"?t.statusMessage||"Error":t.status==="empty"?"Empty":"Live"}
|
|
31
|
-
</
|
|
31
|
+
</S>
|
|
32
32
|
</C>
|
|
33
|
-
<
|
|
33
|
+
<Tt color={e.grayTextWeak}size={13}/>
|
|
34
34
|
</C>
|
|
35
35
|
</C>
|
|
36
36
|
|
|
37
37
|
|
|
38
|
-
<C style={
|
|
39
|
-
<C style={
|
|
40
|
-
<
|
|
41
|
-
{t.timelineCount>0&&<C style={
|
|
42
|
-
<
|
|
43
|
-
<
|
|
38
|
+
<C style={o.cardMainRow}>
|
|
39
|
+
<C style={o.sliceNameRow}>
|
|
40
|
+
<Te text={t.name}search={k}style={o.sliceNameText}highlightStyle={o.highlight}numberOfLines={1}/>
|
|
41
|
+
{t.timelineCount>0&&<C style={o.actionCountChip}>
|
|
42
|
+
<U color={e.violet600}size={9}/>
|
|
43
|
+
<S style={o.actionCountChipText}>
|
|
44
44
|
{t.timelineCount}
|
|
45
|
-
</
|
|
45
|
+
</S>
|
|
46
46
|
</C>}
|
|
47
47
|
</C>
|
|
48
|
-
<C style={
|
|
49
|
-
<
|
|
50
|
-
{t.lastAction?<
|
|
48
|
+
<C style={o.actionPreviewRow}>
|
|
49
|
+
<Ae color={e.grayTextWeak}size={10}/>
|
|
50
|
+
{t.lastAction?<Te text={t.lastAction.type+(t.lastAction.payloadPreview?` \xB7 ${t.lastAction.payloadPreview}`:"")}search={k}style={o.actionPreviewText}highlightStyle={o.highlight}numberOfLines={1}/>:<S style={o.actionPreviewEmptyText}numberOfLines={1}>
|
|
51
51
|
Initial state (no actions dispatched yet)
|
|
52
|
-
</
|
|
52
|
+
</S>}
|
|
53
53
|
</C>
|
|
54
54
|
</C>
|
|
55
55
|
|
|
56
56
|
|
|
57
|
-
<C style={
|
|
58
|
-
<C style={
|
|
59
|
-
<
|
|
60
|
-
<
|
|
57
|
+
<C style={o.cardFooterRow}>
|
|
58
|
+
<C style={o.footerLeft}>
|
|
59
|
+
<Ye color={e.grayTextWeak}size={10}/>
|
|
60
|
+
<S style={o.footerTimestampText}numberOfLines={1}>
|
|
61
61
|
{t.lastAction?.timestamp||"Initial state"}
|
|
62
|
-
</
|
|
63
|
-
{
|
|
64
|
-
<
|
|
65
|
-
<
|
|
66
|
-
{
|
|
67
|
-
</
|
|
62
|
+
</S>
|
|
63
|
+
{E&&<Ce onPress={()=>_e(t.lastAction.callerFile,t.lastAction.callerLine,t.lastAction.callerCol)}hitSlop={6}style={o.callerChip}>
|
|
64
|
+
<Vt color={e.sky600}size={9}/>
|
|
65
|
+
<S style={o.callerChipText}>
|
|
66
|
+
{E.display}
|
|
67
|
+
</S>
|
|
68
68
|
</Ce>}
|
|
69
69
|
</C>
|
|
70
70
|
|
|
71
|
-
<C style={
|
|
72
|
-
<C style={
|
|
73
|
-
<
|
|
74
|
-
<
|
|
71
|
+
<C style={o.footerRight}>
|
|
72
|
+
<C style={o.metaStatChip}>
|
|
73
|
+
<Ct color={e.violet600}size={9.5}/>
|
|
74
|
+
<S style={o.metaStatText}>
|
|
75
75
|
{t.sizeStr}
|
|
76
|
-
</
|
|
76
|
+
</S>
|
|
77
77
|
</C>
|
|
78
|
-
<C style={
|
|
79
|
-
<
|
|
80
|
-
<
|
|
78
|
+
<C style={o.metaStatChip}>
|
|
79
|
+
<Xe color={e.violet600}size={9.5}/>
|
|
80
|
+
<S style={o.metaStatText}>
|
|
81
81
|
{t.keysCount} keys
|
|
82
|
-
</
|
|
82
|
+
</S>
|
|
83
83
|
</C>
|
|
84
84
|
</C>
|
|
85
85
|
</C>
|
|
86
86
|
</C>
|
|
87
87
|
|
|
88
88
|
|
|
89
|
-
<C style={
|
|
90
|
-
<C style={[
|
|
89
|
+
<C style={o.waterfallContainer}>
|
|
90
|
+
<C style={[o.waterfallBar,{backgroundColor:H,width:T?"100%":"35%"}]}/>
|
|
91
91
|
</C>
|
|
92
|
-
</
|
|
92
|
+
</Ne>
|
|
93
93
|
</C>
|
|
94
|
-
|
|
94
|
+
</$e>},[k,Z]);return I?<C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
95
95
|
|
|
96
|
-
<C style={
|
|
97
|
-
<C style={
|
|
98
|
-
<
|
|
99
|
-
<
|
|
96
|
+
<C style={o.overviewCard}>
|
|
97
|
+
<C style={o.statCol}>
|
|
98
|
+
<S style={o.statHeading}>{B("redux.activeSlices","ACTIVE SLICES")}</S>
|
|
99
|
+
<S style={o.statBigVal}>{$.length}</S>
|
|
100
100
|
</C>
|
|
101
|
-
<C style={
|
|
102
|
-
<C style={
|
|
103
|
-
<
|
|
104
|
-
<
|
|
101
|
+
<C style={o.statDivider}/>
|
|
102
|
+
<C style={o.statCol}>
|
|
103
|
+
<S style={o.statHeading}>{B("redux.totalState","TOTAL STATE")}</S>
|
|
104
|
+
<S style={o.statBigVal}>{Ve}</S>
|
|
105
105
|
</C>
|
|
106
|
-
<C style={
|
|
107
|
-
<C style={[
|
|
106
|
+
<C style={o.statDivider}/>
|
|
107
|
+
<C style={[o.statCol,{flex:1.6}]}>
|
|
108
108
|
<C style={{flexDirection:"row",alignItems:"center",gap:4}}>
|
|
109
|
-
<
|
|
110
|
-
{
|
|
109
|
+
<S style={o.statHeading}>{B("redux.lastActionHeader","LAST ACTION")}</S>
|
|
110
|
+
{M?.originType&&(()=>{const t=Ie(M.originType);return<C style={{flexDirection:"row",alignItems:"center",gap:2,backgroundColor:t.bg,paddingHorizontal:4,paddingVertical:1,borderRadius:3}}>
|
|
111
111
|
{t.renderIcon(t.text,8)}
|
|
112
|
-
<
|
|
112
|
+
<S style={{fontFamily:R.interBold,fontSize:7.5,color:t.text}}>
|
|
113
113
|
{t.label}
|
|
114
|
-
</
|
|
114
|
+
</S>
|
|
115
115
|
</C>})()}
|
|
116
116
|
</C>
|
|
117
|
-
<
|
|
118
|
-
{
|
|
119
|
-
</
|
|
120
|
-
{
|
|
121
|
-
{
|
|
122
|
-
</
|
|
117
|
+
<S style={o.statLastAction}numberOfLines={1}>
|
|
118
|
+
{M?M.type:"Initial"}
|
|
119
|
+
</S>
|
|
120
|
+
{M?.timestamp&&<S style={o.statLastTime}>
|
|
121
|
+
{M.timestamp}
|
|
122
|
+
</S>}
|
|
123
123
|
</C>
|
|
124
124
|
</C>
|
|
125
125
|
|
|
126
126
|
|
|
127
|
-
<C style={
|
|
128
|
-
<C style={
|
|
129
|
-
<C style={
|
|
130
|
-
<
|
|
131
|
-
<
|
|
132
|
-
{
|
|
127
|
+
<C style={o.toolbarContainer}>
|
|
128
|
+
<C style={o.searchRow}>
|
|
129
|
+
<C style={O.searchContainer}>
|
|
130
|
+
<Je color={e.grayTextWeak}size={15}/>
|
|
131
|
+
<Ee accessible={!0}accessibilityRole="search"accessibilityLabel="Search Redux slices or actions"accessibilityHint="Type to filter state slices in real time"placeholder={B("redux.searchPlaceholder","Search state or actions...")}placeholderTextColor={e.grayTextWeak}value={k}onChangeText={G}style={O.searchInput}autoCorrect={!1}autoCapitalize="none"/>
|
|
132
|
+
{k.length>0&&<C style={{flexDirection:"row",alignItems:"center",gap:4}}>
|
|
133
133
|
<C style={{backgroundColor:`${e.purple}20`,borderRadius:10,paddingHorizontal:6,paddingVertical:1.5}}>
|
|
134
|
-
<
|
|
135
|
-
{
|
|
136
|
-
</
|
|
134
|
+
<S style={{color:e.purple,fontSize:9.5,fontFamily:R.interBold}}>
|
|
135
|
+
{D.length}
|
|
136
|
+
</S>
|
|
137
137
|
</C>
|
|
138
|
-
<Ce accessible={!0}accessibilityRole="button"accessibilityLabel="Clear search input"onPress={()=>
|
|
139
|
-
<
|
|
138
|
+
<Ce accessible={!0}accessibilityRole="button"accessibilityLabel="Clear search input"onPress={()=>G("")}hitSlop={10}>
|
|
139
|
+
<Qe color={e.grayTextWeak}size={14}/>
|
|
140
140
|
</Ce>
|
|
141
141
|
</C>}
|
|
142
142
|
</C>
|
|
143
143
|
|
|
144
144
|
|
|
145
|
-
<
|
|
146
|
-
<
|
|
147
|
-
</
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
<Te accessible={!0}accessibilityRole="button"accessibilityLabel={`Sort order: ${W==="latest"?"Recently updated first":"Alphabetical A to Z"}`}accessibilityHint="Switches sorting between recently updated and alphabetical"style={[F.toolbarBtn,W==="latest"&&{backgroundColor:`${e.brandPurple}1F`,borderColor:e.brandPurple}]}onPress={()=>Ve(t=>t==="latest"?"alpha":"latest")}hitSlop={6}>
|
|
151
|
-
<At color={W==="latest"?e.brandPurple:e.grayTextStrong}size={16}/>
|
|
152
|
-
</Te>
|
|
145
|
+
<We accessible={!0}accessibilityRole="button"accessibilityLabel={`Sort order: ${P==="latest"?"Recently updated first":"Alphabetical A to Z"}`}accessibilityHint="Switches sorting between recently updated and alphabetical"style={[O.toolbarBtn,P==="latest"&&{backgroundColor:`${e.brandPurple}1F`,borderColor:e.brandPurple}]}onPress={()=>ke(t=>t==="latest"?"alpha":"latest")}hitSlop={6}>
|
|
146
|
+
<St color={P==="latest"?e.brandPurple:e.grayTextStrong}size={16}/>
|
|
147
|
+
</We>
|
|
153
148
|
</C>
|
|
154
149
|
|
|
155
|
-
<C style={
|
|
156
|
-
<
|
|
157
|
-
Showing {
|
|
158
|
-
</
|
|
159
|
-
<C style={{flexDirection:"row",alignItems:"center",gap:
|
|
160
|
-
{
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
{W==="latest"?<G color={e.brandPurple}size={11}/>:<Ft color={e.brandPurple}size={11}/>}
|
|
165
|
-
<R style={r.sortLabel}>
|
|
166
|
-
{W==="latest"?"Newest Updates First":"Alphabetical (A-Z)"}
|
|
167
|
-
</R>
|
|
168
|
-
</C>
|
|
150
|
+
<C style={o.headerSubRow}>
|
|
151
|
+
<S style={o.resultCount}>
|
|
152
|
+
Showing {D.length} of {$.length} state slices
|
|
153
|
+
</S>
|
|
154
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:4}}>
|
|
155
|
+
{P==="latest"?<U color={e.brandPurple}size={11}/>:<Bt color={e.brandPurple}size={11}/>}
|
|
156
|
+
<S style={o.sortLabel}>
|
|
157
|
+
{P==="latest"?"Newest Updates First":"Alphabetical (A-Z)"}
|
|
158
|
+
</S>
|
|
169
159
|
</C>
|
|
170
160
|
</C>
|
|
171
161
|
</C>
|
|
172
162
|
|
|
173
163
|
|
|
174
|
-
<
|
|
175
|
-
</C>:<C style={
|
|
176
|
-
<C style={
|
|
177
|
-
<
|
|
164
|
+
<De ref={K}data={_}keyExtractor={t=>t.id}renderItem={ve}getItemLayout={(t,A)=>({length:126,offset:126*A,index:A})}initialNumToRender={12}maxToRenderPerBatch={8}windowSize={5}removeClippedSubviews={oe.OS==="android"}renderToHardwareTextureAndroid={!0}ListEmptyComponent={<Ue isSearch={k.trim().length>0}searchQuery={k}onClearSearch={()=>G("")}customTitle={k.trim().length>0?"No Matching Slices":"No Redux State Detected"}customSub={k.trim().length>0?`No Redux slices match "${k}"`:"Attach the Redux store or dispatch actions to see state slices."}/>}ListFooterComponent={D.length>0?<Ge count={_.length}totalCount={D.length}label="slices"loadMoreStep={ze}hasMore={_.length<D.length}onLoadMore={()=>J(t=>t+ze)}/>:null}contentContainerStyle={[o.listContent,D.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
|
|
165
|
+
</C>:<C style={O.emptyContainer}>
|
|
166
|
+
<C style={O.emptyIconWrap}>
|
|
167
|
+
<Ae color={e.purple}size={32}/>
|
|
178
168
|
</C>
|
|
179
|
-
<
|
|
180
|
-
<
|
|
181
|
-
{
|
|
182
|
-
</
|
|
183
|
-
</C>}),
|
|
169
|
+
<S style={O.emptyTitle}>{B("redux.noStoreConnected","No Redux Store Connected")}</S>
|
|
170
|
+
<S style={O.emptySub}>
|
|
171
|
+
{B("redux.connectStoreTip","Call connectReduxStore(store) or use inspectorReduxMiddleware at app initialization.")}
|
|
172
|
+
</S>
|
|
173
|
+
</C>}),o=Fe.create({overviewCard:{flexDirection:"row",alignItems:"center",backgroundColor:e.white,marginHorizontal:12,marginTop:10,borderRadius:12,padding:12,borderWidth:1,borderColor:e.dividerColor,shadowColor:e.primaryBlack,shadowOffset:{width:0,height:1},shadowOpacity:.03,shadowRadius:3,elevation:1},statCol:{flex:1},statDivider:{width:1,height:28,backgroundColor:e.dividerColor,marginHorizontal:8},statHeading:{fontFamily:R.interBold,fontSize:9,color:e.grayTextWeak,letterSpacing:.5},statBigVal:{fontFamily:R.interBold,fontSize:14,color:e.primaryBlack,marginTop:2},statLastAction:{fontFamily:R.interBold,fontSize:11,color:e.purple,marginTop:2},statLastTime:{fontFamily:R.interRegular,fontSize:9.5,color:e.grayTextWeak},toolbarContainer:{backgroundColor:e.white,borderBottomWidth:1,borderBottomColor:e.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:R.interMedium,fontSize:11,color:e.grayTextWeak},sortLabel:{fontFamily:R.interMedium,fontSize:10.5,color:e.brandPurple},listContent:{paddingVertical:8,paddingBottom:36},cardContainer:{paddingHorizontal:10,paddingVertical:4,height:126},card:{backgroundColor:e.white,borderRadius:10,borderWidth:1,borderColor:e.grayBorderSecondary,shadowColor:e.shadowColorString,shadowOffset:{width:0,height:1},shadowOpacity:.05,shadowRadius:2.5,elevation:1.5,height:118,overflow:"hidden"},cardRecentlyUpdated:{borderColor:`${e.brandPurple}66`,backgroundColor:e.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:R.interBold,fontSize:10.5,lineHeight:13,color:e.grayTextWeak},methodBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:4,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:R.interBold,color:e.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:R.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:e.emerald500},statusPillText:{fontFamily:R.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:R.interBold,fontSize:12.5,lineHeight:16,color:e.primaryBlack,flex:1},actionCountChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:`${e.violet600}14`,borderColor:`${e.violet600}2E`,borderWidth:1,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3.5},actionCountChipText:{fontFamily:R.interBold,fontSize:8.5,lineHeight:11,color:e.violet600},actionPreviewRow:{flexDirection:"row",alignItems:"center",gap:4.5,minHeight:15},actionPreviewText:{fontFamily:oe.select({ios:"Menlo",default:"monospace"}),fontSize:10,lineHeight:13,color:e.grayTextWeak,flex:1},actionPreviewEmptyText:{fontFamily:R.interRegular,fontSize:10,lineHeight:13,color:e.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:R.interRegular,fontSize:10,lineHeight:13,color:e.slate400},callerChip:{flexDirection:"row",alignItems:"center",gap:2.5,backgroundColor:e.sky100,paddingHorizontal:4.5,paddingVertical:1,borderRadius:3,borderWidth:.5,borderColor:e.sky400,marginLeft:4},callerChipText:{fontFamily:R.interMedium,fontSize:8.5,lineHeight:11,color:e.sky600},metaStatChip:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:e.violetSoftBg,borderColor:e.violetSoftBorder,borderWidth:1,paddingHorizontal:5.5,paddingVertical:1.5,borderRadius:4},metaStatText:{fontFamily:R.interBold,color:e.violetSoftText,fontSize:9,lineHeight:12},waterfallContainer:{height:2.5,width:"100%",backgroundColor:e.graySurface,borderRadius:1.5,overflow:"hidden"},waterfallBar:{height:"100%",borderRadius:1.5},highlight:{backgroundColor:e.yellowHighlight,color:e.primaryBlack,borderRadius:2}});export default Pt;
|