react-native-inapp-inspector 2.5.10 → 2.5.12

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 (134) hide show
  1. package/README.ar.md +0 -8
  2. package/README.de.md +0 -8
  3. package/README.es.md +0 -8
  4. package/README.fr.md +0 -8
  5. package/README.hi.md +0 -8
  6. package/README.ja.md +0 -8
  7. package/README.ko.md +0 -8
  8. package/README.md +54 -26
  9. package/README.pt-BR.md +0 -8
  10. package/README.ru.md +0 -8
  11. package/README.zh-CN.md +0 -8
  12. package/dist/commonjs/components/ConsoleLogCard.js +32 -26
  13. package/dist/commonjs/components/ErrorBoundary.js +1 -1
  14. package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
  15. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
  16. package/dist/commonjs/components/Inspector/InspectorHeader.js +73 -65
  17. package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
  18. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
  19. package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
  20. package/dist/commonjs/components/Inspector/NetworkTab.js +33 -31
  21. package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
  22. package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
  23. package/dist/commonjs/components/Inspector/SettingsPanel.js +346 -245
  24. package/dist/commonjs/components/Inspector/TabBar.js +17 -16
  25. package/dist/commonjs/components/LogCard.js +11 -8
  26. package/dist/commonjs/components/ModuleErrorBoundary.js +1 -1
  27. package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
  28. package/dist/commonjs/components/NetworkIcons.js +51 -6
  29. package/dist/commonjs/constants/index.d.ts +1 -0
  30. package/dist/commonjs/constants/index.js +1 -1
  31. package/dist/commonjs/constants/version.d.ts +1 -1
  32. package/dist/commonjs/constants/version.js +1 -1
  33. package/dist/commonjs/customHooks/crashHandler.d.ts +9 -1
  34. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  35. package/dist/commonjs/helpers/index.d.ts +3 -0
  36. package/dist/commonjs/helpers/index.js +8 -6
  37. package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
  38. package/dist/commonjs/helpers/performanceSampler.js +1 -0
  39. package/dist/commonjs/helpers/remoteConfig.d.ts +6 -0
  40. package/dist/commonjs/helpers/remoteConfig.js +1 -1
  41. package/dist/commonjs/helpers/telemetry.js +1 -1
  42. package/dist/commonjs/i18n/locales/ar.json +1 -1
  43. package/dist/commonjs/i18n/locales/bn.json +1 -1
  44. package/dist/commonjs/i18n/locales/de.json +1 -1
  45. package/dist/commonjs/i18n/locales/en.json +1 -1
  46. package/dist/commonjs/i18n/locales/es.json +1 -1
  47. package/dist/commonjs/i18n/locales/fr.json +1 -1
  48. package/dist/commonjs/i18n/locales/gu.json +1 -1
  49. package/dist/commonjs/i18n/locales/hi.json +1 -1
  50. package/dist/commonjs/i18n/locales/id.json +1 -1
  51. package/dist/commonjs/i18n/locales/it.json +1 -1
  52. package/dist/commonjs/i18n/locales/ja.json +1 -1
  53. package/dist/commonjs/i18n/locales/kn.json +1 -1
  54. package/dist/commonjs/i18n/locales/ko.json +1 -1
  55. package/dist/commonjs/i18n/locales/ml.json +1 -1
  56. package/dist/commonjs/i18n/locales/mr.json +1 -1
  57. package/dist/commonjs/i18n/locales/nl.json +1 -1
  58. package/dist/commonjs/i18n/locales/pa.json +1 -1
  59. package/dist/commonjs/i18n/locales/pl.json +1 -1
  60. package/dist/commonjs/i18n/locales/pt.json +1 -1
  61. package/dist/commonjs/i18n/locales/ru.json +1 -1
  62. package/dist/commonjs/i18n/locales/ta.json +1 -1
  63. package/dist/commonjs/i18n/locales/te.json +1 -1
  64. package/dist/commonjs/i18n/locales/tr.json +1 -1
  65. package/dist/commonjs/i18n/locales/vi.json +1 -1
  66. package/dist/commonjs/i18n/locales/zh.json +1 -1
  67. package/dist/commonjs/index.d.ts +4 -2
  68. package/dist/commonjs/index.js +3 -3
  69. package/dist/commonjs/styles/index.js +1 -1
  70. package/dist/commonjs/types/enums.d.ts +1 -0
  71. package/dist/commonjs/types/enums.js +1 -1
  72. package/dist/commonjs/types/interfaces.d.ts +28 -0
  73. package/dist/esm/components/ConsoleLogCard.js +67 -61
  74. package/dist/esm/components/ErrorBoundary.js +10 -10
  75. package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
  76. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +22 -22
  77. package/dist/esm/components/Inspector/InspectorHeader.js +194 -186
  78. package/dist/esm/components/Inspector/MainScreen.js +61 -58
  79. package/dist/esm/components/Inspector/MediaGalleryTab.js +254 -157
  80. package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
  81. package/dist/esm/components/Inspector/NetworkTab.js +39 -37
  82. package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
  83. package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
  84. package/dist/esm/components/Inspector/SettingsPanel.js +407 -306
  85. package/dist/esm/components/Inspector/TabBar.js +4 -3
  86. package/dist/esm/components/LogCard.js +37 -34
  87. package/dist/esm/components/ModuleErrorBoundary.js +1 -1
  88. package/dist/esm/components/NetworkIcons.d.ts +9 -0
  89. package/dist/esm/components/NetworkIcons.js +48 -3
  90. package/dist/esm/constants/index.d.ts +1 -0
  91. package/dist/esm/constants/index.js +1 -1
  92. package/dist/esm/constants/version.d.ts +1 -1
  93. package/dist/esm/constants/version.js +1 -1
  94. package/dist/esm/customHooks/crashHandler.d.ts +9 -1
  95. package/dist/esm/customHooks/crashHandler.js +6 -6
  96. package/dist/esm/helpers/index.d.ts +3 -0
  97. package/dist/esm/helpers/index.js +8 -6
  98. package/dist/esm/helpers/performanceSampler.d.ts +88 -0
  99. package/dist/esm/helpers/performanceSampler.js +1 -0
  100. package/dist/esm/helpers/remoteConfig.d.ts +6 -0
  101. package/dist/esm/helpers/remoteConfig.js +1 -1
  102. package/dist/esm/helpers/telemetry.js +1 -1
  103. package/dist/esm/i18n/locales/ar.json +1 -1
  104. package/dist/esm/i18n/locales/bn.json +1 -1
  105. package/dist/esm/i18n/locales/de.json +1 -1
  106. package/dist/esm/i18n/locales/en.json +1 -1
  107. package/dist/esm/i18n/locales/es.json +1 -1
  108. package/dist/esm/i18n/locales/fr.json +1 -1
  109. package/dist/esm/i18n/locales/gu.json +1 -1
  110. package/dist/esm/i18n/locales/hi.json +1 -1
  111. package/dist/esm/i18n/locales/id.json +1 -1
  112. package/dist/esm/i18n/locales/it.json +1 -1
  113. package/dist/esm/i18n/locales/ja.json +1 -1
  114. package/dist/esm/i18n/locales/kn.json +1 -1
  115. package/dist/esm/i18n/locales/ko.json +1 -1
  116. package/dist/esm/i18n/locales/ml.json +1 -1
  117. package/dist/esm/i18n/locales/mr.json +1 -1
  118. package/dist/esm/i18n/locales/nl.json +1 -1
  119. package/dist/esm/i18n/locales/pa.json +1 -1
  120. package/dist/esm/i18n/locales/pl.json +1 -1
  121. package/dist/esm/i18n/locales/pt.json +1 -1
  122. package/dist/esm/i18n/locales/ru.json +1 -1
  123. package/dist/esm/i18n/locales/ta.json +1 -1
  124. package/dist/esm/i18n/locales/te.json +1 -1
  125. package/dist/esm/i18n/locales/tr.json +1 -1
  126. package/dist/esm/i18n/locales/vi.json +1 -1
  127. package/dist/esm/i18n/locales/zh.json +1 -1
  128. package/dist/esm/index.d.ts +4 -2
  129. package/dist/esm/index.js +8 -8
  130. package/dist/esm/styles/index.js +1 -1
  131. package/dist/esm/types/enums.d.ts +1 -0
  132. package/dist/esm/types/enums.js +1 -1
  133. package/dist/esm/types/interfaces.d.ts +28 -0
  134. package/package.json +24 -1
