react-native-inapp-inspector 2.3.25 → 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 +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 +11 -15
- package/dist/commonjs/components/Inspector/ConsoleTab.js +11 -14
- package/dist/commonjs/components/Inspector/CrashDetail.js +7 -6
- package/dist/commonjs/components/Inspector/CrashTab.js +14 -14
- 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 +13 -23
- package/dist/commonjs/components/Inspector/SettingsPanel.js +253 -105
- package/dist/commonjs/components/Inspector/StorageTab.js +35 -35
- 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/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 +35 -39
- package/dist/esm/components/Inspector/ConsoleTab.js +50 -53
- package/dist/esm/components/Inspector/CrashDetail.js +11 -10
- package/dist/esm/components/Inspector/CrashTab.js +14 -14
- 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 +103 -113
- package/dist/esm/components/Inspector/SettingsPanel.js +406 -258
- package/dist/esm/components/Inspector/StorageTab.js +158 -158
- 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/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 Le,{useCallback as Pe,useMemo as N,useRef as De,useState as _}from"react";import{FlatList as Fe,Platform as Y,Pressable as Ce,StyleSheet as We,Text as S,TextInput as Oe,TouchableOpacity as Ee,View as C}from"react-native";import{useTranslation as je}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 Ke,getCleanCallerDisplay as Ze}from"../../helpers";import E from"../../styles";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as z}from"../../styles/AppFonts";import{getActionHistory as qe}from"../../customHooks/reduxLogger";import{TerminalIcon as Ie,SearchIcon as Je,ClearIcon as Qe,LayersIcon as Xe,ClockIcon as _e,SizeIcon as Ye,ForwardChevronIcon as Ct,SortArrowIcon as Tt,BoltIcon as U,AtomIcon as St,ScreenIcon as It,ListenerIcon as Rt,DocIcon as At,LoadingSpinnerIcon as Vt,CircleAlertIcon as Ht,TextAaIcon as Bt}from"../NetworkIcons";const Re=L=>{switch(L){case"saga":return{label:"SAGA",renderIcon:(R,A=9)=><U color={R}size={A}/>,bg:e.purple100,text:e.brandPurple,border:e.purple200};case"thunk":return{label:"THUNK",renderIcon:(R,A=9)=><St color={R}size={A}/>,bg:e.amber100,text:e.amber800Warm,border:e.amber200};case"ui":return{label:"UI",renderIcon:(R,A=9)=><It color={R}size={A}/>,bg:e.sky100,text:e.sky600,border:e.sky400};case"listener":return{label:"LISTENER",renderIcon:(R,A=9)=><Rt color={R}size={A}/>,bg:e.teal100,text:e.teal700,border:e.teal400};default:return{label:"DIRECT",renderIcon:(R,A=9)=><U color={R}size={A}/>,bg:e.slate100,text:e.slate700,border:e.slate200}}},Lt=Le.memo(()=>{const{t:L}=je(),{reduxState:R,reduxLastActionMap:A,reduxSearch:k,setReduxSearch:G,setSelectedReduxSlice:Z}=Me(),ze=De(null),[q,Ae]=_(100),[F,ke]=_("latest"),Ve=N(()=>Se(R),[R]),J=N(()=>qe(),[A]),$=N(()=>!R||typeof R!="object"?[]:Object.keys(R).map(I=>{const T=R[I],H=Array.isArray(T),M=T&&typeof T=="object";let D="Primitive",B=0;H?(B=T.length,D=`Array [${B}]`):M?(B=Object.keys(T).length,D=`Object {${B}}`):typeof T<"u"&&(B=1,D=typeof T);let W="live",v;M&&(T.loading===!0||T.isLoading===!0||T.status==="loading"||T.status==="pending"?(W="loading",v="Loading"):T.error||T.hasError||T.status==="error"||T.status==="failed"?(W="error",v=typeof T.error=="string"?T.error:"Error"):B===0&&(W="empty",v="Empty"));const V=A[I],He=V?.updatedAt||0,Be=J.filter(O=>!O.affectedSlices||O.affectedSlices.length===0?!0:O.affectedSlices.includes(I)).length;let Q;if(V){let O;if(V.payload!==void 0&&V.payload!==null)try{if(typeof V.payload=="object"){const X=Object.keys(V.payload);O=`{ ${X.slice(0,3).join(", ")}${X.length>3?"...":""} }`}else O=String(V.payload)}catch{}Q={type:V.type,timestamp:V.timestamp,updatedAt:V.updatedAt,payloadPreview:O,originType:V.originType,callerFile:V.callerFile,callerLine:V.callerLine,callerCol:V.callerCol}}return{id:`slice-${I}`,name:I,keysCount:B,sizeStr:Se(T),typeLabel:D,status:W,statusMessage:v,timelineCount:Be,lastAction:Q,updatedAt:He}}),[R,A,J]),P=N(()=>{let t=$;if(k&&k.trim().length>0){const I=k.trim().toLowerCase().split(/\s+/).filter(Boolean);t=t.filter(T=>{const H=R?R[T.name]:null,M=[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 I.every(D=>M.includes(D))})}return[...t].sort((I,T)=>F==="latest"&&T.updatedAt!==I.updatedAt?T.updatedAt-I.updatedAt:I.name.localeCompare(T.name))},[$,k,F,R]),K=N(()=>P.slice(0,q),[P,q]),j=N(()=>{const t=Object.values(A);return t.length===0?null:t.reduce((I,T)=>I?(T.updatedAt||0)>(I.updatedAt||0)?T:I:T,null)},[A]),ve=Pe(({item:t,index:I})=>{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,M=t.status==="error"?e.red100:t.status==="loading"?e.amber100:t.status==="empty"?e.grayBackground:e.emeraldBg,D=t.status==="error"?e.errorBorder:t.status==="loading"?e.amber200:t.status==="empty"?e.dividerColor:e.emeraldBorder,B=t.status==="error"?e.red600:t.status==="loading"?e.amber800Warm:t.status==="empty"?e.grayTextWeak:e.emerald700,W=t.lastAction?.callerFile?Ze(t.lastAction.callerFile):null;return<$e index={I}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}>#{I+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=Re(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:M,borderColor:D}]}>
|
|
28
|
+
{t.status==="loading"?<Vt color={e.amber800Warm}size={10}/>:t.status==="error"?<Ht color={e.red600}size={10}/>:t.status==="empty"?null:<C style={o.liveDot}/>}
|
|
29
|
+
<S style={[o.statusPillText,{color:B}]}>
|
|
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
|
+
<Ct 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={
|
|
48
|
+
<C style={o.actionPreviewRow}>
|
|
49
49
|
<Ie color={e.grayTextWeak}size={10}/>
|
|
50
|
-
{t.lastAction?<
|
|
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
|
+
<_e 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
|
+
{W&&<Ce onPress={()=>Ke(t.lastAction.callerFile,t.lastAction.callerLine,t.lastAction.callerCol)}hitSlop={6}style={o.callerChip}>
|
|
64
|
+
<At color={e.sky600}size={9}/>
|
|
65
|
+
<S style={o.callerChipText}>
|
|
66
|
+
{W.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
|
+
<Ye 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 R?<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}>{L("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}>{L("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
|
-
{j?.originType&&(()=>{const t=
|
|
109
|
+
<S style={o.statHeading}>{L("redux.lastActionHeader","LAST ACTION")}</S>
|
|
110
|
+
{j?.originType&&(()=>{const t=Re(j.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:z.interBold,fontSize:7.5,color:t.text}}>
|
|
113
113
|
{t.label}
|
|
114
|
-
</
|
|
114
|
+
</S>
|
|
115
115
|
</C>})()}
|
|
116
116
|
</C>
|
|
117
|
-
<
|
|
117
|
+
<S style={o.statLastAction}numberOfLines={1}>
|
|
118
118
|
{j?j.type:"Initial"}
|
|
119
|
-
</
|
|
120
|
-
{j?.timestamp&&<
|
|
119
|
+
</S>
|
|
120
|
+
{j?.timestamp&&<S style={o.statLastTime}>
|
|
121
121
|
{j.timestamp}
|
|
122
|
-
</
|
|
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={E.searchContainer}>
|
|
130
|
+
<Je color={e.grayTextWeak}size={15}/>
|
|
131
|
+
<Oe accessible={!0}accessibilityRole="search"accessibilityLabel="Search Redux slices or actions"accessibilityHint="Type to filter state slices in real time"placeholder={L("redux.searchPlaceholder","Search state or actions...")}placeholderTextColor={e.grayTextWeak}value={k}onChangeText={G}style={E.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
|
-
<
|
|
134
|
+
<S style={{color:e.purple,fontSize:9.5,fontFamily:z.interBold}}>
|
|
135
135
|
{P.length}
|
|
136
|
-
</
|
|
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
|
+
<Ee accessible={!0}accessibilityRole="button"accessibilityLabel={`Sort order: ${F==="latest"?"Recently updated first":"Alphabetical A to Z"}`}accessibilityHint="Switches sorting between recently updated and alphabetical"style={[E.toolbarBtn,F==="latest"&&{backgroundColor:`${e.brandPurple}1F`,borderColor:e.brandPurple}]}onPress={()=>ke(t=>t==="latest"?"alpha":"latest")}hitSlop={6}>
|
|
146
|
+
<Tt color={F==="latest"?e.brandPurple:e.grayTextStrong}size={16}/>
|
|
147
|
+
</Ee>
|
|
153
148
|
</C>
|
|
154
149
|
|
|
155
|
-
<C style={
|
|
156
|
-
<
|
|
157
|
-
Showing {P.length} of {
|
|
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 {P.length} of {$.length} state slices
|
|
153
|
+
</S>
|
|
154
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:4}}>
|
|
155
|
+
{F==="latest"?<U color={e.brandPurple}size={11}/>:<Bt color={e.brandPurple}size={11}/>}
|
|
156
|
+
<S style={o.sortLabel}>
|
|
157
|
+
{F==="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={
|
|
164
|
+
<Fe ref={ze}data={K}keyExtractor={t=>t.id}renderItem={ve}getItemLayout={(t,I)=>({length:126,offset:126*I,index:I})}initialNumToRender={12}maxToRenderPerBatch={8}windowSize={5}removeClippedSubviews={Y.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={P.length>0?<Ge count={K.length}totalCount={P.length}label="slices"hasMore={K.length<P.length}onLoadMore={()=>Ae(t=>t+10)}/>:null}contentContainerStyle={[o.listContent,P.length===0&&{flexGrow:1}]}keyboardShouldPersistTaps="handled"/>
|
|
165
|
+
</C>:<C style={E.emptyContainer}>
|
|
166
|
+
<C style={E.emptyIconWrap}>
|
|
177
167
|
<Ie color={e.purple}size={32}/>
|
|
178
168
|
</C>
|
|
179
|
-
<
|
|
180
|
-
<
|
|
169
|
+
<S style={E.emptyTitle}>{L("redux.noStoreConnected","No Redux Store Connected")}</S>
|
|
170
|
+
<S style={E.emptySub}>
|
|
181
171
|
{L("redux.connectStoreTip","Call connectReduxStore(store) or use inspectorReduxMiddleware at app initialization.")}
|
|
182
|
-
</
|
|
183
|
-
</C>}),
|
|
172
|
+
</S>
|
|
173
|
+
</C>}),o=We.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:z.interBold,fontSize:9,color:e.grayTextWeak,letterSpacing:.5},statBigVal:{fontFamily:z.interBold,fontSize:14,color:e.primaryBlack,marginTop:2},statLastAction:{fontFamily:z.interBold,fontSize:11,color:e.purple,marginTop:2},statLastTime:{fontFamily:z.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:z.interMedium,fontSize:11,color:e.grayTextWeak},sortLabel:{fontFamily:z.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:z.interBold,fontSize:10.5,lineHeight:13,color:e.grayTextWeak},methodBadge:{paddingHorizontal:5.5,paddingVertical:2,borderRadius:4,alignItems:"center",justifyContent:"center"},methodBadgeText:{fontFamily:z.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:z.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:z.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:z.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:z.interBold,fontSize:8.5,lineHeight:11,color:e.violet600},actionPreviewRow:{flexDirection:"row",alignItems:"center",gap:4.5,minHeight:15},actionPreviewText:{fontFamily:Y.select({ios:"Menlo",default:"monospace"}),fontSize:10,lineHeight:13,color:e.grayTextWeak,flex:1},actionPreviewEmptyText:{fontFamily:z.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:z.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:z.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:z.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 Lt;
|