react-native-inapp-inspector 2.3.25 → 2.4.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (125) hide show
  1. package/README.md +26 -5
  2. package/dist/commonjs/components/AnalyticsDetail.js +9 -6
  3. package/dist/commonjs/components/AppHeaderLogo.js +4 -6
  4. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
  5. package/dist/commonjs/components/Inspector/AnalyticsTab.js +18 -22
  6. package/dist/commonjs/components/Inspector/ConsoleTab.js +13 -16
  7. package/dist/commonjs/components/Inspector/CrashDetail.js +7 -6
  8. package/dist/commonjs/components/Inspector/CrashTab.js +23 -23
  9. package/dist/commonjs/components/Inspector/DebuggingTab.js +6 -6
  10. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +77 -43
  11. package/dist/commonjs/components/Inspector/FabLauncher.js +8 -9
  12. package/dist/commonjs/components/Inspector/InspectorHeader.js +93 -70
  13. package/dist/commonjs/components/Inspector/LogDetail.js +10 -7
  14. package/dist/commonjs/components/Inspector/MainScreen.js +67 -29
  15. package/dist/commonjs/components/Inspector/NetworkDetail.js +29 -28
  16. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +1 -1
  17. package/dist/commonjs/components/Inspector/NetworkTab.js +87 -85
  18. package/dist/commonjs/components/Inspector/PushCard.d.ts +4 -0
  19. package/dist/commonjs/components/Inspector/PushCard.js +89 -0
  20. package/dist/commonjs/components/Inspector/PushDetail.d.ts +4 -0
  21. package/dist/commonjs/components/Inspector/PushDetail.js +190 -0
  22. package/dist/commonjs/components/Inspector/PushTab.d.ts +3 -0
  23. package/dist/commonjs/components/Inspector/PushTab.js +45 -0
  24. package/dist/commonjs/components/Inspector/ReduxDetail.js +16 -13
  25. package/dist/commonjs/components/Inspector/ReduxTab.js +18 -28
  26. package/dist/commonjs/components/Inspector/SettingsPanel.js +253 -105
  27. package/dist/commonjs/components/Inspector/StorageTab.js +40 -40
  28. package/dist/commonjs/components/Inspector/TabBar.js +9 -8
  29. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  30. package/dist/commonjs/components/JsonViewer.js +77 -90
  31. package/dist/commonjs/components/LogCard.js +9 -6
  32. package/dist/commonjs/components/ModuleErrorBoundary.d.ts +24 -0
  33. package/dist/commonjs/components/ModuleErrorBoundary.js +33 -0
  34. package/dist/commonjs/components/NetworkIcons.d.ts +3 -3
  35. package/dist/commonjs/components/NetworkIcons.js +10 -6
  36. package/dist/commonjs/components/SegmentedTabs.d.ts +4 -1
  37. package/dist/commonjs/components/SegmentedTabs.js +12 -8
  38. package/dist/commonjs/components/ShareButton.d.ts +11 -0
  39. package/dist/commonjs/components/ShareButton.js +6 -0
  40. package/dist/commonjs/constants/version.d.ts +1 -1
  41. package/dist/commonjs/constants/version.js +1 -1
  42. package/dist/commonjs/customHooks/crashHandler.js +4 -4
  43. package/dist/commonjs/customHooks/networkLogger.js +1 -1
  44. package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
  45. package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
  46. package/dist/commonjs/helpers/memoryManager.d.ts +2 -1
  47. package/dist/commonjs/helpers/memoryManager.js +1 -1
  48. package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
  49. package/dist/commonjs/helpers/settingsStore.js +1 -1
  50. package/dist/commonjs/helpers/shareFormatter.d.ts +13 -0
  51. package/dist/commonjs/helpers/shareFormatter.js +7 -0
  52. package/dist/commonjs/i18n/locales/en.json +1 -1
  53. package/dist/commonjs/index.d.ts +5 -2
  54. package/dist/commonjs/index.js +4 -4
  55. package/dist/commonjs/push.d.ts +4 -0
  56. package/dist/commonjs/push.js +1 -0
  57. package/dist/commonjs/types/enums.d.ts +30 -0
  58. package/dist/commonjs/types/enums.js +1 -1
  59. package/dist/commonjs/types/index.d.ts +10 -0
  60. package/dist/commonjs/types/interfaces.d.ts +63 -7
  61. package/dist/esm/components/AnalyticsDetail.js +28 -25
  62. package/dist/esm/components/AppHeaderLogo.js +5 -7
  63. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
  64. package/dist/esm/components/Inspector/AnalyticsTab.js +36 -40
  65. package/dist/esm/components/Inspector/ConsoleTab.js +52 -55
  66. package/dist/esm/components/Inspector/CrashDetail.js +11 -10
  67. package/dist/esm/components/Inspector/CrashTab.js +23 -23
  68. package/dist/esm/components/Inspector/DebuggingTab.js +10 -10
  69. package/dist/esm/components/Inspector/DeviceInfoTab.js +208 -174
  70. package/dist/esm/components/Inspector/FabLauncher.js +41 -42
  71. package/dist/esm/components/Inspector/InspectorHeader.js +138 -115
  72. package/dist/esm/components/Inspector/LogDetail.js +24 -21
  73. package/dist/esm/components/Inspector/MainScreen.js +100 -62
  74. package/dist/esm/components/Inspector/NetworkDetail.js +88 -87
  75. package/dist/esm/components/Inspector/NetworkFilterModal.js +8 -8
  76. package/dist/esm/components/Inspector/NetworkTab.js +136 -134
  77. package/dist/esm/components/Inspector/PushCard.d.ts +4 -0
  78. package/dist/esm/components/Inspector/PushCard.js +89 -0
  79. package/dist/esm/components/Inspector/PushDetail.d.ts +4 -0
  80. package/dist/esm/components/Inspector/PushDetail.js +190 -0
  81. package/dist/esm/components/Inspector/PushTab.d.ts +3 -0
  82. package/dist/esm/components/Inspector/PushTab.js +45 -0
  83. package/dist/esm/components/Inspector/ReduxDetail.js +40 -37
  84. package/dist/esm/components/Inspector/ReduxTab.js +109 -119
  85. package/dist/esm/components/Inspector/SettingsPanel.js +406 -258
  86. package/dist/esm/components/Inspector/StorageTab.js +174 -174
  87. package/dist/esm/components/Inspector/TabBar.js +28 -27
  88. package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
  89. package/dist/esm/components/JsonViewer.js +101 -114
  90. package/dist/esm/components/LogCard.js +25 -22
  91. package/dist/esm/components/ModuleErrorBoundary.d.ts +24 -0
  92. package/dist/esm/components/ModuleErrorBoundary.js +33 -0
  93. package/dist/esm/components/NetworkIcons.d.ts +3 -3
  94. package/dist/esm/components/NetworkIcons.js +7 -3
  95. package/dist/esm/components/SegmentedTabs.d.ts +4 -1
  96. package/dist/esm/components/SegmentedTabs.js +12 -8
  97. package/dist/esm/components/ShareButton.d.ts +11 -0
  98. package/dist/esm/components/ShareButton.js +6 -0
  99. package/dist/esm/constants/version.d.ts +1 -1
  100. package/dist/esm/constants/version.js +1 -1
  101. package/dist/esm/customHooks/crashHandler.js +6 -6
  102. package/dist/esm/customHooks/networkLogger.js +1 -1
  103. package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
  104. package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
  105. package/dist/esm/helpers/memoryManager.d.ts +2 -1
  106. package/dist/esm/helpers/memoryManager.js +1 -1
  107. package/dist/esm/helpers/settingsStore.d.ts +1 -0
  108. package/dist/esm/helpers/settingsStore.js +1 -1
  109. package/dist/esm/helpers/shareFormatter.d.ts +13 -0
  110. package/dist/esm/helpers/shareFormatter.js +7 -0
  111. package/dist/esm/i18n/locales/en.json +1 -1
  112. package/dist/esm/index.d.ts +5 -2
  113. package/dist/esm/index.js +7 -7
  114. package/dist/esm/push.d.ts +4 -0
  115. package/dist/esm/push.js +1 -0
  116. package/dist/esm/types/enums.d.ts +30 -0
  117. package/dist/esm/types/enums.js +1 -1
  118. package/dist/esm/types/index.d.ts +10 -0
  119. package/dist/esm/types/interfaces.d.ts +63 -7
  120. package/package.json +53 -10
  121. package/src/native/NativeInspector.ts +0 -1
  122. package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
  123. package/dist/commonjs/components/BrandSquareIcon.js +0 -112
  124. package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
  125. package/dist/esm/components/BrandSquareIcon.js +0 -112
