react-native-inapp-inspector 2.4.2 → 2.5.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +523 -2
  2. package/dist/commonjs/capture.d.ts +2 -0
  3. package/dist/commonjs/capture.js +1 -1
  4. package/dist/commonjs/components/AnalyticsDetail.js +23 -23
  5. package/dist/commonjs/components/AnalyticsEventCard.js +1 -1
  6. package/dist/commonjs/components/AnalyticsGraph.js +44 -44
  7. package/dist/commonjs/components/AnimatedBrandOwl.js +32 -32
  8. package/dist/commonjs/components/AppHeaderLogo.js +6 -6
  9. package/dist/commonjs/components/BrandCircleIcon.js +28 -28
  10. package/dist/commonjs/components/BrandSquareIcon.js +33 -33
  11. package/dist/commonjs/components/ConsoleLogCard.js +1 -1
  12. package/dist/commonjs/components/Inspector/AnalyticsTab.js +2 -2
  13. package/dist/commonjs/components/Inspector/ConfirmationModal.js +23 -25
  14. package/dist/commonjs/components/Inspector/ConsoleTab.js +5 -5
  15. package/dist/commonjs/components/Inspector/CrashTab.js +44 -11
  16. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +1 -1
  17. package/dist/commonjs/components/Inspector/FabLauncher.js +30 -25
  18. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  19. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +54 -0
  20. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  21. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +234 -0
  22. package/dist/commonjs/components/Inspector/InspectorHeader.js +137 -127
  23. package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  24. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +114 -32
  25. package/dist/commonjs/components/Inspector/MainScreen.js +26 -19
  26. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +38 -35
  27. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +36 -0
  28. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +345 -123
  29. package/dist/commonjs/components/Inspector/NetworkTab.js +14 -14
  30. package/dist/commonjs/components/Inspector/PushCard.js +1 -1
  31. package/dist/commonjs/components/Inspector/PushDetail.js +9 -9
  32. package/dist/commonjs/components/Inspector/PushTab.js +3 -3
  33. package/dist/commonjs/components/Inspector/ReduxTab.js +9 -7
  34. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  35. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  36. package/dist/commonjs/components/Inspector/SettingsPanel.js +102 -73
  37. package/dist/commonjs/components/Inspector/SocketCard.js +1 -1
  38. package/dist/commonjs/components/Inspector/SocketDetail.js +73 -63
  39. package/dist/commonjs/components/Inspector/SocketTab.js +4 -4
  40. package/dist/commonjs/components/Inspector/StorageTab.js +10 -10
  41. package/dist/commonjs/components/Inspector/SupportModal.js +2 -2
  42. package/dist/commonjs/components/Inspector/SupportPage.js +1 -1
  43. package/dist/commonjs/components/JsonViewer.js +47 -45
  44. package/dist/commonjs/components/LogCard.js +22 -20
  45. package/dist/commonjs/components/ModuleErrorBoundary.js +5 -5
  46. package/dist/commonjs/components/NetworkIcons.d.ts +27 -0
  47. package/dist/commonjs/components/NetworkIcons.js +103 -5
  48. package/dist/commonjs/constants/version.d.ts +1 -1
  49. package/dist/commonjs/constants/version.js +1 -1
  50. package/dist/commonjs/crash.d.ts +1 -1
  51. package/dist/commonjs/crash.js +1 -1
  52. package/dist/commonjs/customHooks/crashHandler.d.ts +2 -1
  53. package/dist/commonjs/customHooks/crashHandler.js +7 -7
  54. package/dist/commonjs/editor.d.ts +13 -0
  55. package/dist/commonjs/editor.js +1 -0
  56. package/dist/commonjs/helpers/index.d.ts +1 -0
  57. package/dist/commonjs/helpers/index.js +1 -1
  58. package/dist/commonjs/helpers/settingsStore.js +1 -1
  59. package/dist/commonjs/helpers/telemetry.js +1 -1
  60. package/dist/commonjs/i18n/index.js +1 -1
  61. package/dist/commonjs/i18n/locales/ar.json +1 -1
  62. package/dist/commonjs/i18n/locales/bn.json +1 -1
  63. package/dist/commonjs/i18n/locales/de.json +1 -1
  64. package/dist/commonjs/i18n/locales/en.json +1 -1
  65. package/dist/commonjs/i18n/locales/es.json +1 -1
  66. package/dist/commonjs/i18n/locales/fr.json +1 -1
  67. package/dist/commonjs/i18n/locales/gu.json +1 -1
  68. package/dist/commonjs/i18n/locales/hi.json +1 -1
  69. package/dist/commonjs/i18n/locales/id.json +1 -1
  70. package/dist/commonjs/i18n/locales/it.json +1 -1
  71. package/dist/commonjs/i18n/locales/ja.json +1 -1
  72. package/dist/commonjs/i18n/locales/kn.json +1 -1
  73. package/dist/commonjs/i18n/locales/ko.json +1 -1
  74. package/dist/commonjs/i18n/locales/ml.json +1 -1
  75. package/dist/commonjs/i18n/locales/mr.json +1 -1
  76. package/dist/commonjs/i18n/locales/nl.json +1 -1
  77. package/dist/commonjs/i18n/locales/pa.json +1 -1
  78. package/dist/commonjs/i18n/locales/pl.json +1 -1
  79. package/dist/commonjs/i18n/locales/pt.json +1 -1
  80. package/dist/commonjs/i18n/locales/ru.json +1 -1
  81. package/dist/commonjs/i18n/locales/ta.json +1 -1
  82. package/dist/commonjs/i18n/locales/te.json +1 -1
  83. package/dist/commonjs/i18n/locales/tr.json +1 -1
  84. package/dist/commonjs/i18n/locales/vi.json +1 -1
  85. package/dist/commonjs/i18n/locales/zh.json +1 -1
  86. package/dist/commonjs/index.d.ts +4 -1
  87. package/dist/commonjs/index.js +3 -3
  88. package/dist/commonjs/native/NativeInspector.d.ts +3 -0
  89. package/dist/commonjs/native/NativeInspector.js +1 -1
  90. package/dist/commonjs/native/NativeNetworkInspector.d.ts +4 -0
  91. package/dist/commonjs/styles/AppColors.d.ts +42 -2
  92. package/dist/commonjs/styles/AppColors.js +1 -1
  93. package/dist/commonjs/styles/common.js +1 -1
  94. package/dist/commonjs/styles/index.d.ts +7 -0
  95. package/dist/commonjs/styles/index.js +1 -1
  96. package/dist/commonjs/types/editor.d.ts +96 -0
  97. package/dist/commonjs/types/editor.js +1 -0
  98. package/dist/commonjs/types/interfaces.d.ts +21 -0
  99. package/dist/esm/capture.d.ts +2 -0
  100. package/dist/esm/capture.js +1 -1
  101. package/dist/esm/components/AnalyticsDetail.js +31 -31
  102. package/dist/esm/components/AnalyticsEventCard.js +1 -1
  103. package/dist/esm/components/AnalyticsGraph.js +74 -74
  104. package/dist/esm/components/AnimatedBrandOwl.js +114 -114
  105. package/dist/esm/components/AppHeaderLogo.js +7 -7
  106. package/dist/esm/components/BrandCircleIcon.js +70 -70
  107. package/dist/esm/components/BrandSquareIcon.js +61 -61
  108. package/dist/esm/components/ConsoleLogCard.js +1 -1
  109. package/dist/esm/components/Inspector/AnalyticsTab.js +14 -14
  110. package/dist/esm/components/Inspector/ConfirmationModal.js +23 -25
  111. package/dist/esm/components/Inspector/ConsoleTab.js +17 -17
  112. package/dist/esm/components/Inspector/CrashTab.js +202 -169
  113. package/dist/esm/components/Inspector/DeviceInfoTab.js +75 -75
  114. package/dist/esm/components/Inspector/FabLauncher.js +56 -51
  115. package/dist/esm/components/Inspector/FloatingCaptureWidget.d.ts +3 -0
  116. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +54 -0
  117. package/dist/esm/components/Inspector/GlobalCrashScreenModal.d.ts +11 -0
  118. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +234 -0
  119. package/dist/esm/components/Inspector/InspectorHeader.js +162 -152
  120. package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +1 -1
  121. package/dist/esm/components/Inspector/LanguageSelectorModal.js +140 -58
  122. package/dist/esm/components/Inspector/MainScreen.js +61 -54
  123. package/dist/esm/components/Inspector/MediaGalleryTab.js +55 -52
  124. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +36 -0
  125. package/dist/esm/components/Inspector/MediaPreviewModal.js +345 -123
  126. package/dist/esm/components/Inspector/NetworkTab.js +74 -74
  127. package/dist/esm/components/Inspector/PushCard.js +1 -1
  128. package/dist/esm/components/Inspector/PushDetail.js +18 -18
  129. package/dist/esm/components/Inspector/PushTab.js +1 -1
  130. package/dist/esm/components/Inspector/ReduxTab.js +18 -16
  131. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.d.ts +2 -0
  132. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +43 -0
  133. package/dist/esm/components/Inspector/SettingsPanel.js +224 -195
  134. package/dist/esm/components/Inspector/SocketCard.js +8 -8
  135. package/dist/esm/components/Inspector/SocketDetail.js +106 -96
  136. package/dist/esm/components/Inspector/SocketTab.js +18 -18
  137. package/dist/esm/components/Inspector/StorageTab.js +47 -47
  138. package/dist/esm/components/Inspector/SupportModal.js +64 -64
  139. package/dist/esm/components/Inspector/SupportPage.js +5 -5
  140. package/dist/esm/components/JsonViewer.js +51 -49
  141. package/dist/esm/components/LogCard.js +41 -39
  142. package/dist/esm/components/ModuleErrorBoundary.js +10 -10
  143. package/dist/esm/components/NetworkIcons.d.ts +27 -0
  144. package/dist/esm/components/NetworkIcons.js +101 -3
  145. package/dist/esm/constants/version.d.ts +1 -1
  146. package/dist/esm/constants/version.js +1 -1
  147. package/dist/esm/crash.d.ts +1 -1
  148. package/dist/esm/crash.js +1 -1
  149. package/dist/esm/customHooks/crashHandler.d.ts +2 -1
  150. package/dist/esm/customHooks/crashHandler.js +7 -7
  151. package/dist/esm/editor.d.ts +13 -0
  152. package/dist/esm/editor.js +1 -0
  153. package/dist/esm/helpers/index.d.ts +1 -0
  154. package/dist/esm/helpers/index.js +4 -4
  155. package/dist/esm/helpers/settingsStore.js +1 -1
  156. package/dist/esm/helpers/telemetry.js +1 -1
  157. package/dist/esm/i18n/index.js +1 -1
  158. package/dist/esm/i18n/locales/ar.json +1 -1
  159. package/dist/esm/i18n/locales/bn.json +1 -1
  160. package/dist/esm/i18n/locales/de.json +1 -1
  161. package/dist/esm/i18n/locales/en.json +1 -1
  162. package/dist/esm/i18n/locales/es.json +1 -1
  163. package/dist/esm/i18n/locales/fr.json +1 -1
  164. package/dist/esm/i18n/locales/gu.json +1 -1
  165. package/dist/esm/i18n/locales/hi.json +1 -1
  166. package/dist/esm/i18n/locales/id.json +1 -1
  167. package/dist/esm/i18n/locales/it.json +1 -1
  168. package/dist/esm/i18n/locales/ja.json +1 -1
  169. package/dist/esm/i18n/locales/kn.json +1 -1
  170. package/dist/esm/i18n/locales/ko.json +1 -1
  171. package/dist/esm/i18n/locales/ml.json +1 -1
  172. package/dist/esm/i18n/locales/mr.json +1 -1
  173. package/dist/esm/i18n/locales/nl.json +1 -1
  174. package/dist/esm/i18n/locales/pa.json +1 -1
  175. package/dist/esm/i18n/locales/pl.json +1 -1
  176. package/dist/esm/i18n/locales/pt.json +1 -1
  177. package/dist/esm/i18n/locales/ru.json +1 -1
  178. package/dist/esm/i18n/locales/ta.json +1 -1
  179. package/dist/esm/i18n/locales/te.json +1 -1
  180. package/dist/esm/i18n/locales/tr.json +1 -1
  181. package/dist/esm/i18n/locales/vi.json +1 -1
  182. package/dist/esm/i18n/locales/zh.json +1 -1
  183. package/dist/esm/index.d.ts +4 -1
  184. package/dist/esm/index.js +5 -5
  185. package/dist/esm/native/NativeInspector.d.ts +3 -0
  186. package/dist/esm/native/NativeInspector.js +1 -1
  187. package/dist/esm/native/NativeNetworkInspector.d.ts +4 -0
  188. package/dist/esm/styles/AppColors.d.ts +42 -2
  189. package/dist/esm/styles/AppColors.js +1 -1
  190. package/dist/esm/styles/common.js +1 -1
  191. package/dist/esm/styles/index.d.ts +7 -0
  192. package/dist/esm/styles/index.js +1 -1
  193. package/dist/esm/types/editor.d.ts +96 -0
  194. package/dist/esm/types/editor.js +1 -0
  195. package/dist/esm/types/interfaces.d.ts +21 -0
  196. package/editor.d.ts +1 -0
  197. package/editor.js +1 -0
  198. package/ios/NetworkInspectorModule.mm +429 -0
  199. package/package.json +10 -1
  200. package/react-native-inapp-inspector.podspec +1 -1
  201. package/src/native/NativeInspector.ts +57 -4
  202. package/src/native/NativeNetworkInspector.ts +4 -0
