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