@@ -1,162 +1,162 @@
1
- import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as rt,Platform as se,Pressable as $e,StatusBar as ot,Text as C,TouchableOpacity as Ae,useWindowDimensions as at,View as S}from"react-native";import St from"react-native-linear-gradient";import{useInspector as Tt}from"./InspectorContext";import O from"../TouchableScale";import Ct from"../AppHeaderLogo";import i from"../../styles";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as I}from"../../styles/AppFonts";import{METHOD_COLORS as Vt}from"../../constants";import{LIB_VERSION as de}from"../../constants";import{getStatusColor as ce,getAppName as Dt,formatTime as It,getSize as ve,getAppVersionAndBuild as Rt}from"../../helpers";import{triggerNativeHaptic as U}from"../../native/NativeInspector";import{ScreenCapture as F}from"../../capture";import{showToast as L}from"../../helpers/toast";import{UpdateAvailableModal as $t}from"./UpdateAvailableModal";import{MediaPreviewModal as At}from"./MediaPreviewModal";import{WhiteBackNavigation as Ht,TrashIcon as Mt,SettingsIcon as Bt,CloseWhite as Ot,ChevronDownIcon as Lt,ClockIcon as Se,SizeIcon as Pt,AppleIcon as Et,AndroidIcon as Ft,NpmIcon as Wt,ResetIcon as _t,BoltIcon as Nt,InfoCircleIcon as Ut,CameraIcon as Gt,VideoCameraIcon as Qt}from"../NetworkIcons";import{useTranslation as Jt}from"../../i18n";const Kt=v.memo(()=>{const{t:D}=Jt(),{modalHeightPercent:Z,appIcon:He,selected:R,setSelected:Me,selectedEvent:k,setSelectedEvent:Be,selectedLog:H,setSelectedLog:Oe,selectedReduxSlice:W,setSelectedReduxSlice:Le,selectedReduxAction:G,setSelectedReduxAction:Pe,reduxState:Ee,reduxLastActionMap:Fe,showHeaderInfo:Xt,setShowHeaderInfo:Yt,updateAvailable:ee,latestNpmVersion:We,clearAnim:Te,activePulseAnim:je,unreadPulseAnim:_e,runClearAllWithAnimation:Ne,settingsPage:P,setSettingsPage:te,isAboutOpen:ie,setIsAboutOpen:xe,resetToDefaults:Ue,closeModal:ze,minimizeInspector:Ge,detailTitle:qe,activeTab:A,environment:Ce,visible:Zt,selectedCrash:$,setSelectedCrash:Qe,refreshMediaCount:j}=Tt(),{width:_}=at(),e=_<360,q=_<400,ei=_>=600,[Je,re]=v.useState(!1),[Ke,ti]=v.useState(()=>Rt().formatted),[M,Q]=v.useState(!1),[Xe,oe]=v.useState(0),E=v.useRef(null);v.useEffect(()=>{F.isRecording().then(T=>{Q(T)}).catch(()=>{})},[]),v.useEffect(()=>(M?(oe(0),E.current=setInterval(()=>{oe(T=>T+1)},1e3)):(E.current&&(clearInterval(E.current),E.current=null),oe(0)),()=>{E.current&&clearInterval(E.current)}),[M]);const[Ve,N]=v.useState(null),Ye=v.useCallback(async()=>{try{U("light");const T=await F.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(T){U("success");const V={id:`screenshot_${T.timestamp}.png`,type:"image",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||`screenshot_${T.timestamp}.png`,sizeBytes:T.sizeBytes,timestamp:T.timestamp,width:T.width,height:T.height};N(V),j?.().catch(()=>{}),L(D("header.screenshotCaptured"))}else L(D("header.screenshotFailed"))}catch{L(D("header.screenshotError"))}},[j,D]),Ze=v.useCallback(async()=>{try{if(M){U("medium");const T=await F.stopRecording();if(Q(!1),T){U("success");const V={id:`video_${T.timestamp}.${T.format}`,type:T.format==="gif"?"gif":"video",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||`video_${T.timestamp}.${T.format}`,sizeBytes:T.sizeBytes,timestamp:T.timestamp,durationMs:T.durationMs,width:T.width,height:T.height,hasAudio:T.hasAudio};N(V),j?.().catch(()=>{}),L(D("header.recordingSaved",{duration:(T.durationMs/1e3).toFixed(1)}))}}else U("medium"),await F.startRecording({fps:24,audioSource:"none"})?(Q(!0),L(D("header.recordingStarted"))):L(D("header.recordingStartFailed"))}catch{L(D("header.recordingError")),Q(!1)}},[M,D]),et=T=>{const V=Math.floor(T/60),ae=T%60;return`${V.toString().padStart(2,"0")}:${ae.toString().padStart(2,"0")}`},J=le(()=>{const T=(Ce||(__DEV__?"DEV":"PROD")).trim(),V=T.toUpperCase();return V==="DEV"||V.includes("DEV")||V==="LOCAL"?{label:T,bg:`${t.emerald500}40`,border:`${t.emerald400}8C`,text:t.mintGreenBorder}:V==="UAT"||V==="QA"||V==="TEST"?{label:T,bg:`${t.amber500}47`,border:`${t.amber400}99`,text:t.amberWarmBorder}:V==="PREPROD"||V==="STAGE"||V==="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}},[Ce]),K=A==="apis"&&R!=null||A==="analytics"&&k!=null||A==="logs"&&H!=null||A==="redux"&&(W!=null||G!=null)||A==="crash"&&$!=null,X=P!==null,Y=K||X||ie,tt=le(()=>{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";default:return"Settings & Modules"}},[P]),De=le(()=>se.OS==="ios"?Z>=98?_>=390?50:44:0:se.OS==="android"&&Z>=98?ot.currentHeight||24:0,[Z,_]),B=e?28:q?30:32,it=e?42:q?46:50;return<>
2
- <S style={[i.headerGradient,{minHeight:(e?58:62)+De}]}>
1
+ import H,{useMemo as ne}from"react";import{Alert as we,Animated as se,Linking as Qe,Platform as de,Pressable as Se,StatusBar as Je,Text as C,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 P from"../TouchableScale";import Ze from"../AppHeaderLogo";import i from"../../styles";import{AppColors as t}from"../../styles/AppColors";import{AppFonts as D}from"../../styles/AppFonts";import{METHOD_COLORS as et}from"../../constants";import{LIB_VERSION as ce}from"../../constants";import{getStatusColor as ge,getAppName as tt,formatTime as it,formatTimeShort as rt,getSize as xe,getAppVersionAndBuild as ot}from"../../helpers";import{triggerNativeHaptic as j}from"../../native/NativeInspector";import{ScreenCapture as W}from"../../capture";import{showToast as O}from"../../helpers/toast";import{UpdateAvailableModal as St}from"./UpdateAvailableModal";import{MediaPreviewModal as Tt}from"./MediaPreviewModal";import{WhiteBackNavigation as Ct,TrashIcon as Vt,SettingsIcon as Dt,CloseWhite as Rt,ChevronDownIcon as It,ClockIcon as Z,SizeIcon as $t,AppleIcon as Mt,AndroidIcon as Ht,NpmIcon as At,ResetIcon as Bt,BoltIcon as Pt,InfoCircleIcon as Ot,CameraIcon as Lt,VideoCameraIcon as Et}from"../NetworkIcons";import{useTranslation as Wt}from"../../i18n";const Ft=H.memo(()=>{const{t:V}=Wt(),{modalHeightPercent:ee,appIcon:Ce,selected:I,setSelected:ze,selectedEvent:M,setSelectedEvent:Ve,selectedLog:A,setSelectedLog:De,selectedReduxSlice:F,setSelectedReduxSlice:Re,selectedReduxAction:_,setSelectedReduxAction:Ie,reduxState:ke,reduxLastActionMap:$e,updateAvailable:te,latestNpmVersion:Me,clearAnim:he,activePulseAnim:He,unreadPulseAnim:Ae,runClearAllWithAnimation:ve,settingsPage:L,setSettingsPage:ie,isAboutOpen:re,setIsAboutOpen:ue,resetToDefaults:Be,closeModal:pe,minimizeInspector:Pe,detailTitle:Oe,activeTab:k,environment:me,selectedCrash:$,setSelectedCrash:Le,selectedPush:R,setSelectedPush:Ee,refreshMediaCount:U}=Ye(),{width:G}=Ke(),e=G<360,q=G<400,[We,oe]=H.useState(!1),[Fe]=H.useState(()=>ot().formatted),[v,Q]=H.useState(!1),[Ue,ae]=H.useState(0),E=H.useRef(null);H.useEffect(()=>{W.isRecording().then(T=>{Q(T)}).catch(()=>{})},[]),H.useEffect(()=>(v?(ae(0),E.current=setInterval(()=>{ae(T=>T+1)},1e3)):(E.current&&(clearInterval(E.current),E.current=null),ae(0)),()=>{E.current&&clearInterval(E.current)}),[v]);const[fe,N]=H.useState(null),Ne=H.useCallback(async()=>{try{j("light");const T=await W.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(T){j("success");const z={id:`screenshot_${T.timestamp}.png`,type:"image",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||`screenshot_${T.timestamp}.png`,sizeBytes:T.sizeBytes,timestamp:T.timestamp,width:T.width,height:T.height};N(z),U?.().catch(()=>{}),O(V("header.screenshotCaptured"))}else O(V("header.screenshotFailed"))}catch{O(V("header.screenshotError"))}},[U,V]),je=H.useCallback(async()=>{try{if(v){j("medium");const T=await W.stopRecording();if(Q(!1),T){j("success");const z={id:`video_${T.timestamp}.${T.format}`,type:T.format==="gif"?"gif":"video",format:T.format,uri:T.uri,filename:T.uri.split("/").pop()||`video_${T.timestamp}.${T.format}`,sizeBytes:T.sizeBytes,timestamp:T.timestamp,durationMs:T.durationMs,width:T.width,height:T.height,hasAudio:T.hasAudio};N(z),U?.().catch(()=>{}),O(V("header.recordingSaved",{duration:(T.durationMs/1e3).toFixed(1)}))}}else j("medium"),await W.startRecording({fps:24,audioSource:"none"})?(Q(!0),O(V("header.recordingStarted"))):O(V("header.recordingStartFailed"))}catch{O(V("header.recordingError")),Q(!1)}},[v,V]),_e=T=>{const z=Math.floor(T/60),le=T%60;return`${z.toString().padStart(2,"0")}:${le.toString().padStart(2,"0")}`},J=ne(()=>{const T=(me||(__DEV__?"DEV":"PROD")).trim(),z=T.toUpperCase();return z==="DEV"||z.includes("DEV")||z==="LOCAL"?{label:T,bg:`${t.emerald500}40`,border:`${t.emerald400}8C`,text:t.mintGreenBorder}:z==="UAT"||z==="QA"||z==="TEST"?{label:T,bg:`${t.amber500}47`,border:`${t.amber400}99`,text:t.amberWarmBorder}:z==="PREPROD"||z==="STAGE"||z==="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}},[me]),K=k==="apis"&&I!=null||k==="analytics"&&M!=null||k==="logs"&&A!=null||k==="redux"&&(F!=null||_!=null)||k==="crash"&&$!=null||k==="push"&&R!=null,X=L!==null,Y=K||X||re,Ge=ne(()=>{switch(L){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"}},[L]),be=ne(()=>de.OS==="ios"?ee>=98?G>=390?50:44:0:de.OS==="android"&&ee>=98?Je.currentHeight||24:0,[ee,G]),B=e?28:q?30:32,qe=e?48:q?52:56;return<>
2
+ <S style={[i.headerGradient,{minHeight:(e?62:66)+be}]}>
3
3
 
4
- <St 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:De,width:"100%"}}>
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:be,width:"100%"}}>
6
6
  <S style={[i.header,{width:"100%",justifyContent:"space-between",paddingHorizontal:e?12:16,paddingVertical:e?8:10,minHeight:e?52:56}]}>