@@ -1,330 +1,338 @@
1
- import B,{useMemo as Z}from"react";import{Alert as _e,Linking as qe,Platform as le,Pressable as Qe,StatusBar as Je,Text as C,TouchableOpacity as Se,useWindowDimensions as Ke,View as S}from"react-native";import Xe from"react-native-linear-gradient";import{useInspector as Ye}from"./InspectorContext";import G from"../TouchableScale";import{BrandCircleIcon as Ze}from"../BrandCircleIcon";import i from"../../styles";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as I}from"../../styles/AppFonts";import{METHOD_COLORS as et}from"../../constants";import{LIB_VERSION as ne}from"../../constants";import{getStatusColor as se,formatTime as tt,formatTimeShort as Te,getSize as Ce,formatByteSize as it,getAppVersionAndBuild as rt,showToast as v}from"../../helpers";import{triggerNativeHaptic as P}from"../../native/NativeInspector";import{ScreenCapture as E,generateCaptureId as de}from"../../capture";import{MediaPreviewModal as St}from"./MediaPreviewModal";import{LanguageSelectorModal as Tt}from"./LanguageSelectorModal";import Ct from"../CountryFlag";import{WhiteBackNavigation as Vt,SettingsIcon as Dt,CloseWhite as It,ChevronDownIcon as Ve,ClockIcon as _,SizeIcon as De,AppleIcon as Rt,AndroidIcon as Mt,NpmIcon as $t,ResetIcon as Bt,EyeIcon as Lt}from"../NetworkIcons";import{useTranslation as Ht,SUPPORTED_LANGUAGES as ke,getLanguage as Ot}from"../../i18n";const vt=B.memo(()=>{const{t:R,language:ce}=Ht(),{modalHeightPercent:ee,appIcon:Pt,selected:k,setSelected:Ie,selectedEvent:$,setSelectedEvent:Re,selectedLog:L,setSelectedLog:Me,selectedReduxSlice:F,setSelectedReduxSlice:$e,selectedReduxAction:q,setSelectedReduxAction:Be,reduxState:Le,reduxLastActionMap:He,clearAnim:At,runClearAllWithAnimation:Wt,settingsPage:A,setSettingsPage:te,isAboutOpen:ie,setIsAboutOpen:Oe,resetToDefaults:ve,closeModal:ue,minimizeInspector:Pe,detailTitle:Ae,activeTab:V,environment:ge,selectedCrash:M,setSelectedCrash:We,selectedPush:D,setSelectedPush:Ee,selectedSocket:z,setSelectedSocket:Fe,refreshMediaCount:U,peekMode:re,setPeekMode:Ue,previewMediaItem:he,setPreviewMediaItem:N}=Ye(),{width:Q}=Ke(),e=Q<360,j=Q<400,[Et,Ft]=B.useState(!1),[Ne,pe]=B.useState(!1),[je]=B.useState(()=>rt().formatted),me=Z(()=>{const T=ce||Ot();return ke.find(x=>x.code===T)||ke[0]},[ce]),[J,K]=B.useState(!1),[Ut,oe]=B.useState(0),W=B.useRef(null);B.useEffect(()=>{E.isRecording().then(T=>{K(T)}).catch(()=>{})},[]),B.useEffect(()=>(J?(oe(0),W.current=setInterval(()=>{oe(T=>T+1)},1e3)):(W.current&&(clearInterval(W.current),W.current=null),oe(0)),()=>{W.current&&clearInterval(W.current)}),[J]);const Nt=B.useCallback(async()=>{try{P("light");const T=await E.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(T){P("success");const x=de("screenshot",T.format||"png"),O={id:x,type:"image",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||x,sizeBytes:T.sizeBytes,timestamp:T.timestamp,width:T.width,height:T.height};N(O),U?.().catch(()=>{}),v(R("header.screenshotCaptured"))}else v(R("header.screenshotFailed"))}catch{v(R("header.screenshotError"))}},[U,R]),jt=B.useCallback(async()=>{try{if(J){P("medium");const T=await E.stopRecording();if(K(!1),T){P("success");const x=de("video",T.format),O={id:x,type:T.format==="gif"?"gif":"video",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||x,sizeBytes:T.sizeBytes,timestamp:T.timestamp,durationMs:T.durationMs,width:T.width,height:T.height,hasAudio:T.hasAudio};N(O),U?.().catch(()=>{}),v(R("header.recordingSaved",{duration:(T.durationMs/1e3).toFixed(1)}))}}else P("medium"),await E.startRecording({fps:24,audioSource:"none"})?(K(!0),v(R("header.recordingStarted"))):v(R("header.recordingStartFailed"))}catch{v(R("header.recordingError")),K(!1)}},[J,R]),Gt=T=>{const x=Math.floor(T/60),O=T%60;return`${x.toString().padStart(2,"0")}:${O.toString().padStart(2,"0")}`},_t=Z(()=>{const T=(ge||(__DEV__?"DEV":"PROD")).trim(),x=T.toUpperCase();return x==="DEV"||x.includes("DEV")||x==="LOCAL"?{label:T,bg:`${t.emerald500}40`,border:`${t.emerald400}8C`,text:t.mintGreenBorder}:x==="UAT"||x==="QA"||x==="TEST"?{label:T,bg:`${t.amber500}47`,border:`${t.amber400}99`,text:t.amberWarmBorder}:x==="PREPROD"||x==="STAGE"||x==="STAGING"?{label:T,bg:`${t.purple500}47`,border:`${t.purple400}99`,text:t.violetSoftBorder}:{label:T,bg:`${t.rose500}40`,border:`${t.roseBorder}8C`,text:t.errorBorder}},[ge]),X=V==="apis"&&k!=null||V==="analytics"&&$!=null||V==="logs"&&L!=null||V==="redux"&&(F!=null||q!=null)||V==="crash"&&M!=null||V==="push"&&D!=null||V==="socket"&&z!=null,Y=A!==null,ae=X||Y||ie,Ge=Z(()=>{switch(A){case"apis":return"APIs (Network)";case"logs":return"Console Logs";case"crash":return"Crash Protection";case"analytics":return"Analytics Logger";case"redux":return"Redux Inspector";case"media":return"Screencast (Media)";case"push":return"Push Notifications";default:return"Settings & Modules"}},[A]),fe=Z(()=>le.OS==="ios"?ee>=98?Q>=390?50:44:0:le.OS==="android"&&ee>=98?Je.currentHeight||24:0,[ee,Q]),H=e?25:j?26.5:27,qt=e?36:j?38:40;return<>
2
- <S style={[i.headerGradient,{minHeight:(e?44:48)+fe}]}>
1
+ import L,{useMemo as ee}from"react";import{Alert as qe,Linking as _e,Platform as ne,Pressable as Qe,StatusBar as Je,Text as T,TouchableOpacity as Te,useWindowDimensions as Ke,View as S}from"react-native";import Xe from"react-native-linear-gradient";import{useInspector as Ye}from"./InspectorContext";import E from"../TouchableScale";import{BrandCircleIcon as Ze}from"../BrandCircleIcon";import i from"../../styles";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as I}from"../../styles/AppFonts";import{METHOD_COLORS as et}from"../../constants";import{LIB_VERSION as se}from"../../constants";import{getStatusColor as de,formatTime as tt,formatTimeShort as Ce,getSize as ze,formatByteSize as it,getAppVersionAndBuild as rt,showToast as O}from"../../helpers";import{triggerNativeHaptic as H}from"../../native/NativeInspector";import{ScreenCapture as F,generateCaptureId as ce}from"../../capture";import{MediaPreviewModal as St}from"./MediaPreviewModal";import{LanguageSelectorModal as Tt}from"./LanguageSelectorModal";import Ct from"../CountryFlag";import{WhiteBackNavigation as Vt,SettingsIcon as Dt,CloseWhite as Rt,ChevronDownIcon as Ve,ClockIcon as _,SizeIcon as De,AppleIcon as It,AndroidIcon as Mt,NpmIcon as $t,ResetIcon as Bt,InfoCircleIcon as Lt,EyeIcon as Wt}from"../NetworkIcons";import{useTranslation as vt,SUPPORTED_LANGUAGES as Re,getLanguage as Ht}from"../../i18n";const Ot=L.memo(()=>{const{t:D,language:ue}=vt(),{modalHeightPercent:te,appIcon:Pt,selected:R,setSelected:Ie,selectedEvent:B,setSelectedEvent:Me,selectedLog:W,setSelectedLog:$e,selectedReduxSlice:U,setSelectedReduxSlice:Be,selectedReduxAction:Q,setSelectedReduxAction:Le,reduxState:We,reduxLastActionMap:ve,clearAnim:At,runClearAllWithAnimation:Et,settingsPage:P,setSettingsPage:ie,isAboutOpen:re,setIsAboutOpen:he,resetToDefaults:He,closeModal:ge,minimizeInspector:Oe,detailTitle:Pe,activeTab:V,environment:pe,selectedCrash:M,setSelectedCrash:Ae,selectedPush:k,setSelectedPush:Ee,selectedSocket:z,setSelectedSocket:Fe,refreshMediaCount:N,peekMode:oe,setPeekMode:Ue,previewMediaItem:me,setPreviewMediaItem:j}=Ye(),{width:J}=Ke(),e=J<360,G=J<400,[Ft,Ut]=L.useState(!1),[Ne,fe]=L.useState(!1),[je]=L.useState(()=>rt().formatted),be=ee(()=>{const w=ue||Ht();return Re.find(C=>C.code===w)||Re[0]},[ue]),[K,X]=L.useState(!1),[Nt,le]=L.useState(0),A=L.useRef(null);L.useEffect(()=>{F.isRecording().then(w=>{X(w)}).catch(()=>{})},[]),L.useEffect(()=>(K?(le(0),A.current=setInterval(()=>{le(w=>w+1)},1e3)):(A.current&&(clearInterval(A.current),A.current=null),le(0)),()=>{A.current&&clearInterval(A.current)}),[K]);const jt=L.useCallback(async()=>{try{H("light");const w=await F.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(w){H("success");const C=ce("screenshot",w.format||"png"),v={id:C,type:"image",format:w.format,uri:w.uri,filename:w.uri.split("/").pop()||C,sizeBytes:w.sizeBytes,timestamp:w.timestamp,width:w.width,height:w.height};j(v),N?.().catch(()=>{}),O(D("header.screenshotCaptured"))}else O(D("header.screenshotFailed"))}catch{O(D("header.screenshotError"))}},[N,D]),Gt=L.useCallback(async()=>{try{if(K){H("medium");const w=await F.stopRecording();if(X(!1),w){H("success");const C=ce("video",w.format),v={id:C,type:w.format==="gif"?"gif":"video",format:w.format,uri:w.uri,filename:w.uri.split("/").pop()||C,sizeBytes:w.sizeBytes,timestamp:w.timestamp,durationMs:w.durationMs,width:w.width,height:w.height,hasAudio:w.hasAudio};j(v),N?.().catch(()=>{}),O(D("header.recordingSaved",{duration:(w.durationMs/1e3).toFixed(1)}))}}else H("medium"),await F.startRecording({fps:24,audioSource:"none"})?(X(!0),O(D("header.recordingStarted"))):O(D("header.recordingStartFailed"))}catch{O(D("header.recordingError")),X(!1)}},[K,D]),qt=w=>{const C=Math.floor(w/60),v=w%60;return`${C.toString().padStart(2,"0")}:${v.toString().padStart(2,"0")}`},_t=ee(()=>{const w=(pe||(__DEV__?"DEV":"PROD")).trim(),C=w.toUpperCase();return C==="DEV"||C.includes("DEV")||C==="LOCAL"?{label:w,bg:`${t.emerald500}40`,border:`${t.emerald400}8C`,text:t.mintGreenBorder}:C==="UAT"||C==="QA"||C==="TEST"?{label:w,bg:`${t.amber500}47`,border:`${t.amber400}99`,text:t.amberWarmBorder}:C==="PREPROD"||C==="STAGE"||C==="STAGING"?{label:w,bg:`${t.purple500}47`,border:`${t.purple400}99`,text:t.violetSoftBorder}:{label:w,bg:`${t.rose500}40`,border:`${t.roseBorder}8C`,text:t.errorBorder}},[pe]),Y=V==="apis"&&R!=null||V==="analytics"&&B!=null||V==="logs"&&W!=null||V==="redux"&&(U!=null||Q!=null)||V==="crash"&&M!=null||V==="push"&&k!=null||V==="socket"&&z!=null,Z=P!==null,ae=Y||Z||re,Ge=ee(()=>{switch(P){case"apis":return"APIs (Network)";case"logs":return"Console Logs";case"crash":return"Crash Protection";case"analytics":return"Analytics Logger";case"redux":return"Redux Inspector";case"media":return"Screencast (Media)";case"push":return"Push Notifications";default:return"Settings & Modules"}},[P]),ye=ee(()=>ne.OS==="ios"?te>=98?J>=390?50:44:0:ne.OS==="android"&&te>=98?Je.currentHeight||24:0,[te,J]),$=e?24:G?25.5:26,Qt=e?36:G?38:40;return<>
2
+ <S style={[i.headerGradient,{minHeight:(e?44:48)+ye}]}>
3
3
 
4
4
  <Xe colors={[t.indigo600,t.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={{position:"absolute",top:0,left:0,right:0,bottom:0,borderTopLeftRadius:20,borderTopRightRadius:20}}pointerEvents="none"/>
5
- <S style={{paddingTop:fe,width:"100%"}}>
6
- <S style={[i.header,{width:"100%",justifyContent:"space-between",paddingHorizontal:e?10:12,paddingVertical:5.5,minHeight:e?44:48}]}>
7
- <S style={{flexDirection:"row",alignItems:"center",gap:e?7:8,flex:X?void 0:1,flexShrink:X?0:1,minWidth:0}}>
8
- {ae&&<G onPress={()=>{if(ie){Oe(!1);return}if(Y){te(A==="main"?null:"main");return}Ie(null),Re(null),Me(null),$e(null),Be(null),We(null),Ee(null),Fe(null)}}hitSlop={15}style={{width:e?32:36,height:e?32:36,borderRadius:e?16:18,alignItems:"center",justifyContent:"center",backgroundColor:`${t.white}2E`,borderWidth:1,borderColor:`${t.white}4D`}}>
9
- <S style={{position:"absolute",width:e?40:44,height:e?40:44,borderRadius:22,backgroundColor:`${t.white}1A`}}/>
5
+ <S style={{paddingTop:ye,width:"100%"}}>
6
+ <S style={[i.header,{width:"100%",justifyContent:"space-between",paddingHorizontal:e?8:10,paddingVertical:5,minHeight:e?44:48}]}>
7
+ <S style={{flexDirection:"row",alignItems:"center",gap:e?6:8,flex:Y?void 0:1,flexShrink:Y?0:1,minWidth:0}}>
8
+ {ae&&<E onPress={()=>{if(re){he(!1);return}if(Z){ie(P==="main"?null:"main");return}Ie(null),Me(null),$e(null),Be(null),Le(null),Ae(null),Ee(null),Fe(null)}}hitSlop={15}style={{width:e?30:34,height:e?30:34,borderRadius:e?15:17,alignItems:"center",justifyContent:"center",backgroundColor:`${t.white}2E`,borderWidth:1,borderColor:`${t.white}4D`,flexShrink:0}}>
9
+ <S style={{position:"absolute",width:e?38:42,height:e?38:42,borderRadius:21,backgroundColor:`${t.white}1A`}}/>
10
10
  <Vt/>
11
- </G>}
11
+ </E>}
12
12
 
13
- {ie?<S style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
13
+ {re?<S style={{gap:2.5,flex:1,minWidth:0,marginRight:6,justifyContent:"center"}}>
14
14
  <S style={{flexDirection:"row",alignItems:"center",gap:6}}>
15
- <C style={{fontFamily:I.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
15
+ <T style={{fontFamily:I.interBold,fontSize:e?14.5:16,lineHeight:e?18:20,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
16
16
  About & Specs
17
- </C>
17
+ </T>
18
18
  <S style={{backgroundColor:`${t.white}26`,paddingHorizontal:e?5:6,paddingVertical:2,borderRadius:8,borderWidth:1,borderColor:`${t.white}20`}}>
19
- <C style={{fontFamily:I.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
20
- v{ne}
21
- </C>
19
+ <T style={{fontFamily:I.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
20
+ v{se}
21
+ </T>
22
22
  </S>
23
23
  </S>
24
- <C style={{fontFamily:I.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${t.white}CC`,marginTop:1}}numberOfLines={1}>
24
+ <T style={{fontFamily:I.interRegular,fontSize:e?10:11,lineHeight:e?13.5:14.5,color:`${t.white}CC`,marginTop:.5}}numberOfLines={1}ellipsizeMode="tail">
25
25
  Package info, runtime specs & diagnostic payload
26
- </C>
27
- </S>:Y?<S style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
26
+ </T>
27
+ </S>:Z?<S style={{gap:2.5,flex:1,minWidth:0,marginRight:6,justifyContent:"center"}}>
28
28
  <S style={{flexDirection:"row",alignItems:"center",gap:6}}>
29
- <C style={{fontFamily:I.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
29
+ <T style={{fontFamily:I.interBold,fontSize:e?14.5:16,lineHeight:e?19:21,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
30
30
  {Ge}
31
- </C>
32
- {A==="main"&&<S style={{backgroundColor:`${t.white}26`,paddingHorizontal:e?5:6,paddingVertical:2,borderRadius:8,borderWidth:1,borderColor:`${t.white}20`}}>
33
- <C style={{fontFamily:I.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
34
- v{ne}
35
- </C>
31
+ </T>
32
+ {P==="main"&&<S style={{backgroundColor:`${t.white}26`,paddingHorizontal:e?5:6,paddingVertical:2,borderRadius:8,borderWidth:1,borderColor:`${t.white}20`}}>
33
+ <T style={{fontFamily:I.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
34
+ v{se}
35
+ </T>
36
36
  </S>}
37
37
  </S>
38
- <C style={{fontFamily:I.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${t.white}CC`,marginTop:1}}numberOfLines={1}>
39
- {A==="main"?"Manage modules and preferences":"Configure module parameters"}
40
- </C>
41
- </S>:ae?null:<S style={{flexDirection:"row",alignItems:"center",gap:e?8:10,flex:1,minWidth:0,marginRight:4}}>
42
- <Ze size={e?44:j?46:48}/>
38
+ <T style={{fontFamily:I.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${t.white}CC`,marginTop:2}}numberOfLines={1}ellipsizeMode="tail">
39
+ {P==="main"?"Manage modules and preferences":"Configure module parameters"}
40
+ </T>
41
+ </S>:ae?null:<S style={{flexDirection:"row",alignItems:"center",gap:e?7:8.5,flex:1,minWidth:0,marginRight:6}}>
42
+ <Ze size={e?38:G?40:42}/>
43
43
  <S style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
44
44
 
45
- <C style={[i.headerTitle,{fontFamily:I.interBold,fontWeight:"700",fontSize:e?13:j?13.5:14.5,lineHeight:e?17:j?18:19.5,color:t.white,letterSpacing:-.2,paddingBottom:0}]}numberOfLines={1}ellipsizeMode="tail">
45
+ <T style={[i.headerTitle,{fontFamily:I.interBold,fontWeight:"700",fontSize:e?12.5:G?13:14,lineHeight:e?17:G?18:19,color:t.white,letterSpacing:-.2,paddingBottom:0}]}numberOfLines={1}ellipsizeMode="tail">
46
46
  react-native-inapp-inspector
47
- </C>
47
+ </T>
48
48
 
49
49
 
50
- <S style={{flexDirection:"row",alignItems:"center",gap:4.5,minWidth:0,marginTop:1.5}}>
50
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,minWidth:0,marginTop:2,flexWrap:"nowrap",overflow:"hidden"}}>
51
51
 
52
- <G onPress={()=>{P("light"),pe(!0)}}hitSlop={6}accessible={!0}accessibilityRole="button"accessibilityLabel={R("settings.general.selectLanguage","Select Language")}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}24`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${t.white}38`,flexShrink:0}}>
53
- <Ct code={me?.code||"en"}size={9.5}borderRadius={2}/>
54
- <C style={{fontFamily:I.interBold,fontSize:8.5,lineHeight:11,color:t.white,letterSpacing:.2}}numberOfLines={1}>
55
- {me?.code?.toUpperCase()||"EN"}
56
- </C>
57
- <Ve size={6.5}color={`${t.white}CC`}/>
58
- </G>
52
+ <E onPress={()=>{H("light"),fe(!0)}}hitSlop={6}accessible={!0}accessibilityRole="button"accessibilityLabel={D("settings.general.selectLanguage","Select Language")}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}24`,borderRadius:5,paddingHorizontal:5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${t.white}38`,flexShrink:0}}>
53
+ <Ct code={be?.code||"en"}size={9}borderRadius={2}/>
54
+ <T style={{fontFamily:I.interBold,fontSize:8,lineHeight:10.5,color:t.white,letterSpacing:.2}}numberOfLines={1}>
55
+ {be?.code?.toUpperCase()||"EN"}
56
+ </T>
57
+ <Ve size={6}color={`${t.white}CC`}/>
58
+ </E>
59
59
 
60
60
 
61
- <S style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:1,minWidth:0}}>
62
- {le.OS==="ios"?<Rt color={`${t.white}E6`}size={9}/>:<Mt color={`${t.white}E6`}size={9}/>}
63
- <C style={{fontFamily:I.interMedium,fontSize:8.5,lineHeight:11,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}ellipsizeMode="tail">
61
+ <S style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:5,paddingHorizontal:5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:1,minWidth:0}}>
62
+ {ne.OS==="ios"?<It color={`${t.white}E6`}size={8.5}/>:<Mt color={`${t.white}E6`}size={8.5}/>}
63
+ <T style={{fontFamily:I.interMedium,fontSize:8,lineHeight:10.5,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}ellipsizeMode="tail">
64
64
  {je}
65
- </C>
65
+ </T>
66
66
  </S>
67
67
 
68
68
 
69
- <Qe onPress={()=>{qe.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:5,paddingHorizontal:6,paddingVertical:2,gap:3.5,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:0}}>
70
- <$t size={9}color={t.npmRedLight}/>
71
- <C style={{fontFamily:I.interMedium,fontSize:8.5,lineHeight:11,color:`${t.white}EB`,letterSpacing:.1}}>
72
- v{ne}
73
- </C>
69
+ <Qe onPress={()=>{_e.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:5,paddingHorizontal:5.5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:0}}>
70
+ <$t size={8.5}color={t.npmRedLight}/>
71
+ <T style={{fontFamily:I.interMedium,fontSize:8,lineHeight:10.5,color:`${t.white}EB`,letterSpacing:.1}}>
72
+ v{se}
73
+ </T>
74
74
  </Qe>
75
75
  </S>
76
76
  </S>
77
77
  </S>}
78
78
  </S>
79
79
 
80
- {X&&<S style={[i.headerCenter,{paddingHorizontal:e?2:6}]}>
81
- {V==="apis"&&k!=null?<S style={i.headerDetailCenter}>
80
+ {Y&&<S style={[i.headerCenter,{flex:1,minWidth:0,flexShrink:1,paddingHorizontal:e?3:6,overflow:"hidden"}]}>
81
+ {V==="apis"&&R!=null?<S style={i.headerDetailCenter}>
82
82
  <S style={i.headerDetailRow}>
83
- <S style={[i.headerMethodBadge,{backgroundColor:et[k.method]??t.grayText,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
84
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
85
- {k.method}
86
- </C>
83
+ <S style={[i.headerMethodBadge,{backgroundColor:et[R.method]??t.grayText,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
84
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
85
+ {R.method}
86
+ </T>
87
87
  </S>
88
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
89
- {Ae}
90
- </C>
88
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
89
+ {Pe}
90
+ </T>
91
91
  </S>
92
92
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
93
- <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${se(k.status)}26`,borderWidth:1,borderColor:`${se(k.status)}55`}}>
94
- <S style={[i.headerStatusDot,{backgroundColor:se(k.status),width:e?6:7,height:e?6:7}]}/>
95
- <C style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?10:11}]}>
96
- {k.status===0?"Failed":k.status??"Pending"}
97
- </C>
93
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${de(R.status)}26`,borderWidth:1,borderColor:`${de(R.status)}55`}}>
94
+ <S style={[i.headerStatusDot,{backgroundColor:de(R.status),width:e?6:7,height:e?6:7}]}/>
95
+ <T style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?10:11}]}>
96
+ {R.status===0?"Failed":R.status??"Pending"}
97
+ </T>
98
98
  </S>
99
99
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
100
100
  <_ color={t.white}size={e?10:11}/>
101
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
102
- {k.duration!=null?`${k.duration}ms`:"\u2014"}
103
- </C>
101
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
102
+ {R.duration!=null?`${R.duration}ms`:"\u2014"}
103
+ </T>
104
104
  </S>
105
- {k.response!=null&&<S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
105
+ {R.response!=null&&<S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
106
106
  <De color={t.white}size={e?10:11}/>
107
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
108
- {Ce(k.response)}
109
- </C>
107
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
108
+ {ze(R.response)}
109
+ </T>
110
110
  </S>}
111
111
  </S>
112
- </S>:V==="analytics"&&$!=null?<S style={i.headerDetailCenter}>
112
+ </S>:V==="analytics"&&B!=null?<S style={i.headerDetailCenter}>
113
113
  <S style={i.headerDetailRow}>
114
- <S style={[i.headerMethodBadge,{backgroundColor:$.source==="firebase"?`${t.firebaseOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
115
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
116
- {$.source==="firebase"?"FB":"MAN"}
117
- </C>
114
+ <S style={[i.headerMethodBadge,{backgroundColor:B.source==="firebase"?`${t.firebaseOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
115
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
116
+ {B.source==="firebase"?"FB":"MAN"}
117
+ </T>
118
118
  </S>
119
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
120
- #{$.id!=null?$.id+1:1}{" "}
121
- {$.name}
122
- </C>
119
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
120
+ #{B.id!=null?B.id+1:1}{" "}
121
+ {B.name}
122
+ </T>
123
123
  </S>
124
124
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
125
- <S style={[i.headerStatusDot,{backgroundColor:$.source==="firebase"?t.firebaseOrange:t.purple,width:e?6:7,height:e?6:7}]}/>
126
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
127
- {Object.keys($.params).length} param
128
- {Object.keys($.params).length!==1?"s":""}
125
+ <S style={[i.headerStatusDot,{backgroundColor:B.source==="firebase"?t.firebaseOrange:t.purple,width:e?6:7,height:e?6:7}]}/>
126
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
127
+ {Object.keys(B.params).length} param
128
+ {Object.keys(B.params).length!==1?"s":""}
129
129
  {" \xB7 "}
130
- {$.source}
131
- </C>
130
+ {B.source}
131
+ </T>
132
132
  </S>
133
- </S>:V==="logs"&&L!=null?<S style={i.headerDetailCenter}>
133
+ </S>:V==="logs"&&W!=null?<S style={i.headerDetailCenter}>
134
134
  <S style={i.headerDetailRow}>
135
- <S style={[i.headerMethodBadge,{backgroundColor:L.type==="error"?`${t.errorColor}4D`:L.type==="warn"?`${t.lightOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
136
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
137
- {L.type.toUpperCase()}
138
- </C>
135
+ <S style={[i.headerMethodBadge,{backgroundColor:W.type==="error"?`${t.errorColor}4D`:W.type==="warn"?`${t.lightOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
136
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
137
+ {W.type.toUpperCase()}
138
+ </T>
139
139
  </S>
140
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
141
- #{L.id!=null?L.id+1:1}{" "}
140
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
141
+ #{W.id!=null?W.id+1:1}{" "}
142
142
  console.
143
- {L.sourceMethod||L.type||"log"}
144
- </C>
143
+ {W.sourceMethod||W.type||"log"}
144
+ </T>
145
145
  </S>
146
146
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
147
147
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
148
148
  <_ color={t.white}size={e?10:11}/>
149
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
150
- {tt(L.timestamp)}
151
- </C>
149
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
150
+ {tt(W.timestamp)}
151
+ </T>
152
152
  </S>
153
153
  </S>
154
- </S>:V==="redux"&&F!=null?(()=>{const T=Le?.[F],x=T&&typeof T=="object"?Object.keys(T).length:typeof T<"u"?1:0,O=Ce(T),be=He[F];return<S style={i.headerDetailCenter}>
154
+ </S>:V==="redux"&&U!=null?(()=>{const w=We?.[U],C=w&&typeof w=="object"?Object.keys(w).length:typeof w<"u"?1:0,v=ze(w),Se=ve[U];return<S style={i.headerDetailCenter}>
155
155
  <S style={i.headerDetailRow}>
156
- <S style={[i.headerMethodBadge,{backgroundColor:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
157
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
156
+ <S style={[i.headerMethodBadge,{backgroundColor:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
157
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
158
158
  SLICE
159
- </C>
159
+ </T>
160
160
  </S>
161
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
162
- {F}
163
- </C>
161
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
162
+ {U}
163
+ </T>
164
164
  </S>
165
165
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
166
166
  <S style={[i.headerStatusDot,{backgroundColor:t.liveGreen,width:e?6:7,height:e?6:7}]}/>
167
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
167
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
168
168
  Live
169
- </C>
170
- <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
169
+ </T>
170
+ <T style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
171
171
  •
172
- </C>
173
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
174
- {x} keys
175
- </C>
176
- <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
172
+ </T>
173
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
174
+ {C} keys
175
+ </T>
176
+ <T style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
177
177
  •
178
- </C>
179
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
180
- {O}
181
- </C>
182
- {be?.timestamp&&<>
183
- <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
178
+ </T>
179
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
180
+ {v}
181
+ </T>
182
+ {Se?.timestamp&&<>
183
+ <T style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
184
184
  •
185
- </C>
185
+ </T>
186
186
  <S style={{flexDirection:"row",alignItems:"center",gap:3}}>
187
187
  <_ color={t.white}size={e?9:10}/>
188
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
189
- {be.timestamp}
190
- </C>
188
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
189
+ {Se.timestamp}
190
+ </T>
191
191
  </S>
192
192
  </>}
193
193
  </S>
194
- </S>})():V==="redux"&&q!=null?<S style={i.headerDetailCenter}>
194
+ </S>})():V==="redux"&&Q!=null?<S style={i.headerDetailCenter}>
195
195
  <S style={i.headerDetailRow}>
196
- <S style={[i.headerMethodBadge,{backgroundColor:`${t.brandPurple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
197
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
196
+ <S style={[i.headerMethodBadge,{backgroundColor:`${t.brandPurple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
197
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
198
198
  ACTION
199
- </C>
199
+ </T>
200
200
  </S>
201
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
202
- {q.type}
203
- </C>
201
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
202
+ {Q.type}
203
+ </T>
204
204
  </S>
205
205
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
206
206
  <S style={[i.headerStatusDot,{backgroundColor:t.purple,width:e?6:7,height:e?6:7}]}/>
207
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
208
- {q.timestamp||"Dispatched"}
209
- </C>
207
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
208
+ {Q.timestamp||"Dispatched"}
209
+ </T>
210
210
  </S>
211
211
  </S>:V==="crash"&&M!=null?<S style={i.headerDetailCenter}>
212
212
  <S style={i.headerDetailRow}>
213
- <S style={[i.headerMethodBadge,{backgroundColor:M.isFatal?t.red600:t.amber600,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
214
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
213
+ <S style={[i.headerMethodBadge,{backgroundColor:M.isFatal?t.red600:t.amber600,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
214
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
215
215
  {M.isFatal?"FATAL":M.type.toUpperCase()}
216
- </C>
216
+ </T>
217
217
  </S>
218
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
218
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
219
219
  {M.name||M.message}
220
- </C>
220
+ </T>
221
221
  </S>
222
222
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
223
223
  <S style={[i.headerStatusDot,{backgroundColor:M.isFatal?t.red600:t.amber500,width:e?6:7,height:e?6:7}]}/>
224
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
224
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
225
225
  {M.timeStr||new Date(M.timestamp).toLocaleTimeString()}
226
- </C>
226
+ </T>
227
227
  {M.deviceInfo?.platform&&<>
228
- <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
228
+ <T style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
229
229
  •
230
- </C>
231
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
230
+ </T>
231
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
232
232
  {M.deviceInfo.platform.toUpperCase()}
233
- </C>
233
+ </T>
234
234
  </>}
235
235
  </S>
236
- </S>:V==="push"&&D!=null?<S style={i.headerDetailCenter}>
236
+ </S>:V==="push"&&k!=null?<S style={i.headerDetailCenter}>
237
237
  <S style={i.headerDetailRow}>
238
- <S style={[i.headerMethodBadge,{backgroundColor:t.brandPurple,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
239
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
240
- {(D.source||"PUSH").toUpperCase()}
241
- </C>
238
+ <S style={[i.headerMethodBadge,{backgroundColor:t.brandPurple,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
239
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
240
+ {(k.source||"PUSH").toUpperCase()}
241
+ </T>
242
242
  </S>
243
- <C style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0}]}numberOfLines={1}ellipsizeMode="tail">
244
- {D.title||D.body||"Push Notification"}
245
- </C>
243
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="tail">
244
+ {k.title||k.body||"Push Notification"}
245
+ </T>
246
246
  </S>
247
247
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1,maxWidth:"100%"}}>
248
- <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2,borderRadius:20,backgroundColor:`${D.appState==="foreground"?t.greenColor:D.appState==="background"?t.amber500:t.brandPurple}26`,borderWidth:1,borderColor:`${D.appState==="foreground"?t.greenColor:D.appState==="background"?t.amber500:t.brandPurple}55`}}>
249
- <S style={[i.headerStatusDot,{backgroundColor:D.appState==="foreground"?t.greenColor:D.appState==="background"?t.amber500:t.brandPurple,width:e?6:7,height:e?6:7}]}/>
250
- <C style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?9.5:10.5}]}>
251
- {D.appState?D.appState.toUpperCase():"DELIVERED"}
252
- </C>
248
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2,borderRadius:20,backgroundColor:`${k.appState==="foreground"?t.greenColor:k.appState==="background"?t.amber500:t.brandPurple}26`,borderWidth:1,borderColor:`${k.appState==="foreground"?t.greenColor:k.appState==="background"?t.amber500:t.brandPurple}55`}}>
249
+ <S style={[i.headerStatusDot,{backgroundColor:k.appState==="foreground"?t.greenColor:k.appState==="background"?t.amber500:t.brandPurple,width:e?6:7,height:e?6:7}]}/>
250
+ <T style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?9.5:10.5}]}>
251
+ {k.appState?k.appState.toUpperCase():"DELIVERED"}
252
+ </T>
253
253
  </S>
254
254
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2,borderRadius:20,backgroundColor:`${t.white}29`}}>
255
255
  <_ color={t.white}size={e?9.5:10.5}/>
256
- <C style={[i.headerSubTitle,{fontSize:e?9.5:10.5}]}>
257
- {Te(D.timestamp)}
258
- </C>
256
+ <T style={[i.headerSubTitle,{fontSize:e?9.5:10.5}]}>
257
+ {Ce(k.timestamp)}
258
+ </T>
259
259
  </S>
260
260
  </S>
261
261
  </S>:V==="socket"&&z!=null?<S style={i.headerDetailCenter}>
262
262
  <S style={i.headerDetailRow}>
263
- <S style={[i.headerMethodBadge,{backgroundColor:z.client==="socket.io"||z.url.includes("/socket.io")?t.violet600:z.url.startsWith("wss://")?t.emerald600:t.blue600,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
264
- <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
263
+ <S style={[i.headerMethodBadge,{backgroundColor:z.client==="socket.io"||z.url.includes("/socket.io")?t.violet600:z.url.startsWith("wss://")?t.emerald600:t.blue600,paddingHorizontal:e?5:6,paddingVertical:e?2:3,flexShrink:0}]}>
264
+ <T style={[i.headerMethodText,{fontSize:e?9:10}]}>
265
265
  {z.client==="socket.io"||z.url.includes("/socket.io")?"SIO":z.url.startsWith("wss://")?"WSS":"WS"}
266
- </C>
266
+ </T>
267
267
  </S>
268
- <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
268
+ <T style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0,flexShrink:1}]}numberOfLines={1}ellipsizeMode="middle">
269
269
  {z.url}
270
- </C>
270
+ </T>
271
271
  </S>
272
272
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
273
273
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${z.status==="open"?t.greenColor:z.status==="connecting"?t.amber600:z.status==="error"?t.errorColor:t.slate500}26`,borderWidth:1,borderColor:`${z.status==="open"?t.greenColor:z.status==="connecting"?t.amber600:z.status==="error"?t.errorColor:t.slate500}55`}}>
274
274
  <S style={[i.headerStatusDot,{backgroundColor:z.status==="open"?t.greenColor:z.status==="connecting"?t.amber600:z.status==="error"?t.errorColor:t.slate500,width:e?6:7,height:e?6:7}]}/>
275
- <C style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?10:11}]}>
275
+ <T style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?10:11}]}>
276
276
  {(z.status||"open").toUpperCase()}
277
- </C>
277
+ </T>
278
278
  </S>
279
279
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
280
280
  <_ color={t.white}size={e?10:11}/>
281
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
282
- {z.duration!=null?`${z.duration}ms`:Te(z.startTime)}
283
- </C>
281
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
282
+ {z.duration!=null?`${z.duration}ms`:Ce(z.startTime)}
283
+ </T>
284
284
  </S>
285
285
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
286
286
  <De color={t.white}size={e?10:11}/>
287
- <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
287
+ <T style={[i.headerSubTitle,{fontSize:e?10:11}]}>
288
288
  {z.frames?.length||0} frames · {it((z.totalBytesSent||0)+(z.totalBytesReceived||0))}
289
- </C>
289
+ </T>
290
290
  </S>
291
291
  </S>
292
292
  </S>:null}
293
293
  </S>}
294
294
 
295
- <S style={[i.headerRight,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",flexShrink:0,gap:e?4:5}]}>
295
+ <S style={[i.headerRight,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",flexShrink:0,marginLeft:6,gap:e?3.5:4.5}]}>
296
296
 
297
- {Y?<G onPress={()=>{_e.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:ve}])}}hitSlop={15}style={[i.closeButtonSquare,{width:H,height:H,borderRadius:e?6:7,backgroundColor:"rgba(245, 158, 11, 0.26)",borderColor:"rgba(252, 211, 77, 0.45)",borderWidth:1}]}>
298
- <Bt color={t.white}size={e?12:14}/>
299
- </G>:ae?null:<>
297
+ {Z?<>
300
298
 
301
- <G accessible={!0}accessibilityRole="button"accessibilityLabel={re?"Disable peek-through":"Enable peek-through"}onPress={()=>{P("light"),Ue(T=>!T)}}hitSlop={15}style={[i.closeButtonSquare,{width:H,height:H,borderRadius:e?6:7,backgroundColor:re?"rgba(6, 182, 212, 0.38)":"rgba(6, 182, 212, 0.18)",borderColor:re?"rgba(103, 232, 249, 0.65)":"rgba(103, 232, 249, 0.35)",borderWidth:1}]}>
302
- <Lt color={t.white}size={e?12:14}/>
303
- </G>
299
+ <E accessible={!0}accessibilityRole="button"accessibilityLabel={D("about.heroTitle","About & Specs")}onPress={()=>{H("light"),he(!0)}}hitSlop={15}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:"rgba(255, 255, 255, 0.22)",borderColor:"rgba(255, 255, 255, 0.45)",borderWidth:1}]}>
300
+ <Lt color={t.white}size={e?13:15}/>
301
+ </E>
304
302
 
305
303
 
306
- <G accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>te("main")}hitSlop={15}style={[i.closeButtonSquare,{width:H,height:H,borderRadius:e?6:7,backgroundColor:"rgba(168, 85, 247, 0.28)",borderColor:"rgba(216, 180, 254, 0.45)",borderWidth:1}]}>
304
+ <E onPress={()=>{qe.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:He}])}}hitSlop={15}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:"rgba(245, 158, 11, 0.26)",borderColor:"rgba(252, 211, 77, 0.45)",borderWidth:1}]}>
305
+ <Bt color={t.white}size={e?12:14}/>
306
+ </E>
307
+ </>:ae?null:<>
308
+
309
+ <E accessible={!0}accessibilityRole="button"accessibilityLabel={oe?"Disable peek-through":"Enable peek-through"}onPress={()=>{H("light"),Ue(w=>!w)}}hitSlop={15}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:oe?"rgba(6, 182, 212, 0.38)":"rgba(6, 182, 212, 0.18)",borderColor:oe?"rgba(103, 232, 249, 0.65)":"rgba(103, 232, 249, 0.35)",borderWidth:1}]}>
310
+ <Wt color={t.white}size={e?12:14}/>
311
+ </E>
312
+
313
+
314
+ <E accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>ie("main")}hitSlop={15}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:"rgba(168, 85, 247, 0.28)",borderColor:"rgba(216, 180, 254, 0.45)",borderWidth:1}]}>
307
315
  <Dt color={t.white}size={e?12:14}/>