@@ -1,90 +1,172 @@
1
- import U,{useState as L,useMemo as N}from"react";import{Modal as G,View as C,Text as S,TextInput as E,ScrollView as A,StyleSheet as B,Pressable as _,Platform as q,Dimensions as J}from"react-native";import R from"../TouchableScale";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as T}from"../../styles/AppFonts";import{GlobeIcon as K,CheckIcon as Y,CloseWhite as P}from"../NetworkIcons";import{useTranslation as Q,SUPPORTED_LANGUAGES as X,setLanguage as Z,getLanguage as ee}from"../../i18n";import{loadSettings as te,saveSettings as oe}from"../../helpers/settingsStore";import{triggerNativeHaptic as D}from"../../native/NativeInspector";import{showToast as re}from"../../helpers/toast";export const COUNTRY_OPTIONS=[{id:"all",name:"All",flag:"\u{1F310}",badge:"25"},{id:"in",name:"India",flag:"\u{1F1EE}\u{1F1F3}",badge:"38% Vol",langCodes:["hi","ta","te","kn","ml","bn","mr","gu","pa"]},{id:"us",name:"United States",flag:"\u{1F1FA}\u{1F1F8}",badge:"24% Vol",langCodes:["en","es"]},{id:"gb",name:"United Kingdom",flag:"\u{1F1EC}\u{1F1E7}",badge:"15% Vol",langCodes:["en"]},{id:"de",name:"Germany",flag:"\u{1F1E9}\u{1F1EA}",badge:"9% Vol",langCodes:["de"]},{id:"jp",name:"Japan",flag:"\u{1F1EF}\u{1F1F5}",badge:"6% Vol",langCodes:["ja"]},{id:"ca",name:"Canada",flag:"\u{1F1E8}\u{1F1E6}",badge:"5% Vol",langCodes:["en","fr"]},{id:"global",name:"Global / ROW",flag:"\u{1F310}",badge:"3% Vol",langCodes:["it","id","tr","vi","nl","pl","pt","ru","ar","zh","ko"]}],LanguageSelectorModal=U.memo(({visible:j,onClose:V})=>{const{t:k}=Q(),[w,z]=L(""),[x,H]=L("all"),M=ee(),v=t.primaryLight!==t.white,I=N(()=>COUNTRY_OPTIONS.find(o=>o.id===x)||COUNTRY_OPTIONS[0],[x]),W=N(()=>X.filter(o=>{if(x!=="all"&&I?.langCodes&&!I.langCodes.includes(o.code))return!1;if(!w.trim())return!0;const b=w.trim().toLowerCase();return o.name.toLowerCase().includes(b)||o.nativeName.toLowerCase().includes(b)||o.code.toLowerCase().includes(b)}),[w,x,I]),O=async(o,b,$)=>{D("light"),Z(o);try{const F=await te();oe({...F,language:o})}catch{}V(),z(""),re(`${b} ${$}`)};return<G visible={j}transparent={!0}animationType="slide"onRequestClose={V}>
2
- <C style={e.overlay}>
1
+ import oe,{useState as M,useMemo as q}from"react";import{Modal as Ce,View as C,Text as B,TextInput as Se,ScrollView as J,StyleSheet as v,TouchableWithoutFeedback as Y,Platform as O,Dimensions as Te,DevSettings as G}from"react-native";import E from"react-native-linear-gradient";import V from"../TouchableScale";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as x}from"../../styles/AppFonts";import{GlobeIcon as Be,CheckIcon as Re,CloseWhite as U,SearchIcon as Ie,ResetIcon as Ve}from"../NetworkIcons";import{useTranslation as Le,SUPPORTED_LANGUAGES as Q,setLanguage as Fe,getLanguage as Ae}from"../../i18n";import{loadSettings as Pe,saveSettings as We}from"../../helpers/settingsStore";import{triggerNativeHaptic as N}from"../../native/NativeInspector";import{showToast as Ne}from"../../helpers/toast";export const COUNTRY_OPTIONS=[{id:"all",name:"All",flag:"\u{1F310}",badge:"25"},{id:"in",name:"India",flag:"\u{1F1EE}\u{1F1F3}",badge:"9",langCodes:["hi","ta","te","kn","ml","bn","mr","gu","pa"]},{id:"us",name:"United States",flag:"\u{1F1FA}\u{1F1F8}",badge:"2",langCodes:["en","es"]},{id:"gb",name:"United Kingdom",flag:"\u{1F1EC}\u{1F1E7}",badge:"1",langCodes:["en"]},{id:"de",name:"Germany",flag:"\u{1F1E9}\u{1F1EA}",badge:"1",langCodes:["de"]},{id:"jp",name:"Japan",flag:"\u{1F1EF}\u{1F1F5}",badge:"1",langCodes:["ja"]},{id:"ca",name:"Canada",flag:"\u{1F1E8}\u{1F1E6}",badge:"2",langCodes:["en","fr"]},{id:"global",name:"Global / Europe & Asia",flag:"\u{1F30D}",badge:"11",langCodes:["it","id","tr","vi","nl","pl","pt","ru","ar","zh","ko"]}];const _={en:"English (Default)",es:"Spanish",fr:"French",de:"German",zh:"Chinese (Simplified)",ja:"Japanese",ko:"Korean",pt:"Portuguese",ru:"Russian",hi:"Hindi",ta:"Tamil",te:"Telugu",kn:"Kannada",ml:"Malayalam",bn:"Bengali",mr:"Marathi",gu:"Gujarati",pa:"Punjabi",ar:"Arabic",it:"Italian",id:"Indonesian",tr:"Turkish",vi:"Vietnamese",nl:"Dutch",pl:"Polish"};export const LanguageSelectorModal=oe.memo(({visible:X,onClose:P})=>{const{t:k}=Le(),[L,j]=M(""),[F,Z]=M("all"),[R,D]=M(null),W=Ae(),A=e.primaryLight!==e.white,$=q(()=>COUNTRY_OPTIONS.find(o=>o.id===F)||COUNTRY_OPTIONS[0],[F]),K=q(()=>Q.filter(o=>{if(F!=="all"&&$?.langCodes&&!$.langCodes.includes(o.code))return!1;if(!L.trim())return!0;const T=L.trim().toLowerCase(),I=_[o.code]?.toLowerCase()||"";return o.name.toLowerCase().includes(T)||o.nativeName.toLowerCase().includes(T)||o.code.toLowerCase().includes(T)||I.includes(T)}),[L,F,$]),ee=(o,T,I)=>{o!==W&&(N("light"),D({code:o,flag:T,nativeName:I}))},te=async()=>{if(!R)return;N("medium"),Fe(R.code);try{const I=await Pe();await We({...I,language:R.code})}catch{}const{flag:o,nativeName:T}=R;D(null),P(),j(""),Ne(`\u{1F504} ${o} ${T}`),__DEV__&&G&&G.reload&&G.reload()},H=()=>{N("light"),D(null)};return<Ce visible={X}transparent={!0}animationType="slide"statusBarTranslucent={!0}onRequestClose={P}>
2
+ <C style={t.overlay}>
3
3
 
4
- <_ style={e.backdrop}onPress={V}accessibilityRole="button"accessibilityLabel="Close bottom sheet"/>
4
+ <Y onPress={P}accessible={!0}accessibilityRole="button"accessibilityLabel="Close bottom sheet">
5
+ <C style={t.backdrop}/>
6
+ </Y>
5
7
 
6
8
 
7
- <C style={[e.bottomSheet,{backgroundColor:v?t.npmDark:t.white}]}>
9
+ <C style={[t.bottomSheet,{backgroundColor:A?e.npmDark:e.white}]}>
8
10
 
9
- <C style={e.handleBarWrap}>
10
- <C style={[e.handleBar,{backgroundColor:v?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.18)"}]}/>
11
+ <C style={t.handleBarWrap}>
12
+ <C style={[t.handleBar,{backgroundColor:A?"rgba(255,255,255,0.25)":"rgba(0,0,0,0.18)"}]}/>
11
13
  </C>
12
14
 
13
15
 
14
- <C style={e.header}>
15
- <C style={e.headerTitleRow}>
16
- <C style={e.globeIconWrap}>
17
- <K size={16}color={t.blue600}/>
18
- </C>
16
+ <C style={t.header}>
17
+ <C style={t.headerTitleRow}>
18
+ <E colors={[e.indigo600,e.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={t.globeIconWrap}>
19
+ <Be size={17}color={e.white}/>
20
+ </E>
19
21
  <C>
20
- <S style={e.titleText}>
21
- {k("settings.general.selectLanguage","Select Language")}
22
- </S>
23
- <S style={e.subTitleText}>
22
+ <C style={t.titleRow}>
23
+ <B style={t.titleText}>
24
+ {k("settings.general.selectLanguage","Select Language")}
25
+ </B>
26
+ <C style={t.countBadge}>
27
+ <B style={t.countBadgeText}>25</B>
28
+ </C>
29
+ </C>
30
+ <B style={t.subTitleText}>
24
31
  {k("settings.general.languageDescription","Choose preferred display language")}
25
- </S>
32
+ </B>
26
33
  </C>
27
34
  </C>
28
- <R onPress={V}hitSlop={10}style={e.closeBtn}>
29
- <P size={12}color={t.grayText}/>
30
- </R>
35
+ <V onPress={P}hitSlop={12}accessible={!0}accessibilityRole="button"accessibilityLabel="Close language selector"style={[t.closeBtn,{backgroundColor:A?"rgba(255, 255, 255, 0.16)":"rgba(0, 0, 0, 0.08)",borderColor:A?"rgba(255, 255, 255, 0.30)":"rgba(0, 0, 0, 0.18)"}]}>
36
+ <U size={14}color={A?e.white:"#0F172A"}/>
37
+ </V>
31
38
  </C>
32
39
 
33
40
 
34
- <C style={e.searchContainer}>
35
- <E value={w}onChangeText={z}placeholder={k("common.search","Search language, country or code...")}placeholderTextColor={t.grayTextWeak}style={e.searchInput}autoCapitalize="none"autoCorrect={!1}clearButtonMode="while-editing"/>
36
- {w.length>0&&<R onPress={()=>z("")}style={e.searchClearBtn}>
37
- <P size={11}color={t.grayText}/>
38
- </R>}
41
+ <C style={t.searchContainer}>
42
+ <Ie color={e.grayTextWeak}size={15}/>
43
+ <Se value={L}onChangeText={j}placeholder={k("common.search","Search language, country or code...")}placeholderTextColor={e.grayTextWeak}style={t.searchInput}autoCapitalize="none"autoCorrect={!1}clearButtonMode="never"/>
44
+ {L.length>0&&<V onPress={()=>j("")}hitSlop={8}style={t.searchClearBtn}>
45
+ <U size={11}color={e.grayText}/>
46
+ </V>}
39
47
  </C>
40
48
 
41
49
 
42
- <C style={e.countryScrollWrap}>
43
- <A horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={e.countryScrollContent}>
44
- {COUNTRY_OPTIONS.map(o=>{const b=o.id===x;return<R key={o.id}onPress={()=>{D("light"),H(o.id)}}style={[e.countryChip,b&&e.countryChipActive]}>
45
- <S style={e.countryChipFlag}>{o.flag}</S>
46
- <S style={[e.countryChipText,b&&e.countryChipTextActive]}>
50
+ <C style={t.countryScrollWrap}>
51
+ <J horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={t.countryScrollContent}>
52
+ {COUNTRY_OPTIONS.map(o=>{const T=o.id===F;return<V key={o.id}onPress={()=>{N("light"),Z(o.id)}}style={[t.countryChip,T&&t.countryChipActive]}>
53
+ <B style={t.countryChipFlag}>{o.flag}</B>
54
+ <B style={[t.countryChipText,T&&t.countryChipTextActive]}>
47
55
  {o.name}
48
- </S>
49
- {o.badge&&<C style={[e.countryChipBadge,b&&e.countryChipBadgeActive]}>
50
- <S style={[e.countryChipBadgeText,b&&e.countryChipBadgeTextActive]}>
56
+ </B>
57
+ {o.badge&&<C style={[t.countryChipBadge,T&&t.countryChipBadgeActive]}>
58
+ <B style={[t.countryChipBadgeText,T&&t.countryChipBadgeTextActive]}>
51
59
  {o.badge}
52
- </S>
60
+ </B>
53
61
  </C>}
54
- </R>})}
55
- </A>
62
+ </V>})}
63
+ </J>
56
64
  </C>
57
65
 
58
66
 
59
- <A style={e.scrollList}contentContainerStyle={e.scrollContent}showsVerticalScrollIndicator={!0}keyboardShouldPersistTaps="handled">
60
- {W.length===0?<C style={e.emptyStateWrap}>
61
- <S style={e.emptyStateText}>
67
+ <J style={t.scrollList}contentContainerStyle={t.scrollContent}showsVerticalScrollIndicator={!0}keyboardShouldPersistTaps="handled">
68
+ {K.length===0?<C style={t.emptyStateWrap}>
69
+ <B style={t.emptyStateText}>
62
70
  {k("common.noMatches","No languages match your search")}
63
- </S>
64
- </C>:W.map(o=>{const b=o.code===M;return<R key={o.code}onPress={()=>O(o.code,o.flag,o.nativeName)}style={[e.langRow,b&&e.langRowSelected]}>
65
- <C style={e.langRowLeft}>
66
- <S style={e.langFlag}>{o.flag}</S>
67
- <C style={e.langTextCol}>
68
- <C style={e.langTitleRow}>
69
- <S style={[e.langNativeName,b&&e.langNativeNameSelected]}>
71
+ </B>
72
+ </C>:K.map(o=>{const T=o.code===W,I=_[o.code]||o.name;return<V key={o.code}onPress={()=>ee(o.code,o.flag,o.nativeName)}style={[t.langRow,T&&t.langRowSelected]}>
73
+
74
+ {T&&<C style={t.activeAccentBar}/>}
75
+
76
+ <C style={t.langRowLeft}>
77
+ <C style={[t.flagContainer,T&&t.flagContainerSelected]}>
78
+ <B style={t.langFlag}>{o.flag}</B>
79
+ </C>
80
+ <C style={t.langTextCol}>
81
+ <C style={t.langTitleRow}>
82
+ <B style={[t.langNativeName,T&&t.langNativeNameSelected]}>
70
83
  {o.nativeName}
71
- </S>
72
- <C style={e.codePill}>
73
- <S style={e.codePillText}>
84
+ </B>
85
+ <C style={[t.codePill,T&&t.codePillSelected]}>
86
+ <B style={[t.codePillText,T&&t.codePillTextSelected]}>
74
87
  {o.code.toUpperCase()}
75
- </S>
88
+ </B>
76
89
  </C>
77
90
  </C>
78
- <S style={e.langEnglishName}>
79
- {o.name}
80
- </S>
91
+ <B style={[t.langEnglishName,T&&t.langEnglishNameSelected]}>
92
+ {I}
93
+ </B>
81
94
  </C>
82
95
  </C>
83
- {b&&<C style={e.checkIconWrap}>
84
- <Y size={13}color={t.white}/>
85
- </C>}
86
- </R>})}
87
- </A>
96
+
97
+ {T?<E colors={[e.indigo600,e.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={t.checkIconWrap}>
98
+ <Re size={12}color={e.white}/>
99
+ </E>:<C style={t.uncheckPlaceholder}/>}
100
+ </V>})}
101
+ </J>
88
102
  </C>
103
+
104
+
105
+ {R!=null&&<C style={[v.absoluteFill,S.overlay]}>
106
+ <Y onPress={H}>
107
+ <C style={S.backdrop}/>
108
+ </Y>
109
+ <C style={S.card}>
110
+
111
+ <V onPress={H}hitSlop={8}style={S.cornerCloseBtn}>
112
+ <U size={11}color={e.grayTextWeak}/>
113
+ </V>
114
+
115
+
116
+ <C style={S.iconBadge}>
117
+ <B style={S.iconFlag}>{R.flag}</B>
118
+ </C>
119
+
120
+
121
+ <B style={S.title}>
122
+ {k("language.confirmTitle","Change Language?")}
123
+ </B>
124
+ <B style={S.message}>
125
+ {k("language.confirmMessage",`Switch to ${R.nativeName} (${_[R.code]||R.nativeName})? The inspector will reload to apply the new language.`)}
126
+ </B>
127
+
128
+
129
+ <C style={S.switchPreview}>
130
+ <C style={S.switchItem}>
131
+ <B style={S.switchLabel}>
132
+ {k("language.current","Current")}
133
+ </B>
134
+ <B style={S.switchValue}>
135
+ {Q.find(o=>o.code===W)?.flag||"\u{1F310}"}{" "}
136
+ {W.toUpperCase()}
137
+ </B>
138
+ </C>
139
+ <C style={S.switchArrow}>
140
+ <B style={S.switchArrowText}>→</B>
141
+ </C>
142
+ <C style={S.switchItem}>
143
+ <B style={[S.switchLabel,{color:e.indigo600}]}>
144
+ {k("language.new","New")}
145
+ </B>
146
+ <B style={[S.switchValue,{color:e.indigo600,fontFamily:x.interBold}]}>
147
+ {R.flag} {R.code.toUpperCase()}
148
+ </B>
149
+ </C>
150
+ </C>
151
+
152
+
153
+ <C style={S.buttonRow}>
154
+ <V accessible={!0}accessibilityRole="button"accessibilityLabel={k("common.cancel","Cancel")}onPress={H}style={S.cancelBtn}>
155
+ <B style={S.cancelBtnText}>
156
+ {k("common.cancel","Cancel")}
157
+ </B>
158
+ </V>
159
+
160
+ <V accessible={!0}accessibilityRole="button"accessibilityLabel={k("language.confirmApply","Apply & Reload")}onPress={te}style={S.confirmBtn}>
161
+ <E colors={[e.indigo600,e.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={S.confirmBtnGradient}>
162
+ <Ve size={13}color={e.white}/>
163
+ <B style={S.confirmBtnText}>
164
+ {k("language.confirmApply","Apply & Reload")}
165
+ </B>
166
+ </E>
167
+ </V>
168
+ </C>
169
+ </C>
170
+ </C>}
89
171
  </C>
90
- </G>});const e=B.create({overlay:{flex:1,backgroundColor:"rgba(0, 0, 0, 0.55)",justifyContent:"flex-end"},backdrop:{...B.absoluteFillObject},bottomSheet:{width:"100%",height:Math.min(Math.max(J.get("window").height*.7,480),580),borderTopLeftRadius:24,borderTopRightRadius:24,paddingTop:8,paddingBottom:q.OS==="ios"?28:16,shadowColor:t.black,shadowOpacity:.25,shadowRadius:16,shadowOffset:{width:0,height:-4},elevation:12},handleBarWrap:{alignItems:"center",paddingVertical:6},handleBar:{width:38,height:4.5,borderRadius:2.5},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:10,borderBottomWidth:B.hairlineWidth,borderBottomColor:t.grayBorderSecondary},headerTitleRow:{flexDirection:"row",alignItems:"center",gap:10},globeIconWrap:{width:30,height:30,borderRadius:8,backgroundColor:`${t.blue600}14`,alignItems:"center",justifyContent:"center"},titleText:{fontFamily:T.interBold,fontSize:15,color:t.primaryBlack},subTitleText:{fontFamily:T.interRegular,fontSize:11,color:t.grayText,marginTop:1},closeBtn:{width:28,height:28,borderRadius:14,backgroundColor:t.grayBackground,alignItems:"center",justifyContent:"center"},closeBtnText:{fontFamily:T.interBold,fontSize:12,color:t.grayText},searchContainer:{flexDirection:"row",alignItems:"center",marginHorizontal:14,marginTop:10,marginBottom:6,paddingHorizontal:10,height:38,borderRadius:10,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.grayBorderSecondary},searchInput:{flex:1,height:"100%",fontSize:12.5,fontFamily:T.interRegular,color:t.primaryBlack,paddingVertical:0},searchClearBtn:{padding:4},searchClearText:{fontSize:12,color:t.grayText,fontFamily:T.interBold},countryScrollWrap:{borderBottomWidth:B.hairlineWidth,borderBottomColor:t.grayBorderSecondary,paddingVertical:6},countryScrollContent:{paddingHorizontal:14,gap:6,flexDirection:"row",alignItems:"center"},countryChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:6,borderRadius:16,backgroundColor:t.grayBackground,borderWidth:1,borderColor:t.grayBorderSecondary,gap:5},countryChipActive:{backgroundColor:`${t.purple}14`,borderColor:`${t.purple}55`},countryChipFlag:{fontSize:13},countryChipText:{fontFamily:T.interMedium,fontSize:11.5,color:t.primaryBlack},countryChipTextActive:{fontFamily:T.interBold,color:t.purple},countryChipBadge:{paddingHorizontal:5,paddingVertical:1,borderRadius:8,backgroundColor:`${t.black}0A`},countryChipBadgeActive:{backgroundColor:`${t.purple}22`},countryChipBadgeText:{fontFamily:T.interSemiBold,fontSize:9.5,color:t.grayText},countryChipBadgeTextActive:{color:t.purple,fontFamily:T.interBold},scrollList:{flex:1},scrollContent:{paddingBottom:16},emptyStateWrap:{padding:30,alignItems:"center",justifyContent:"center"},emptyStateText:{fontFamily:T.interRegular,fontSize:12.5,color:t.grayText},langRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:12,borderBottomWidth:B.hairlineWidth,borderBottomColor:t.grayBorderSecondary},langRowSelected:{backgroundColor:`${t.purple}10`},langRowLeft:{flexDirection:"row",alignItems:"center",gap:12,flex:1},langFlag:{fontSize:20},langTextCol:{flex:1},langTitleRow:{flexDirection:"row",alignItems:"center",gap:6},langNativeName:{fontFamily:T.interSemiBold,fontSize:13.5,color:t.primaryBlack},langNativeNameSelected:{fontFamily:T.interBold,color:t.purple},codePill:{backgroundColor:`${t.purple}14`,paddingHorizontal:5,paddingVertical:1,borderRadius:4},codePillText:{fontSize:9.5,fontFamily:T.interBold,color:t.purple,letterSpacing:.5},langEnglishName:{fontFamily:T.interRegular,fontSize:11,color:t.grayText,marginTop:1},checkIconWrap:{width:22,height:22,borderRadius:11,backgroundColor:t.purple,alignItems:"center",justifyContent:"center"}});
172
+ </Ce>});const t=v.create({overlay:{flex:1,backgroundColor:"rgba(10, 15, 30, 0.60)",justifyContent:"flex-end"},backdrop:{...v.absoluteFillObject},bottomSheet:{width:"100%",height:Math.min(Math.max(Te.get("window").height*.74,520),620),borderTopLeftRadius:26,borderTopRightRadius:26,paddingTop:8,paddingBottom:O.OS==="ios"?28:16,shadowColor:e.black,shadowOpacity:.28,shadowRadius:20,shadowOffset:{width:0,height:-6},elevation:16},handleBarWrap:{alignItems:"center",paddingVertical:5},handleBar:{width:36,height:4,borderRadius:2},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:10,borderBottomWidth:v.hairlineWidth,borderBottomColor:e.grayBorderSecondary},headerTitleRow:{flexDirection:"row",alignItems:"center",gap:10},globeIconWrap:{width:34,height:34,borderRadius:10,alignItems:"center",justifyContent:"center",shadowColor:e.indigo600,shadowOffset:{width:0,height:2},shadowOpacity:.25,shadowRadius:4,elevation:3},titleRow:{flexDirection:"row",alignItems:"center",gap:6},titleText:{fontFamily:x.interBold,fontSize:15.5,color:e.primaryBlack,letterSpacing:-.2},countBadge:{backgroundColor:`${e.indigo600}18`,paddingHorizontal:6,paddingVertical:1,borderRadius:10},countBadgeText:{fontFamily:x.interBold,fontSize:10,color:e.indigo600},subTitleText:{fontFamily:x.interRegular,fontSize:11,color:e.grayText,marginTop:1},closeBtn:{width:30,height:30,borderRadius:15,backgroundColor:`${e.black}0D`,borderWidth:1,borderColor:`${e.black}1A`,alignItems:"center",justifyContent:"center"},searchContainer:{flexDirection:"row",alignItems:"center",marginHorizontal:14,marginTop:10,marginBottom:6,paddingHorizontal:10,height:40,borderRadius:12,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8},searchInput:{flex:1,height:"100%",fontSize:12.5,fontFamily:x.interMedium,color:e.primaryBlack,paddingVertical:0},searchClearBtn:{width:20,height:20,borderRadius:10,backgroundColor:`${e.grayText}22`,alignItems:"center",justifyContent:"center"},countryScrollWrap:{borderBottomWidth:v.hairlineWidth,borderBottomColor:e.grayBorderSecondary,paddingVertical:7},countryScrollContent:{paddingHorizontal:14,gap:6,flexDirection:"row",alignItems:"center"},countryChip:{flexDirection:"row",alignItems:"center",paddingHorizontal:10,paddingVertical:6,borderRadius:20,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary,gap:5},countryChipActive:{backgroundColor:`${e.brandPurple}14`,borderColor:`${e.brandPurple}55`},countryChipFlag:{fontSize:13},countryChipText:{fontFamily:x.interMedium,fontSize:11.5,color:e.primaryBlack},countryChipTextActive:{fontFamily:x.interBold,color:e.brandPurple},countryChipBadge:{paddingHorizontal:5.5,paddingVertical:1,borderRadius:8,backgroundColor:`${e.black}0A`},countryChipBadgeActive:{backgroundColor:`${e.brandPurple}22`},countryChipBadgeText:{fontFamily:x.interSemiBold,fontSize:9.5,color:e.grayText},countryChipBadgeTextActive:{color:e.brandPurple,fontFamily:x.interBold},scrollList:{flex:1},scrollContent:{paddingBottom:16},emptyStateWrap:{padding:36,alignItems:"center",justifyContent:"center"},emptyStateText:{fontFamily:x.interMedium,fontSize:13,color:e.grayText},langRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingVertical:11,borderBottomWidth:v.hairlineWidth,borderBottomColor:e.grayBorderSecondary,position:"relative"},langRowSelected:{backgroundColor:`${e.indigo600}0C`},activeAccentBar:{position:"absolute",left:0,top:4,bottom:4,width:3.5,borderTopRightRadius:3,borderBottomRightRadius:3,backgroundColor:e.indigo600},langRowLeft:{flexDirection:"row",alignItems:"center",gap:12,flex:1},flagContainer:{width:36,height:36,borderRadius:10,backgroundColor:e.grayBackground,alignItems:"center",justifyContent:"center",borderWidth:1,borderColor:e.grayBorderSecondary},flagContainerSelected:{borderColor:`${e.indigo600}44`,backgroundColor:`${e.indigo600}14`},langFlag:{fontSize:19},langTextCol:{flex:1},langTitleRow:{flexDirection:"row",alignItems:"center",gap:6},langNativeName:{fontFamily:x.interSemiBold,fontSize:14,color:e.primaryBlack},langNativeNameSelected:{fontFamily:x.interBold,color:e.indigo600},codePill:{backgroundColor:`${e.black}0A`,paddingHorizontal:5,paddingVertical:1,borderRadius:4},codePillSelected:{backgroundColor:`${e.indigo600}18`},codePillText:{fontSize:9.5,fontFamily:x.interBold,color:e.grayText,letterSpacing:.4},codePillTextSelected:{color:e.indigo600},langEnglishName:{fontFamily:x.interRegular,fontSize:11.5,color:e.grayText,marginTop:1.5},langEnglishNameSelected:{color:e.indigo600,fontFamily:x.interMedium},checkIconWrap:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center",shadowColor:e.indigo600,shadowOffset:{width:0,height:2},shadowOpacity:.35,shadowRadius:3,elevation:3},uncheckPlaceholder:{width:24,height:24}}),S=v.create({overlay:{flex:1,backgroundColor:"rgba(10, 15, 30, 0.72)",justifyContent:"center",alignItems:"center",paddingHorizontal:24,zIndex:999999,elevation:999},backdrop:{...v.absoluteFillObject},card:{width:"100%",maxWidth:340,backgroundColor:e.white,borderRadius:22,paddingTop:24,paddingBottom:18,paddingHorizontal:20,alignItems:"center",borderWidth:1,borderColor:`${e.white}CC`,...O.select({ios:{shadowColor:e.indigo600,shadowOffset:{width:0,height:12},shadowOpacity:.28,shadowRadius:24},android:{elevation:12}})},cornerCloseBtn:{position:"absolute",top:14,right:14,width:28,height:28,borderRadius:14,backgroundColor:e.graySurface,alignItems:"center",justifyContent:"center"},iconBadge:{width:58,height:58,borderRadius:29,borderWidth:1.5,borderColor:`${e.indigo600}33`,backgroundColor:`${e.indigo600}14`,alignItems:"center",justifyContent:"center",marginBottom:14},iconFlag:{fontSize:28},title:{fontFamily:x.interBold,fontSize:17,color:e.slate900,textAlign:"center",marginBottom:8,letterSpacing:-.2},message:{fontFamily:x.interRegular,fontSize:13,color:e.grayTextWeak,textAlign:"center",lineHeight:19,paddingHorizontal:4,marginBottom:16},switchPreview:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:10,marginBottom:20,paddingVertical:10,paddingHorizontal:16,borderRadius:12,backgroundColor:e.grayBackground,borderWidth:1,borderColor:e.grayBorderSecondary,width:"100%"},switchItem:{alignItems:"center",gap:3,flex:1},switchLabel:{fontFamily:x.interMedium,fontSize:10,color:e.grayText,textTransform:"uppercase",letterSpacing:.5},switchValue:{fontFamily:x.interSemiBold,fontSize:14,color:e.primaryBlack},switchArrow:{width:24,height:24,borderRadius:12,backgroundColor:`${e.indigo600}18`,alignItems:"center",justifyContent:"center"},switchArrowText:{fontFamily:x.interBold,fontSize:14,color:e.indigo600},buttonRow:{flexDirection:"row",alignItems:"center",gap:10,width:"100%"},cancelBtn:{flex:1,height:44,borderRadius:12,backgroundColor:e.graySurface,borderWidth:1,borderColor:e.grayBorderSecondary,alignItems:"center",justifyContent:"center"},cancelBtnText:{fontFamily:x.interSemiBold,fontSize:14,color:e.grayText},confirmBtn:{flex:1.15,height:44,borderRadius:12,overflow:"hidden",...O.select({ios:{shadowColor:e.indigo600,shadowOffset:{width:0,height:4},shadowOpacity:.35,shadowRadius:8},android:{elevation:4}})},confirmBtnGradient:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,borderRadius:12},confirmBtnText:{fontFamily:x.interBold,fontSize:13.5,color:e.white,letterSpacing:.2}});export default LanguageSelectorModal;
@@ -1,135 +1,142 @@
1
- import te,{useEffect as A,useRef as P}from"react";import{Animated as o,Modal as Se,Platform as G,Pressable as Be,StatusBar as Ce,StyleSheet as R,View as B}from"react-native";import{useInspector as Ve}from"./InspectorContext";import Ne from"../ErrorBoundary";import S from"../ModuleErrorBoundary";import Re from"./FabLauncher";import De from"./InspectorHeader";import Me from"./TabBar";import Ee from"./NetworkTab";import Te from"./NetworkDetail";import Ae from"./LogDetail";import Pe from"./ConsoleTab";import Le from"./AnalyticsTab";import Ie from"../AnalyticsDetail";import Oe from"./ReduxTab";import We from"./ReduxDetail";import Fe from"./CrashTab";import Ge from"./CrashDetail";import He from"./PushTab";import Ye from"./PushDetail";import Ue from"./SocketTab";import _e from"./SocketDetail";import $e from"./DeviceInfoTab";import Je from"./StorageTab";import Ke from"./DebuggingTab";import{MediaGalleryTab as Qe}from"./MediaGalleryTab";import Xe from"./SettingsPanel";import Ze from"./AboutModal";import{SupportPage as So}from"./SupportPage";import Bo from"./NpmUpdateToast";import Co from"./NpmStarPrompt";import Vo from"../Toast";import q from"../../styles";import{AppColors as C}from"../../styles/AppColors";import No from"./NavigationTracker";import{isLocalDebugEnvironment as Ro}from"../../helpers";const Do=()=>{const{visible:L,modalAnimationType:V,closeModal:N,modalHeightPercent:I,selected:H,selectedEvent:O,selectedLog:Y,selectedReduxSlice:_,selectedReduxAction:$,selectedCrash:z,selectedPush:W,setSelectedPush:j,selectedSocket:F,setSelectedSocket:J,settingsPage:D,isAboutOpen:M,setIsAboutOpen:K,isSupportOpen:v,setIsSupportOpen:Q,activeTab:e,isReady:X,enabled:Z,isDismissed:ee,hasNavigationContext:oe,setNavState:re}=Ve(),U=e==="apis"&&H!=null||e==="analytics"&&O!=null||e==="logs"&&Y!=null||e==="redux"&&(_!=null||$!=null)||e==="crash"&&z!=null||e==="push"&&W!=null||e==="socket"&&F!=null,E=P(new o.Value(0)).current;A(()=>{D!==null&&(E.setValue(0),o.spring(E,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[D!==null]);const T=P(new o.Value(0)).current;A(()=>{M&&(T.setValue(0),o.spring(T,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[M]);const x=P(new o.Value(0)).current;return A(()=>{v&&(x.setValue(0),o.spring(x,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[v]),<>
2
- {(G.OS==="ios"||G.OS==="android")&&Z&&!ee&&!L&&<Re/>}
3
- <Se visible={L}animationType={V}transparent statusBarTranslucent={!0}onRequestClose={N}>
4
- <Ne onClose={N}>
5
- <B style={q.modalBackdrop}>
6
- <Be style={q.modalBackdropPressable}onPress={N}/>
7
- <B style={[q.modalContentCard,{height:`${I}%`,borderTopLeftRadius:I>=100?0:20,borderTopRightRadius:I>=100?0:20,backgroundColor:"transparent"}]}>
1
+ import ne,{useEffect as A,useRef as P}from"react";import{Animated as o,Modal as Se,Platform as z,Pressable as Be,StatusBar as Ce,StyleSheet as v,View as B}from"react-native";import{useInspector as Ve}from"./InspectorContext";import Me from"../ErrorBoundary";import S from"../ModuleErrorBoundary";import Ne from"./FabLauncher";import Re from"./InspectorHeader";import{SecondaryTelemetryStrip as De}from"./SecondaryTelemetryStrip";import Te from"./TabBar";import Ee from"./NetworkTab";import Ae from"./NetworkDetail";import Pe from"./LogDetail";import Le from"./ConsoleTab";import Ie from"./AnalyticsTab";import Oe from"../AnalyticsDetail";import We from"./ReduxTab";import Fe from"./ReduxDetail";import Ge from"./CrashTab";import He from"./CrashDetail";import Ye from"./PushTab";import Ue from"./PushDetail";import _e from"./SocketTab";import $e from"./SocketDetail";import Je from"./DeviceInfoTab";import Ke from"./StorageTab";import Qe from"./DebuggingTab";import{MediaGalleryTab as Xe}from"./MediaGalleryTab";import Ze from"./SettingsPanel";import So from"./AboutModal";import{SupportPage as Bo}from"./SupportPage";import{ConfirmationModal as Co}from"./ConfirmationModal";import{FloatingCaptureWidget as Vo}from"./FloatingCaptureWidget";import Mo from"./NpmUpdateToast";import No from"./NpmStarPrompt";import Ro from"../Toast";import G from"../../styles";import{AppColors as k}from"../../styles/AppColors";import Do from"./NavigationTracker";import{isLocalDebugEnvironment as To}from"../../helpers";const xo=()=>{const{visible:L,modalAnimationType:C,closeModal:V,modalHeightPercent:I,selected:q,selectedEvent:O,selectedLog:H,selectedReduxSlice:_,selectedReduxAction:$,selectedCrash:Y,selectedPush:W,setSelectedPush:j,selectedSocket:F,setSelectedSocket:J,settingsPage:N,isAboutOpen:R,setIsAboutOpen:K,isSupportOpen:D,setIsSupportOpen:Q,activeTab:e,isReady:X,enabled:Z,isDismissed:ee,hasNavigationContext:oe,setNavState:re,confirmModal:M,setConfirmModal:te,peekMode:ae,peekOpacity:ie}=Ve(),U=e==="apis"&&q!=null||e==="analytics"&&O!=null||e==="logs"&&H!=null||e==="redux"&&(_!=null||$!=null)||e==="crash"&&Y!=null||e==="push"&&W!=null||e==="socket"&&F!=null,T=P(new o.Value(0)).current;A(()=>{N!==null&&(T.setValue(0),o.spring(T,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[N!==null]);const x=P(new o.Value(0)).current;A(()=>{R&&(x.setValue(0),o.spring(x,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[R]);const E=P(new o.Value(0)).current;return A(()=>{D&&(E.setValue(0),o.spring(E,{toValue:1,friction:8,tension:65,useNativeDriver:!1}).start())},[D]),<>
2
+ {(z.OS==="ios"||z.OS==="android")&&Z&&!ee&&!L&&<Ne/>}
3
+ <Se visible={L}animationType={C}transparent statusBarTranslucent={!0}onRequestClose={V}>
4
+ <Me onClose={V}>
5
+ <B style={[G.modalBackdrop,{zIndex:999999,elevation:999999}]}>
6
+ <Be style={G.modalBackdropPressable}onPress={V}/>
7
+ <B style={[G.modalContentCard,{height:`${I}%`,borderTopLeftRadius:I>=100?0:20,borderTopRightRadius:I>=100?0:20,backgroundColor:k.contentBg||k.grayBackground,opacity:ae?Math.max(ie||.75,.7):1,zIndex:9999999,elevation:999999}]}>
8
8
  <Ce translucent backgroundColor="transparent"barStyle="light-content"/>
9
9
 
10
+ <Re/>
10
11
  <De/>
11
12
 
12
- <B style={{flex:1,overflow:"hidden",backgroundColor:C.grayBackground}}>
13
+ <B style={{flex:1,overflow:"hidden",backgroundColor:k.grayBackground}}>
13
14
 
14
- <B style={{flex:1}}pointerEvents={U||D!==null||M||v?"none":"auto"}>
15
- <Me/>
15
+ <B style={{flex:1}}pointerEvents={U||N!==null||R||D?"none":"auto"}>
16
+ <Te/>
16
17
  {X?<B style={{flex:1}}>
17
18
  {e==="apis"&&<S moduleName="Network API Monitor">
18
19
  <Ee/>
19
20
  </S>}
20
21
  {e==="logs"&&<S moduleName="Console Logs Monitor">
21
- <Pe/>
22
+ <Le/>
22
23
  </S>}
23
24
  {e==="analytics"&&<S moduleName="Analytics Event Tracker">
24
- <Le/>
25
+ <Ie/>
25
26
  </S>}
26
27
  {e==="redux"&&<S moduleName="Redux State Inspector">
27
- <Oe/>
28
+ <We/>
28
29
  </S>}
29
30
  {e==="crash"&&<S moduleName="Crash Reporter">
30
- <Fe/>
31
+ <Ge/>
31
32
  </S>}
32
33
  {e==="push"&&<S moduleName="Push Notifications">
33
- <He/>
34
+ <Ye/>
34
35
  </S>}
35
36
  {e==="socket"&&<S moduleName="WebSocket & Socket.IO">
36
- <Ue/>
37
+ <_e/>
37
38
  </S>}
38
39
  {e==="device"&&<S moduleName="Device Diagnostics">
39
- <$e/>
40
+ <Je/>
40
41
  </S>}
41
42
  {e==="storage"&&<S moduleName="Storage Inspector">
42
- <Je/>
43
+ <Ke/>
43
44
  </S>}
44
45
  {e==="media"&&<S moduleName="Media Gallery">
45
- <Qe/>
46
+ <Xe/>
46
47
  </S>}
47
- {G.OS==="android"&&Ro()&&e==="debugging"&&<S moduleName="Debugging Utilities">
48
- <Ke/>
48
+ {z.OS==="android"&&To()&&e==="debugging"&&<S moduleName="Debugging Utilities">
49
+ <Qe/>
49
50
  </S>}
50
- </B>:<Mo/>}
51
+ </B>:<Eo/>}
51
52
  </B>
52
53
 
53
54
 
54
- {U&&<B style={[R.absoluteFill,{backgroundColor:C.contentBg,zIndex:10}]}>
55
- {e==="apis"&&H!=null&&<S moduleName="Network Request Details">
56
- <Te/>
55
+ {U&&<B style={[v.absoluteFill,{backgroundColor:k.contentBg,zIndex:10}]}>
56
+ {e==="apis"&&q!=null&&<S moduleName="Network Request Details">
57
+ <Ae/>
57
58
  </S>}
58
59
  {e==="analytics"&&O!=null&&<S moduleName="Analytics Event Details">
59
- <Ie event={O}/>
60
+ <Oe event={O}/>
60
61
  </S>}
61
- {e==="logs"&&Y!=null&&<S moduleName="Console Log Details">
62
- <Ae/>
62
+ {e==="logs"&&H!=null&&<S moduleName="Console Log Details">
63
+ <Pe/>
63
64
  </S>}
64
65
  {e==="redux"&&<S moduleName="Redux Action & State Details">
65
- <We/>
66
+ <Fe/>
66
67
  </S>}
67
- {e==="crash"&&z!=null&&<S moduleName="Crash Log Details">
68
- <Ge/>
68
+ {e==="crash"&&Y!=null&&<S moduleName="Crash Log Details">
69
+ <He/>
69
70
  </S>}
70
71
  {e==="push"&&W!=null&&<S moduleName="Push Notification Details">
71
- <Ye item={W}onClose={()=>j(null)}/>
72
+ <Ue item={W}onClose={()=>j(null)}/>
72
73
  </S>}
73
74
  {e==="socket"&&F!=null&&<S moduleName="WebSocket & Socket.IO Details">
74
- <_e item={F}onClose={()=>J(null)}/>
75
+ <$e item={F}onClose={()=>J(null)}/>
75
76
  </S>}
76
77
  </B>}
77
78
 
78
79
 
79
- {D!==null&&<o.View style={[R.absoluteFill,{backgroundColor:C.grayBackground,opacity:E,transform:[{translateY:E.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
80
+ {N!==null&&<o.View style={[v.absoluteFill,{backgroundColor:k.grayBackground,opacity:T,transform:[{translateY:T.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
80
81
  <S moduleName="Settings Panel">
81
- <Xe/>
82
+ <Ze/>
82
83
  </S>
83
84
  </o.View>}
84
85
 
85
86
 
86
- {M&&<o.View style={[R.absoluteFill,{backgroundColor:C.primaryLight,opacity:T,transform:[{translateY:T.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
87
+ {R&&<o.View style={[v.absoluteFill,{backgroundColor:k.primaryLight,opacity:x,transform:[{translateY:x.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
87
88
  <S moduleName="About & Diagnostics">
88
- <Ze onClose={()=>K(!1)}/>
89
+ <So onClose={()=>K(!1)}/>
89
90
  </S>
90
91
  </o.View>}
91
92
 
92
93
 
93
- {v&&<o.View style={[R.absoluteFill,{backgroundColor:C.primaryLight,opacity:x,transform:[{translateY:x.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
94
+ {D&&<o.View style={[v.absoluteFill,{backgroundColor:k.primaryLight,opacity:E,transform:[{translateY:E.interpolate({inputRange:[0,1],outputRange:[24,0]})}]}]}>
94
95
  <S moduleName="Support & Community">
95
- <So onClose={()=>Q(!1)}/>
96
+ <Bo onClose={()=>Q(!1)}/>
96
97
  </S>
97
98
  </o.View>}
98
99
  </B>
99
100
 
100
101
 
101
- <Vo/>
102
+ <Ro/>
103
+
104
+
105
+ <Mo/>
102
106
 
103
107
 
104
- <Bo/>
108
+ <No/>
109
+
110
+
111
+ <Vo/>
105
112
 
106
113
 
107
- <Co/>
114
+ <Co visible={M.visible}title={M.title}message={M.message}confirmText={M.confirmText}cancelText={M.cancelText}isDestructive={!0}icon="trash"onConfirm={M.onConfirm}onCancel={()=>te(le=>({...le,visible:!1}))}/>
108
115
  </B>
109
116
  </B>
110
- </Ne>
111
- {oe&&<No onStateChange={re}/>}
117
+ </Me>
118
+ {oe&&<Do onStateChange={re}/>}
112
119
  </Se>
113
- </>},Mo=te.memo(function(){const V=P(new o.Value(.35)).current;return A(()=>{const N=o.loop(o.sequence([o.timing(V,{toValue:.85,duration:750,useNativeDriver:!1}),o.timing(V,{toValue:.35,duration:750,useNativeDriver:!1})]));return N.start(),()=>N.stop()},[V]),<B style={r.container}>
120
+ </>},Eo=ne.memo(function(){const C=P(new o.Value(.35)).current;return A(()=>{const V=o.loop(o.sequence([o.timing(C,{toValue:.85,duration:750,useNativeDriver:!1}),o.timing(C,{toValue:.35,duration:750,useNativeDriver:!1})]));return V.start(),()=>V.stop()},[C]),<B style={r.container}>
114
121
 
115
122
  <B style={r.toolbarSkeleton}>
116
- <o.View style={[r.searchBarSkeleton,{opacity:V}]}/>
123
+ <o.View style={[r.searchBarSkeleton,{opacity:C}]}/>
117
124
  <B style={r.actionButtonsRow}>
118
- <o.View style={[r.iconButtonSkeleton,{opacity:V}]}/>
119
- <o.View style={[r.iconButtonSkeleton,{opacity:V}]}/>
125
+ <o.View style={[r.iconButtonSkeleton,{opacity:C}]}/>
126
+ <o.View style={[r.iconButtonSkeleton,{opacity:C}]}/>
120
127
  </B>
121
128
  </B>
122
129
 
123
130
 
124
131
  <B style={r.chipStripSkeleton}>
125
- <o.View style={[r.chipSkeleton,{width:48,opacity:V}]}/>
126
- <o.View style={[r.chipSkeleton,{width:68,opacity:V}]}/>
127
- <o.View style={[r.chipSkeleton,{width:76,opacity:V}]}/>
128
- <o.View style={[r.chipSkeleton,{width:58,opacity:V}]}/>
132
+ <o.View style={[r.chipSkeleton,{width:48,opacity:C}]}/>
133
+ <o.View style={[r.chipSkeleton,{width:68,opacity:C}]}/>
134
+ <o.View style={[r.chipSkeleton,{width:76,opacity:C}]}/>
135
+ <o.View style={[r.chipSkeleton,{width:58,opacity:C}]}/>
129
136
  </B>
130
137
 
131
138
 
132
- {[0,1,2,3].map(N=><o.View key={`skeleton_card_${N}`}style={[r.cardSkeleton,{opacity:V}]}>
139
+ {[0,1,2,3].map(V=><o.View key={`skeleton_card_${V}`}style={[r.cardSkeleton,{opacity:C}]}>
133
140
  <B style={r.cardTopRow}>
134
141
  <B style={r.badgeGroup}>
135
142
  <B style={r.statusBadgeSkeleton}/>
@@ -144,4 +151,4 @@ import te,{useEffect as A,useRef as P}from"react";import{Animated as o,Modal as
144
151
  <B style={r.metaPillSkeleton}/>
145
152
  </B>
146
153
  </o.View>)}
147
- </B>}),r=R.create({container:{flex:1,paddingHorizontal:12,paddingTop:8},toolbarSkeleton:{flexDirection:"row",alignItems:"center",gap:8,marginBottom:8},searchBarSkeleton:{flex:1,height:36,borderRadius:8,backgroundColor:C.graySurface,borderWidth:1,borderColor:C.dividerColor},actionButtonsRow:{flexDirection:"row",gap:6},iconButtonSkeleton:{width:36,height:36,borderRadius:8,backgroundColor:C.graySurface,borderWidth:1,borderColor:C.dividerColor},chipStripSkeleton:{flexDirection:"row",gap:6,marginBottom:10},chipSkeleton:{height:24,borderRadius:6,backgroundColor:C.graySurface,borderWidth:1,borderColor:C.dividerColor},cardSkeleton:{backgroundColor:C.primaryLight,borderRadius:10,padding:12,marginBottom:8,borderWidth:1,borderColor:C.dividerColor},cardTopRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},badgeGroup:{flexDirection:"row",alignItems:"center",gap:6},statusBadgeSkeleton:{width:38,height:18,borderRadius:4,backgroundColor:C.graySurface},methodBadgeSkeleton:{width:44,height:18,borderRadius:4,backgroundColor:C.graySurface},timeSkeleton:{width:48,height:12,borderRadius:4,backgroundColor:C.graySurface},urlLineLong:{height:13,borderRadius:4,backgroundColor:C.graySurface,marginBottom:5,width:"90%"},urlLineShort:{height:11,borderRadius:4,backgroundColor:C.graySurface,marginBottom:8,width:"55%"},cardBottomRow:{flexDirection:"row",gap:8,marginTop:2},metaPillSkeleton:{width:52,height:14,borderRadius:4,backgroundColor:C.graySurface}});export default Do;
154
+ </B>}),r=v.create({container:{flex:1,paddingHorizontal:12,paddingTop:8},toolbarSkeleton:{flexDirection:"row",alignItems:"center",gap:8,marginBottom:8},searchBarSkeleton:{flex:1,height:36,borderRadius:8,backgroundColor:k.graySurface,borderWidth:1,borderColor:k.dividerColor},actionButtonsRow:{flexDirection:"row",gap:6},iconButtonSkeleton:{width:36,height:36,borderRadius:8,backgroundColor:k.graySurface,borderWidth:1,borderColor:k.dividerColor},chipStripSkeleton:{flexDirection:"row",gap:6,marginBottom:10},chipSkeleton:{height:24,borderRadius:6,backgroundColor:k.graySurface,borderWidth:1,borderColor:k.dividerColor},cardSkeleton:{backgroundColor:k.primaryLight,borderRadius:10,padding:12,marginBottom:8,borderWidth:1,borderColor:k.dividerColor},cardTopRow:{flexDirection:"row",justifyContent:"space-between",alignItems:"center",marginBottom:8},badgeGroup:{flexDirection:"row",alignItems:"center",gap:6},statusBadgeSkeleton:{width:38,height:18,borderRadius:4,backgroundColor:k.graySurface},methodBadgeSkeleton:{width:44,height:18,borderRadius:4,backgroundColor:k.graySurface},timeSkeleton:{width:48,height:12,borderRadius:4,backgroundColor:k.graySurface},urlLineLong:{height:13,borderRadius:4,backgroundColor:k.graySurface,marginBottom:5,width:"90%"},urlLineShort:{height:11,borderRadius:4,backgroundColor:k.graySurface,marginBottom:8,width:"55%"},cardBottomRow:{flexDirection:"row",gap:8,marginTop:2},metaPillSkeleton:{width:52,height:14,borderRadius:4,backgroundColor:k.graySurface}});export default xo;