7
7
  <S style={{flexDirection:"row",alignItems:"center",gap:e?8:10,flex:K?void 0:1,flexShrink:K?0:1,minWidth:0}}>
8
- {Y&&<O onPress={()=>{if(ie){xe(!1);return}if(X){te(P==="main"?null:"main");return}Me(null),Be(null),Oe(null),Le(null),Pe(null),Qe(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`}}>
8
+ {Y&&<P onPress={()=>{if(re){ue(!1);return}if(X){ie(L==="main"?null:"main");return}ze(null),Ve(null),De(null),Re(null),Ie(null),Le(null),Ee(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
9
  <S style={{position:"absolute",width:e?40:44,height:e?40:44,borderRadius:22,backgroundColor:`${t.white}1A`}}/>
10
- <Ht/>
11
- </O>}
10
+ <Ct/>
11
+ </P>}
12
12
 
13
- {ie?<S style={{gap:3,flex:1,minWidth:0,justifyContent:"center"}}>
13
+ {re?<S style={{gap:3,flex:1,minWidth:0,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
+ <C style={{fontFamily:D.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
16
16
  About & Specs
17
17
  </C>
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{de}
19
+ <C style={{fontFamily:D.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
20
+ v{ce}
21
21
  </C>
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
+ <C style={{fontFamily:D.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${t.white}CC`,marginTop:1}}numberOfLines={1}>
25
25
  Package info, runtime specs & diagnostic payload
26
26
  </C>
27
27
  </S>:X?<S style={{gap:3,flex:1,minWidth:0,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}>
30
- {tt}
29
+ <C style={{fontFamily:D.interBold,fontSize:e?15:16.5,lineHeight:e?19:21,color:t.white,letterSpacing:-.2}}numberOfLines={1}>
30
+ {Ge}
31
31
  </C>
32
- {P==="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{de}
32
+ {L==="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:D.interBold,fontSize:e?8.5:9.5,lineHeight:12,color:t.white}}>
34
+ v{ce}
35
35
  </C>
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
- {P==="main"?"Manage modules and preferences":"Configure module parameters"}
38
+ <C style={{fontFamily:D.interRegular,fontSize:e?10:11,lineHeight:e?14:15,color:`${t.white}CC`,marginTop:1}}numberOfLines={1}>
39
+ {L==="main"?"Manage modules and preferences":"Configure module parameters"}
40
40
  </C>
41
41
  </S>:Y?null:<S style={{flexDirection:"row",alignItems:"center",gap:e?10:12,flex:1,minWidth:0,marginRight:4}}>
42
- <Ct size={it}customIcon={He}/>
42
+ <Ze size={qe}customIcon={Ce}/>
43
43
  <S style={{gap:4,flex:1,minWidth:0,justifyContent:"center"}}>
44
44
  <S style={{flexDirection:"row",alignItems:"center",gap:e?6:7,minWidth:0}}>
45
45
  <C style={[i.headerTitle,{fontSize:e?15:q?16:17,lineHeight:e?20:q?22:23,flexShrink:1,paddingBottom:0}]}numberOfLines={1}ellipsizeMode="tail">
46
- {Dt()}
46
+ {tt()}
47
47
  </C>
48
48
  <S style={[i.envBadge,{backgroundColor:J.bg,borderColor:J.border,flexShrink:0,paddingHorizontal:e?6:7,paddingVertical:2.5,borderRadius:6,marginBottom:0}]}>
49
49
  <C style={[i.envBadgeText,{color:J.text,fontSize:e?9:10,lineHeight:13}]}>
50
50
  {J.label}
51
51
  </C>
52
52
  </S>
53
- {ee&&<$e hitSlop={10}onPress={()=>re(!0)}style={{flexDirection:"row",alignItems:"center",backgroundColor:t.warningAmber,borderRadius:6,paddingHorizontal:e?5:6.5,paddingVertical:2.5,gap:3.5,shadowColor:t.warningAmber,shadowOffset:{width:0,height:1.5},shadowOpacity:.35,shadowRadius:3,elevation:3,flexShrink:0}}>
54
- <ne.View style={{width:5,height:5,borderRadius:2.5,backgroundColor:t.white,opacity:je,transform:[{scale:_e}]}}/>
55
- {!e&&<C style={{fontFamily:I.interBold,fontSize:8.5,lineHeight:11,color:t.white,letterSpacing:.3}}>
53
+ {te&&<Se hitSlop={10}onPress={()=>oe(!0)}style={{flexDirection:"row",alignItems:"center",backgroundColor:t.warningAmber,borderRadius:6,paddingHorizontal:e?5:6.5,paddingVertical:2.5,gap:3.5,shadowColor:t.warningAmber,shadowOffset:{width:0,height:1.5},shadowOpacity:.35,shadowRadius:3,elevation:3,flexShrink:0}}>
54
+ <se.View style={{width:5,height:5,borderRadius:2.5,backgroundColor:t.white,opacity:He,transform:[{scale:Ae}]}}/>
55
+ {!e&&<C style={{fontFamily:D.interBold,fontSize:8.5,lineHeight:11,color:t.white,letterSpacing:.3}}>
56
56
  UPDATE
57
57
  </C>}
58
- <Nt size={e?8:9}color={t.white}/>
59
- </$e>}
58
+ <Pt size={e?8:9}color={t.white}/>
59
+ </Se>}
60
60
  </S>
61
61
 
62
62
 
63
63
  <S style={{flexDirection:"row",alignItems:"center",gap:e?5:6,minWidth:0,marginTop:2}}>
64
64
  <S style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:6,paddingHorizontal:e?6:7,paddingVertical:3,gap:4,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:1,minWidth:0}}>
65
- {se.OS==="ios"?<Et color={`${t.white}E6`}size={e?9.5:10.5}/>:<Ft color={`${t.white}E6`}size={e?9.5:10.5}/>}
66
- <C style={{fontFamily:I.interMedium,fontSize:e?9:10,lineHeight:13,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}ellipsizeMode="tail">
67
- {Ke}
65
+ {de.OS==="ios"?<Mt color={`${t.white}E6`}size={e?9.5:10.5}/>:<Ht color={`${t.white}E6`}size={e?9.5:10.5}/>}
66
+ <C style={{fontFamily:D.interMedium,fontSize:e?9:10,lineHeight:13,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}ellipsizeMode="tail">
67
+ {Fe}
68
68
  </C>
69
69
  </S>
70
70
 
71
- <$e onPress={()=>{ee?re(!0):rt.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:6,paddingHorizontal:e?6:7,paddingVertical:3,gap:4,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:0}}>
72
- <Wt size={e?9.5:10.5}color={t.npmRedLight}/>
73
- <C style={{fontFamily:I.interMedium,fontSize:e?9:10,lineHeight:13,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}>
74
- v{de}
71
+ <Se onPress={()=>{te?oe(!0):Qe.openURL("https://www.npmjs.com/package/react-native-inapp-inspector").catch(()=>{})}}style={{flexDirection:"row",alignItems:"center",backgroundColor:`${t.white}1F`,borderRadius:6,paddingHorizontal:e?6:7,paddingVertical:3,gap:4,borderWidth:1,borderColor:`${t.white}2E`,flexShrink:0}}>
72
+ <At size={e?9.5:10.5}color={t.npmRedLight}/>
73
+ <C style={{fontFamily:D.interMedium,fontSize:e?9:10,lineHeight:13,color:`${t.white}EB`,letterSpacing:.1}}numberOfLines={1}>
74
+ v{ce}
75
75
  </C>
76
- {ee&&<C style={{fontFamily:I.interBold,fontSize:8.5,color:t.warningAmber}}>
76
+ {te&&<C style={{fontFamily:D.interBold,fontSize:8.5,color:t.warningAmber}}>
77
77
  ●
78
78
  </C>}
79
- </$e>
79
+ </Se>
80
80
  </S>
81
81
  </S>
82
82
  </S>}
83
83
  </S>
84
84
 
85
85
  {K&&<S style={[i.headerCenter,{paddingHorizontal:e?2:6}]}>
86
- {A==="apis"&&R!=null?<S style={i.headerDetailCenter}>
86
+ {k==="apis"&&I!=null?<S style={i.headerDetailCenter}>
87
87
  <S style={i.headerDetailRow}>
88
- <S style={[i.headerMethodBadge,{backgroundColor:Vt[R.method]??t.grayText,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
88
+ <S style={[i.headerMethodBadge,{backgroundColor:et[I.method]??t.grayText,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
89
89
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
90
- {R.method}
90
+ {I.method}
91
91
  </C>
92
92
  </S>
93
93
  <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
94
- {qe}
94
+ {Oe}
95
95
  </C>
96
96
  </S>
97
97
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
98
- <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${ce(R.status)}26`,borderWidth:1,borderColor:`${ce(R.status)}55`}}>
99
- <S style={[i.headerStatusDot,{backgroundColor:ce(R.status),width:e?6:7,height:e?6:7}]}/>
100
- <C style={[i.headerSubTitle,{fontFamily:I.interBold,fontSize:e?10:11}]}>
101
- {R.status===0?"Failed":R.status??"Pending"}
98
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${ge(I.status)}26`,borderWidth:1,borderColor:`${ge(I.status)}55`}}>
99
+ <S style={[i.headerStatusDot,{backgroundColor:ge(I.status),width:e?6:7,height:e?6:7}]}/>
100
+ <C style={[i.headerSubTitle,{fontFamily:D.interBold,fontSize:e?10:11}]}>
101
+ {I.status===0?"Failed":I.status??"Pending"}
102
102
  </C>
103
103
  </S>
104
104
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
105
- <Se color={t.white}size={e?10:11}/>
105
+ <Z color={t.white}size={e?10:11}/>
106
106
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
107
- {R.duration!=null?`${R.duration}ms`:"\u2014"}
107
+ {I.duration!=null?`${I.duration}ms`:"\u2014"}
108
108
  </C>
109
109
  </S>
110
- {R.response!=null&&<S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
111
- <Pt color={t.white}size={e?10:11}/>
110
+ {I.response!=null&&<S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
111
+ <$t color={t.white}size={e?10:11}/>
112
112
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
113
- {ve(R.response)}
113
+ {xe(I.response)}
114
114
  </C>
115
115
  </S>}
116
116
  </S>
117
- </S>:A==="analytics"&&k!=null?<S style={i.headerDetailCenter}>
117
+ </S>:k==="analytics"&&M!=null?<S style={i.headerDetailCenter}>
118
118
  <S style={i.headerDetailRow}>
119
- <S style={[i.headerMethodBadge,{backgroundColor:k.source==="firebase"?`${t.firebaseOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
119
+ <S style={[i.headerMethodBadge,{backgroundColor:M.source==="firebase"?`${t.firebaseOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
120
120
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
121
- {k.source==="firebase"?"FB":"MAN"}
121
+ {M.source==="firebase"?"FB":"MAN"}
122
122
  </C>
123
123
  </S>
124
124
  <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
125
- #{k.id!=null?k.id+1:1}{" "}
126
- {k.name}
125
+ #{M.id!=null?M.id+1:1}{" "}
126
+ {M.name}
127
127
  </C>
128
128
  </S>
129
129
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
130
- <S style={[i.headerStatusDot,{backgroundColor:k.source==="firebase"?t.firebaseOrange:t.purple,width:e?6:7,height:e?6:7}]}/>
130
+ <S style={[i.headerStatusDot,{backgroundColor:M.source==="firebase"?t.firebaseOrange:t.purple,width:e?6:7,height:e?6:7}]}/>
131
131
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
132
- {Object.keys(k.params).length} param
133
- {Object.keys(k.params).length!==1?"s":""}
132
+ {Object.keys(M.params).length} param
133
+ {Object.keys(M.params).length!==1?"s":""}
134
134
  {" \xB7 "}
135
- {k.source}
135
+ {M.source}
136
136
  </C>
137
137
  </S>
138
- </S>:A==="logs"&&H!=null?<S style={i.headerDetailCenter}>
138
+ </S>:k==="logs"&&A!=null?<S style={i.headerDetailCenter}>
139
139
  <S style={i.headerDetailRow}>
140
- <S style={[i.headerMethodBadge,{backgroundColor:H.type==="error"?`${t.errorColor}4D`:H.type==="warn"?`${t.lightOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
140
+ <S style={[i.headerMethodBadge,{backgroundColor:A.type==="error"?`${t.errorColor}4D`:A.type==="warn"?`${t.lightOrange}4D`:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
141
141
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
142
- {H.type.toUpperCase()}
142
+ {A.type.toUpperCase()}
143
143
  </C>
144
144
  </S>
145
145
  <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
146
- #{H.id!=null?H.id+1:1}{" "}
146
+ #{A.id!=null?A.id+1:1}{" "}
147
147
  console.
148
- {H.sourceMethod||H.type||"log"}
148
+ {A.sourceMethod||A.type||"log"}
149
149
  </C>
150
150
  </S>
151
151
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
152
152
  <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2.5,borderRadius:20,backgroundColor:`${t.white}29`}}>
153
- <Se color={t.white}size={e?10:11}/>
153
+ <Z color={t.white}size={e?10:11}/>
154
154
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
155
- {It(H.timestamp)}
155
+ {it(A.timestamp)}
156
156
  </C>
157
157
  </S>
158
158
  </S>
159
- </S>:A==="redux"&&W!=null?(()=>{const T=Ee?.[W],V=T&&typeof T=="object"?Object.keys(T).length:typeof T<"u"?1:0,ae=ve(T),Ie=Fe[W];return<S style={i.headerDetailCenter}>
159
+ </S>:k==="redux"&&F!=null?(()=>{const T=ke?.[F],z=T&&typeof T=="object"?Object.keys(T).length:typeof T<"u"?1:0,le=xe(T),ye=$e[F];return<S style={i.headerDetailCenter}>
160
160
  <S style={i.headerDetailRow}>
161
161
  <S style={[i.headerMethodBadge,{backgroundColor:`${t.purple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
162
162
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
@@ -164,7 +164,7 @@ import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as
164
164
  </C>
165
165
  </S>
166
166
  <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
167
- {W}
167
+ {F}
168
168
  </C>
169
169
  </S>
170
170
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
@@ -176,27 +176,27 @@ import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as
176
176
  •
177
177
  </C>
178
178
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
179
- {V} keys
179
+ {z} keys
180
180
  </C>
181
181
  <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
182
182
  •
183
183
  </C>
184
184
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
185
- {ae}
185
+ {le}
186
186
  </C>
187
- {Ie?.timestamp&&<>
187
+ {ye?.timestamp&&<>
188
188
  <C style={[i.headerSubTitle,{opacity:.6,fontSize:e?10:11}]}>
189
189
  •
190
190
  </C>
191
191
  <S style={{flexDirection:"row",alignItems:"center",gap:3}}>
192
- <Se color={t.white}size={e?9:10}/>
192
+ <Z color={t.white}size={e?9:10}/>
193
193
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
194
- {Ie.timestamp}
194
+ {ye.timestamp}
195
195
  </C>
196
196
  </S>
197
197
  </>}
198
198
  </S>
199
- </S>})():A==="redux"&&G!=null?<S style={i.headerDetailCenter}>
199
+ </S>})():k==="redux"&&_!=null?<S style={i.headerDetailCenter}>
200
200
  <S style={i.headerDetailRow}>
201
201
  <S style={[i.headerMethodBadge,{backgroundColor:`${t.brandPurple}4D`,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
202
202
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
@@ -204,16 +204,16 @@ import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as
204
204
  </C>
205
205
  </S>
206
206
  <C style={[i.headerDetailTitle,{fontSize:e?13.5:15}]}numberOfLines={1}ellipsizeMode="middle">
207
- {G.type}
207
+ {_.type}
208
208
  </C>
209
209
  </S>
210
210
  <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1}}>
211
211
  <S style={[i.headerStatusDot,{backgroundColor:t.purple,width:e?6:7,height:e?6:7}]}/>
212
212
  <C style={[i.headerSubTitle,{fontSize:e?10:11}]}>
213
- {G.timestamp||"Dispatched"}
213
+ {_.timestamp||"Dispatched"}
214
214
  </C>
215
215
  </S>
216
- </S>:A==="crash"&&$!=null?<S style={i.headerDetailCenter}>
216
+ </S>:k==="crash"&&$!=null?<S style={i.headerDetailCenter}>
217
217
  <S style={i.headerDetailRow}>
218
218
  <S style={[i.headerMethodBadge,{backgroundColor:$.isFatal?t.red600:t.amber600,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
219
219
  <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
@@ -238,28 +238,51 @@ import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as
238
238
  </C>
239
239
  </>}
240
240
  </S>
241
+ </S>:k==="push"&&R!=null?<S style={i.headerDetailCenter}>
242
+ <S style={i.headerDetailRow}>
243
+ <S style={[i.headerMethodBadge,{backgroundColor:t.brandPurple,paddingHorizontal:e?5:6,paddingVertical:e?2:3}]}>
244
+ <C style={[i.headerMethodText,{fontSize:e?9:10}]}>
245
+ {(R.source||"PUSH").toUpperCase()}
246
+ </C>
247
+ </S>
248
+ <C style={[i.headerDetailTitle,{fontSize:e?13:14.5,flex:1,minWidth:0}]}numberOfLines={1}ellipsizeMode="tail">
249
+ {R.title||R.body||"Push Notification"}
250
+ </C>
251
+ </S>
252
+ <S style={{flexDirection:"row",alignItems:"center",gap:e?4:6,marginTop:3,paddingVertical:1,maxWidth:"100%"}}>
253
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2,borderRadius:20,backgroundColor:`${R.appState==="foreground"?t.greenColor:R.appState==="background"?t.amber500:t.brandPurple}26`,borderWidth:1,borderColor:`${R.appState==="foreground"?t.greenColor:R.appState==="background"?t.amber500:t.brandPurple}55`}}>
254
+ <S style={[i.headerStatusDot,{backgroundColor:R.appState==="foreground"?t.greenColor:R.appState==="background"?t.amber500:t.brandPurple,width:e?6:7,height:e?6:7}]}/>
255
+ <C style={[i.headerSubTitle,{fontFamily:D.interBold,fontSize:e?9.5:10.5}]}>
256
+ {R.appState?R.appState.toUpperCase():"DELIVERED"}
257
+ </C>
258
+ </S>
259
+ <S style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:e?6:8,paddingVertical:2,borderRadius:20,backgroundColor:`${t.white}29`}}>
260
+ <Z color={t.white}size={e?9.5:10.5}/>
261
+ <C style={[i.headerSubTitle,{fontSize:e?9.5:10.5}]}>
262
+ {rt(R.timestamp)}
263
+ </C>
264
+ </S>
265
+ </S>
241
266
  </S>:null}
242
267
  </S>}
243
268
 
244
- <S style={[i.headerRight,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",flexShrink:0,gap:e?4:5}]}>
245
-
246
- {X&&<O onPress={()=>{Re.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:Ue}])}}hitSlop={15}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7}]}>
247
- <_t color={t.white}size={e?12:14}/>
248
- </O>}
249
-
250
- {!Y&&<O accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>te("main")}hitSlop={15}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7}]}>
251
- <Bt color={t.white}size={e?12:14}/>
252
- </O>}
269
+ <S style={[i.headerRight,{flexDirection:"row",alignItems:"center",justifyContent:"flex-end",flexShrink:0,gap:e?4:6}]}>
270
+
271
+ <Te onPress={Pe||pe}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={V("common.minimize","Minimize")}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7,backgroundColor:"rgba(56, 189, 248, 0.22)",borderColor:"rgba(125, 211, 252, 0.40)",borderWidth:1}]}>
272
+ <It size={e?14:16}color={t.white}/>
273
+ </Te>
253
274
 
254
275
 
255
- <Ae onPress={Ge||ze}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.6}accessibilityRole="button"accessibilityLabel={D("common.minimize","Minimize")}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7}]}>
256
- <Lt size={e?14:16}color={t.white}/>
257
- </Ae>
276
+ {X?<P onPress={()=>{we.alert("Reset All Settings","This restores all module visibility and UI preferences to defaults. Continue?",[{text:"Cancel",style:"cancel"},{text:"Reset",style:"destructive",onPress:Be}])}}hitSlop={15}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7,backgroundColor:"rgba(245, 158, 11, 0.26)",borderColor:"rgba(252, 211, 77, 0.45)",borderWidth:1}]}>
277
+ <Bt color={t.white}size={e?12:14}/>
278
+ </P>:Y?null:<P accessible={!0}accessibilityRole="button"accessibilityLabel="Settings"onPress={()=>ie("main")}hitSlop={15}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7,backgroundColor:"rgba(168, 85, 247, 0.28)",borderColor:"rgba(216, 180, 254, 0.45)",borderWidth:1}]}>
279
+ <Dt color={t.white}size={e?12:14}/>
280
+ </P>}
258
281
 