308
- </G>
316
+ </E>
309
317
  </>}
310
318
 
311
319
 
312
- <Se testID="inspector.header.minimizeBtn"onPress={Pe||ue}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={R("common.minimize","Minimize")}style={[i.closeButtonSquare,{width:H,height:H,borderRadius:e?6:7,backgroundColor:"rgba(56, 189, 248, 0.22)",borderColor:"rgba(125, 211, 252, 0.40)",borderWidth:1}]}>
320
+ <Te testID="inspector.header.minimizeBtn"onPress={Oe||ge}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={D("common.minimize","Minimize")}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:"rgba(56, 189, 248, 0.22)",borderColor:"rgba(125, 211, 252, 0.40)",borderWidth:1}]}>
313
321
  <Ve size={e?14:16}color={t.white}/>
314
- </Se>
322
+ </Te>
315
323
 
316
324
 
317
- <Se testID="inspector.header.closeBtn"onPress={ue}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={R("common.close","Close")}style={[i.closeButtonSquare,{width:H,height:H,borderRadius:e?6:7,backgroundColor:"rgba(244, 63, 94, 0.28)",borderColor:"rgba(251, 113, 133, 0.48)",borderWidth:1}]}>
318
- <It size={e?12:14}/>
319
- </Se>
325
+ <Te testID="inspector.header.closeBtn"onPress={ge}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={D("common.close","Close")}style={[i.closeButtonSquare,{width:$,height:$,borderRadius:e?6:7,backgroundColor:"rgba(244, 63, 94, 0.28)",borderColor:"rgba(251, 113, 133, 0.48)",borderWidth:1}]}>
326
+ <Rt size={e?12:14}/>
327
+ </Te>
320
328
  </S>