259
282
 
260
- <Ae onPress={ze}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.6}accessibilityRole="button"accessibilityLabel={D("common.close","Close")}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7}]}>
261
- <Ot size={e?12:14}/>
262
- </Ae>
283
+ <Te onPress={pe}hitSlop={{top:12,bottom:12,left:12,right:12}}activeOpacity={.7}accessibilityRole="button"accessibilityLabel={V("common.close","Close")}style={[i.closeButtonSquare,{width:B,height:B,borderRadius:e?6:7,backgroundColor:"rgba(244, 63, 94, 0.28)",borderColor:"rgba(251, 113, 133, 0.48)",borderWidth:1}]}>
284
+ <Rt size={e?12:14}/>
285
+ </Te>
263
286
  </S>
264
287
  </S>
265
288
 
@@ -267,48 +290,48 @@ import v,{useMemo as le}from"react";import{Alert as Re,Animated as ne,Linking as
267
290
  {!Y&&<S style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:e?10:14,paddingBottom:e?8:10,paddingTop:2,gap:6}}>
268
291
  <S style={{flexDirection:"row",alignItems:"center",gap:6}}>
269
292
 
270
- <O onPress={Ye}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
271
- <Gt size={e?12:13}color={t.white}/>
272
- <C style={{fontFamily:I.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
273
- {D("header.photo")}
293
+ <P onPress={Ne}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
294
+ <Lt size={e?12:13}color={t.white}/>
295
+ <C style={{fontFamily:D.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
296
+ {V("header.photo")}
274
297
  </C>
275
- </O>
298
+ </P>
276
299
 
277
300
 
278
- <O onPress={Ze}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:M?`${t.red500}33`:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:M?t.red500:`${t.white}33`}}>
279
- {M?<ne.View style={{width:6,height:6,borderRadius:3,backgroundColor:t.red500}}/>:<Qt size={e?12:13}color={t.white}/>}
280
- <C style={{fontFamily:I.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:M?t.red300:t.white}}>
281
- {M?`${D("header.rec")} ${et(Xe)}`:D("header.record")}
301
+ <P onPress={je}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:v?`${t.red500}33`:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:v?t.red500:`${t.white}33`}}>
302
+ {v?<se.View style={{width:6,height:6,borderRadius:3,backgroundColor:t.red500}}/>:<Et size={e?12:13}color={t.white}/>}
303
+ <C style={{fontFamily:D.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:v?t.red300:t.white}}>
304
+ {v?`${V("header.rec")} ${_e(Ue)}`:V("header.record")}
282
305
  </C>
283
- </O>
306
+ </P>
284
307
  </S>
285
308
 
286
309
  <S style={{flexDirection:"row",alignItems:"center",gap:6}}>
287
310
 
288
- <O accessible={!0}accessibilityRole="button"accessibilityLabel={D("common.clearAll")}onPress={()=>{Re.alert(D("header.clearEverythingTitle"),D("header.clearEverythingMessage"),[{text:D("common.cancel"),style:"cancel"},{text:D("common.clearAll"),onPress:Ne,style:"destructive"}])}}hitSlop={10}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
289
- <ne.View style={{transform:[{rotate:Te.interpolate({inputRange:[0,1],outputRange:["0deg","-25deg"]})},{scale:Te.interpolate({inputRange:[0,.5,1],outputRange:[1,1.25,1]})}]}}>
290
- <Mt color={t.white}size={e?12:13}/>
291
- </ne.View>
292
- <C style={{fontFamily:I.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
293
- {D("common.clearAll")}
311
+ <P accessible={!0}accessibilityRole="button"accessibilityLabel={V("common.clearAll")}onPress={()=>{we.alert(V("header.clearEverythingTitle"),V("header.clearEverythingMessage"),[{text:V("common.cancel"),style:"cancel"},{text:V("common.clearAll"),onPress:ve,style:"destructive"}])}}hitSlop={10}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
312
+ <se.View style={{transform:[{rotate:he.interpolate({inputRange:[0,1],outputRange:["0deg","-25deg"]})},{scale:he.interpolate({inputRange:[0,.5,1],outputRange:[1,1.25,1]})}]}}>
313
+ <Vt color={t.white}size={e?12:13}/>
314
+ </se.View>
315
+ <C style={{fontFamily:D.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
316
+ {V("common.clearAll")}
294
317
  </C>
295
- </O>
318
+ </P>
296
319
 
297
320
 
298
- <O accessible={!0}accessibilityRole="button"accessibilityLabel={D("header.about")}onPress={()=>{xe(!0)}}hitSlop={10}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
299
- <Ut color={t.white}size={e?12:13}/>
300
- <C style={{fontFamily:I.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
301
- {D("header.about")}
321
+ <P accessible={!0}accessibilityRole="button"accessibilityLabel={V("header.about")}onPress={()=>{ue(!0)}}hitSlop={10}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${t.white}24`,paddingHorizontal:e?9:11,paddingVertical:e?5:6,borderRadius:7,borderWidth:1,borderColor:`${t.white}33`}}>
322
+ <Ot color={t.white}size={e?12:13}/>
323
+ <C style={{fontFamily:D.interSemiBold,fontSize:e?10.5:11.5,lineHeight:e?13:14,color:t.white}}>
324
+ {V("header.about")}
302
325
  </C>
303
- </O>
326
+ </P>
304
327
  </S>
305
328
  </S>}
306
329
  </S>
307
330
  </S>
308
331
 
309
332
 
310
- <$t visible={Je}latestVersion={We}onClose={()=>re(!1)}/>
333
+ <St visible={We}latestVersion={Me}onClose={()=>oe(!1)}/>
311
334
 
312
335
 
313
- <At item={Ve}visible={!!Ve}onClose={()=>N(null)}onDelete={async T=>{await F.deleteMedia(T.uri),j?.().catch(()=>{}),N(null)}}onConvertToGif={async T=>{const V=await F.convertToGif(T.uri,{fps:12,width:480});V&&(j?.().catch(()=>{}),N({id:`anim_${V.timestamp}.gif`,type:"gif",format:"gif",uri:V.uri,filename:V.uri.split("/").pop()||`anim_${V.timestamp}.gif`,sizeBytes:V.sizeBytes,timestamp:V.timestamp,durationMs:V.durationMs}))}}/>
314
- </>});export default Kt;
336
+ <Tt item={fe}visible={!!fe}onClose={()=>N(null)}onDelete={async T=>{await W.deleteMedia(T.uri),U?.().catch(()=>{}),N(null)}}onConvertToGif={async T=>{const z=await W.convertToGif(T.uri,{fps:12,width:480});z&&(U?.().catch(()=>{}),N({id:`anim_${z.timestamp}.gif`,type:"gif",format:"gif",uri:z.uri,filename:z.uri.split("/").pop()||`anim_${z.timestamp}.gif`,sizeBytes:z.sizeBytes,timestamp:z.timestamp,durationMs:z.durationMs}))}}/>
337
+ </>});export default Ft;