321
329
  </S>
322
330
  </S>
323
331
  </S>
324
332
 
325
333
 
326
- <Tt visible={Ne}onClose={()=>pe(!1)}/>
334
+ <Tt visible={Ne}onClose={()=>fe(!1)}/>
327
335
 
328
336
 
329
- <St item={he}visible={!!he}onClose={()=>N(null)}onDelete={async T=>{await E.deleteMedia(T.uri),U?.().catch(()=>{}),N(null)}}onConvertToGif={async T=>{const x=await E.convertToGif(T.uri,{fps:12,width:480});if(x){U?.().catch(()=>{});const O=de("anim","gif");N({id:O,type:"gif",format:"gif",uri:x.uri,filename:x.uri.split("/").pop()||O,sizeBytes:x.sizeBytes,timestamp:x.timestamp,durationMs:x.durationMs})}}}/>
330
- </>});export default vt;
337
+ <St item={me}visible={!!me}onClose={()=>j(null)}onDelete={async w=>{await F.deleteMedia(w.uri),N?.().catch(()=>{}),j(null)}}onConvertToGif={async w=>{const C=await F.convertToGif(w.uri,{fps:12,width:480});if(C){N?.().catch(()=>{});const v=ce("anim","gif");j({id:v,type:"gif",format:"gif",uri:C.uri,filename:C.uri.split("/").pop()||v,sizeBytes:C.sizeBytes,timestamp:C.timestamp,durationMs:C.durationMs})}}}/>
338
+ </>});export default Ot;