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.
- package/README.ar.md +0 -8
- package/README.de.md +0 -8
- package/README.es.md +0 -8
- package/README.fr.md +0 -8
- package/README.hi.md +0 -8
- package/README.ja.md +0 -8
- package/README.ko.md +0 -8
- package/README.md +54 -26
- package/README.pt-BR.md +0 -8
- package/README.ru.md +0 -8
- package/README.zh-CN.md +0 -8
- package/dist/commonjs/components/ConsoleLogCard.js +32 -26
- package/dist/commonjs/components/ErrorBoundary.js +1 -1
- package/dist/commonjs/components/Inspector/ConsoleTab.js +19 -14
- package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +4 -4
- package/dist/commonjs/components/Inspector/InspectorHeader.js +73 -65
- package/dist/commonjs/components/Inspector/MainScreen.js +9 -6
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +187 -90
- package/dist/commonjs/components/Inspector/NetworkDetail.js +11 -8
- package/dist/commonjs/components/Inspector/NetworkTab.js +33 -31
- package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +2 -0
- package/dist/commonjs/components/Inspector/PerformanceTab.js +652 -0
- package/dist/commonjs/components/Inspector/SettingsPanel.js +346 -245
- package/dist/commonjs/components/Inspector/TabBar.js +17 -16
- package/dist/commonjs/components/LogCard.js +11 -8
- package/dist/commonjs/components/ModuleErrorBoundary.js +1 -1
- package/dist/commonjs/components/NetworkIcons.d.ts +9 -0
- package/dist/commonjs/components/NetworkIcons.js +51 -6
- package/dist/commonjs/constants/index.d.ts +1 -0
- package/dist/commonjs/constants/index.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/crashHandler.d.ts +9 -1
- package/dist/commonjs/customHooks/crashHandler.js +4 -4
- package/dist/commonjs/helpers/index.d.ts +3 -0
- package/dist/commonjs/helpers/index.js +8 -6
- package/dist/commonjs/helpers/performanceSampler.d.ts +88 -0
- package/dist/commonjs/helpers/performanceSampler.js +1 -0
- package/dist/commonjs/helpers/remoteConfig.d.ts +6 -0
- package/dist/commonjs/helpers/remoteConfig.js +1 -1
- package/dist/commonjs/helpers/telemetry.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -1
- package/dist/commonjs/i18n/locales/de.json +1 -1
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -1
- package/dist/commonjs/i18n/locales/fr.json +1 -1
- package/dist/commonjs/i18n/locales/gu.json +1 -1
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -1
- package/dist/commonjs/i18n/locales/it.json +1 -1
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -1
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -1
- package/dist/commonjs/i18n/locales/mr.json +1 -1
- package/dist/commonjs/i18n/locales/nl.json +1 -1
- package/dist/commonjs/i18n/locales/pa.json +1 -1
- package/dist/commonjs/i18n/locales/pl.json +1 -1
- package/dist/commonjs/i18n/locales/pt.json +1 -1
- package/dist/commonjs/i18n/locales/ru.json +1 -1
- package/dist/commonjs/i18n/locales/ta.json +1 -1
- package/dist/commonjs/i18n/locales/te.json +1 -1
- package/dist/commonjs/i18n/locales/tr.json +1 -1
- package/dist/commonjs/i18n/locales/vi.json +1 -1
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +4 -2
- package/dist/commonjs/index.js +3 -3
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +1 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +28 -0
- package/dist/esm/components/ConsoleLogCard.js +67 -61
- package/dist/esm/components/ErrorBoundary.js +10 -10
- package/dist/esm/components/Inspector/ConsoleTab.js +33 -28
- package/dist/esm/components/Inspector/FloatingCaptureWidget.js +22 -22
- package/dist/esm/components/Inspector/InspectorHeader.js +194 -186
- package/dist/esm/components/Inspector/MainScreen.js +61 -58
- package/dist/esm/components/Inspector/MediaGalleryTab.js +254 -157
- package/dist/esm/components/Inspector/NetworkDetail.js +62 -59
- package/dist/esm/components/Inspector/NetworkTab.js +39 -37
- package/dist/esm/components/Inspector/PerformanceTab.d.ts +2 -0
- package/dist/esm/components/Inspector/PerformanceTab.js +652 -0
- package/dist/esm/components/Inspector/SettingsPanel.js +407 -306
- package/dist/esm/components/Inspector/TabBar.js +4 -3
- package/dist/esm/components/LogCard.js +37 -34
- package/dist/esm/components/ModuleErrorBoundary.js +1 -1
- package/dist/esm/components/NetworkIcons.d.ts +9 -0
- package/dist/esm/components/NetworkIcons.js +48 -3
- package/dist/esm/constants/index.d.ts +1 -0
- package/dist/esm/constants/index.js +1 -1
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/crashHandler.d.ts +9 -1
- package/dist/esm/customHooks/crashHandler.js +6 -6
- package/dist/esm/helpers/index.d.ts +3 -0
- package/dist/esm/helpers/index.js +8 -6
- package/dist/esm/helpers/performanceSampler.d.ts +88 -0
- package/dist/esm/helpers/performanceSampler.js +1 -0
- package/dist/esm/helpers/remoteConfig.d.ts +6 -0
- package/dist/esm/helpers/remoteConfig.js +1 -1
- package/dist/esm/helpers/telemetry.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -1
- package/dist/esm/i18n/locales/de.json +1 -1
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -1
- package/dist/esm/i18n/locales/fr.json +1 -1
- package/dist/esm/i18n/locales/gu.json +1 -1
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -1
- package/dist/esm/i18n/locales/it.json +1 -1
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -1
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -1
- package/dist/esm/i18n/locales/mr.json +1 -1
- package/dist/esm/i18n/locales/nl.json +1 -1
- package/dist/esm/i18n/locales/pa.json +1 -1
- package/dist/esm/i18n/locales/pl.json +1 -1
- package/dist/esm/i18n/locales/pt.json +1 -1
- package/dist/esm/i18n/locales/ru.json +1 -1
- package/dist/esm/i18n/locales/ta.json +1 -1
- package/dist/esm/i18n/locales/te.json +1 -1
- package/dist/esm/i18n/locales/tr.json +1 -1
- package/dist/esm/i18n/locales/vi.json +1 -1
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +4 -2
- package/dist/esm/index.js +8 -8
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +1 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +28 -0
- package/package.json +24 -1
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import{useMemo as
|
|
2
|
-
<
|
|
1
|
+
import{useMemo as Xe,useState as Me,useEffect as Ze,useRef as jr}from"react";import{Alert as j,Animated as _,Platform as Ur,ScrollView as J,StyleSheet as Gr,Switch as Tt,Text as T,TextInput as _r,View as C}from"react-native";import{animateNextLayout as Jr,useInspector as Rt}from"./InspectorContext";import V from"../TouchableScale";import Yr from"../Slider";import{toggleGlobalTheme as Vt}from"../../styles";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{DEFAULT_HIDDEN_URL_PATTERNS as er}from"../../constants";import{calculateRamBasedLimits as zt}from"../../helpers/settingsStore";import{clearNetworkLogs as Bt}from"../../customHooks/networkLogger";import{clearConsoleLogs as Ft}from"../../customHooks/consoleLogger";import{clearAnalyticsEvents as It,isAnalyticsConnected as Kr}from"../../customHooks/analyticsLogger";import{clearCrashRecords as Dt}from"../../customHooks/crashHandler";import{isReduxConnected as Qr}from"../../customHooks/reduxLogger";import{useTranslation as $t,SUPPORTED_LANGUAGES as Xr,getLanguage as Ht}from"../../i18n";import{LanguageSelectorModal as Pt}from"./LanguageSelectorModal";import{GlobeIcon as Zr,SignalIcon as Co,TerminalIcon as So,AnalyticsIcon as To,SettingsIcon as Wt,SunIcon as Lt,MoonIcon as At,ScreenIcon as Ro,MotionIcon as Et,LayersIcon as X,EyeIcon as Ce,CheckIcon as Se,TrashIcon as O,PackageIcon as Ot,ReduxIcon as Vo,CrashIcon as Mt,ShieldAlertIcon as Bo,ShieldCheckIcon as Fo,ScaleBalanceIcon as Nt,VolumeMuteIcon as Ut,JsIcon as Gt,ChipIcon as _t,LayoutIcon as Jt,HourglassIcon as Yt,CodeBracketsIcon as Io,LockIcon as Kt,RefreshCcwIcon as Qt,ForwardChevronIcon as Do,ChevronDownIcon as Xt,BrainIcon as $o,SmartphoneIcon as Zt,DatabaseIcon as Ci,QrCodeIcon as Si,FilmIcon as Ho,ScreencastIcon as Ti,CameraIcon as Te,VideoCameraIcon as Cr,MicrophoneIcon as Po,GifIcon as Wo,ImageIcon as Lo,BellIcon as Ao,WebsocketIcon as Eo,SpeedometerIcon as Ri,BoltIcon as Sr}from"../NetworkIcons";import{ScreenCapture as kr}from"../../capture";import{triggerNativeHaptic as D}from"../../native/NativeInspector";import{isLocalDebugEnvironment as Vi}from"../../helpers";import{showToast as B}from"../../helpers/toast";import{pruneAllLogs as zi}from"../../helpers/memoryManager";const Bi=()=>{const{t:w}=$t(),{settingsPage:v,setSettingsPage:Oo,settingsActiveSubTab:q,setSettingsActiveSubTab:xr,tabVisibility:Y,toggleTabVisibility:Tr,defaultTab:K,setDefaultTab:Mo,isDark:Z,setIsDark:No,modalHeightPercent:Re,setModalHeightPercent:jo,modalAnimationType:Uo,setModalAnimationType:Go,showDuplicateLogs:Ne,setShowDuplicateLogs:_o,showUpdateToast:je,setShowUpdateToast:Jo,showConsoleLevels:qo,setShowConsoleLevels:Yo,closeModal:Fi,logs:Ue,consoleLogs:Ge,analyticsEvents:_e,reduxState:Ve,maxConsoleLogs:Rr,setMaxConsoleLogs:Ko,maxAnalyticsEventsLimit:Vr,setMaxAnalyticsEventsLimit:Qo,isAutoRamLimitEnabled:W,setIsAutoRamLimitEnabled:Xo,deviceFreeRamMb:Je,reduxAutoRefresh:qe,setReduxAutoRefreshState:Zo,reduxExpandDepth:et,setReduxExpandDepth:rt,setSelected:ot,setSelectedEvent:tt,setReduxState:it,crashRecords:ze,maxCrashLogs:zr,setMaxCrashLogs:Br,crashIgnoredTypes:H,setCrashIgnoredTypes:lt,crashModalTriggerPolicy:at,setCrashModalTriggerPolicyState:Fr,applyCrashPolicyPreset:Be,pushRecords:Fe,maxPushLogs:nt,setMaxPushLogs:st,clearAllPushLogs:dt,simulatePush:Ie,socketRecords:De,maxSocketLogs:ct,setMaxSocketLogs:gt,clearAllSocketLogs:pt,simulateSocket:$e,captureImageFormat:Ye,setCaptureImageFormat:Ir,captureAutoHide:L,setCaptureAutoHide:He,captureAudioMode:Dr,setCaptureAudioMode:$r,captureFps:Hr,setCaptureFps:Pr,captureScale:Ii,setCaptureScale:Di,captureBitrate:$i,setCaptureBitrate:Hi,captureMaxDurationSeconds:Pi,setCaptureMaxDurationSeconds:Wi,captureAutoGif:A,setCaptureAutoGif:Pe,captureWidgetEnabled:Q,setCaptureWidgetEnabled:Wr,peekOpacity:Lr,setPeekOpacity:yt,hiddenUrlPatterns:ee,setHiddenUrlPatterns:Ke}=Rt(),[We,vr]=Me(""),[Le,Ar]=Me(Re),[ut,Er]=Me(!1),ht=Ht(),ve=Xr.find(r=>r.code===ht)||Xr[0],Or=()=>{const r=We.trim();if(r){if(ee.includes(r)){B("Pattern already exists in filter list");return}try{new RegExp(r)}catch{}D("light"),Ke(R=>[...R,r]),vr(""),B("Hidden URL pattern added")}},bt=r=>{const R=ee[r];if(er.includes(R)){B("Default system filter cannot be removed");return}D("light"),Ke(I=>I.filter((P,E)=>E!==r)),B("Pattern removed")};Ze(()=>{Ar(Re)},[Re]);const M=jr(new _.Value(1)).current;Ze(()=>{M.setValue(0),_.spring(M,{toValue:1,friction:8,tension:65,useNativeDriver:!0}).start()},[q]);const Ae=zt(Je),N=Xe(()=>[{id:1,key:"apis",label:"APIs (Network)",category:"core",icon:"apis",desc:"HTTP/HTTPS requests, GraphQL, Axios & WebSocket inspector"},{id:2,key:"logs",label:"Console Logs",category:"core",icon:"logs",desc:"Terminal console logs, warnings, errors & stack traces"},{id:3,key:"perf",label:"Performance & FPS",category:"telemetry",icon:"perf",desc:"Live 60 FPS graph, JS event loop queue lag, memory heap & jank monitor"},{id:4,key:"analytics",label:"Analytics Logger",category:"telemetry",icon:"analytics",desc:"Firebase & custom analytics events, user properties & params"},{id:5,key:"redux",label:"Redux Inspector",category:"telemetry",icon:"redux",desc:"Store state diffing, action history & reducer timeline"},{id:6,key:"storage",label:"Storage Inspector",category:"telemetry",icon:"storage",desc:"AsyncStorage & MMKV key-value store viewer with full CRUD support"},{id:7,key:"device",label:"Device Info",category:"diagnostic",icon:"device",desc:"Hardware specs, IP address, screen metrics, UDID & runtime stats"},{id:8,key:"crash",label:"Crash Protection",category:"diagnostic",icon:"crash",desc:"Runtime exception guard, breadcrumbs & memory snapshot"},{id:9,key:"debugging",label:"Multi-Device Debugging",category:"diagnostic",icon:"debugging",desc:"QR Code bridge for direct Debug APK download & Metro live-reload sync"},{id:10,key:"media",label:"Screencast",category:"diagnostic",icon:"media",desc:"Screenshots, video recordings, audio narration & animated GIFs"},{id:11,key:"push",label:"Push Notifications",category:"telemetry",icon:"push",desc:"Universal push & local notification logger (Salesforce, FCM, APNs, Braze, Expo)"},{id:12,key:"socket",label:"WebSocket & Socket.IO",category:"telemetry",icon:"socket",desc:"Real-time WebSocket & Socket.IO message inspector, frames & event logger"}].filter(r=>r.key==="debugging"?Ur.OS==="android"&&Vi():!0),[]),mt={apis:{color:e.blue500,bg:`${e.blue500}14`,border:`${e.blue500}2E`},logs:{color:e.purple,bg:`${e.purple}14`,border:`${e.purple}2E`},perf:{color:e.purple,bg:`${e.purple}14`,border:`${e.purple}2E`},analytics:{color:e.amber600,bg:`${e.amber600}14`,border:`${e.amber600}2E`},redux:{color:e.violet600,bg:`${e.violet600}14`,border:`${e.violet600}2E`},storage:{color:e.cyan600,bg:`${e.cyan600}14`,border:`${e.cyan600}2E`},device:{color:e.emerald600,bg:`${e.emerald600}14`,border:`${e.emerald600}2E`},crash:{color:e.red600,bg:`${e.red600}14`,border:`${e.red600}2E`},debugging:{color:e.indigo600,bg:`${e.indigo600}14`,border:`${e.indigo600}2E`},media:{color:e.pink600,bg:`${e.pink600}14`,border:`${e.pink600}2E`},push:{color:e.orange600,bg:`${e.orange600}14`,border:`${e.orange600}2E`},socket:{color:e.teal600,bg:`${e.teal600}14`,border:`${e.teal600}2E`}},Ee=Xe(()=>N.filter(r=>!(r.key==="apis"||r.key==="redux"&&!Qr()||r.key==="analytics"&&!Kr())),[N]),ft=N.filter(r=>r.key==="apis"||!!Y?.[r.key]).length,re=Xe(()=>Ee.length===0?!1:Ee.every(r=>!!Y?.[r.key]),[Ee,Y]),Ct=r=>{r!=="apis"&&(D("light"),Tr(r))},wt=()=>{D("medium");const r=!re;Ee.forEach(R=>{!!Y?.[R.key]!==r&&Tr(R.key)}),B(r?"All modules enabled":"Optional modules disabled")},[Qe,Mr]=Me(!1),F=r=><C key={r.key}style={{paddingVertical:12,borderBottomWidth:r.isLast?0:1,borderBottomColor:e.dividerColor}}>
|
|
2
|
+
<V disabled={!r.onPress}onPress={r.onPress}style={{flexDirection:"row",alignItems:"center",gap:12}}>
|
|
3
3
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,borderWidth:1,borderColor:`${e.purple}2E`,alignItems:"center",justifyContent:"center"}}>
|
|
4
4
|
{r.icon}
|
|
5
5
|
</C>
|
|
@@ -12,10 +12,10 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
12
12
|
</T>:null}
|
|
13
13
|
</C>
|
|
14
14
|
{r.right||null}
|
|
15
|
-
</
|
|
15
|
+
</V>
|
|
16
16
|
{r.numericInput&&<C style={{marginTop:10,gap:6}}>
|
|
17
17
|
<C style={{flexDirection:"row",alignItems:"center",backgroundColor:e.grayBackground,borderRadius:8,borderWidth:1,borderColor:e.dividerColor,paddingHorizontal:12,paddingVertical:4}}>
|
|
18
|
-
<
|
|
18
|
+
<_r style={{flex:1,fontFamily:S.interMedium,fontSize:14,lineHeight:18,color:e.primaryBlack,paddingVertical:6}}value={String(r.numericInput.value||"")}onChangeText={R=>{const I=parseInt(R.replace(/[^0-9]/g,""),10);if(!isNaN(I)){const P=Math.max(r.numericInput?.min??1,Math.min(r.numericInput?.max??1e4,I));r.numericInput?.onChange(P)}}}keyboardType={r.numericInput.keyboardType??"number-pad"}placeholder={r.numericInput.placeholder}placeholderTextColor={e.grayTextWeak}maxLength={6}selectTextOnFocus/>
|
|
19
19
|
<T style={{fontFamily:S.interBold,fontSize:11,color:e.purple,marginLeft:6}}>
|
|
20
20
|
MAX
|
|
21
21
|
</T>
|
|
@@ -26,157 +26,128 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
26
26
|
</T>:null}
|
|
27
27
|
</C>}
|
|
28
28
|
{r.picker&&<C style={{flexDirection:"row",backgroundColor:e.grayBackground,borderRadius:8,padding:2.5,marginTop:10,borderWidth:1,borderColor:e.dividerColor}}>
|
|
29
|
-
{r.picker.options.map(
|
|
30
|
-
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:
|
|
31
|
-
{r.picker.formatLabel?r.picker.formatLabel(
|
|
29
|
+
{r.picker.options.map(R=>{const I=r.picker.selectedValue===R;return<V key={String(R)}onPress={()=>r.picker.onSelect(R)}style={{flex:1,paddingVertical:6,alignItems:"center",borderRadius:6,backgroundColor:I?e.purple:"transparent"}}>
|
|
30
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:I?e.white:e.grayText}}>
|
|
31
|
+
{r.picker.formatLabel?r.picker.formatLabel(R):R}
|
|
32
32
|
</T>
|
|
33
|
-
</
|
|
33
|
+
</V>})}
|
|
34
34
|
</C>}
|
|
35
|
-
</C>,
|
|
36
|
-
<
|
|
35
|
+
</C>,St=()=><C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
36
|
+
<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:14}}showsVerticalScrollIndicator={!1}>
|
|
37
37
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
</T>
|
|
46
|
-
{r.badge&&<C style={{backgroundColor:V?"rgba(255,255,255,0.25)":`${e.purple}18`,paddingHorizontal:5.5,paddingVertical:1,borderRadius:10}}>
|
|
47
|
-
<T style={{fontFamily:S.interBold,fontSize:9.5,color:V?e.white:e.purple}}>
|
|
48
|
-
{r.badge}
|
|
49
|
-
</T>
|
|
50
|
-
</C>}
|
|
51
|
-
</B>})}
|
|
52
|
-
</G>
|
|
38
|
+
<C style={{backgroundColor:e.primaryLight,borderRadius:12,padding:3,borderWidth:1,borderColor:e.grayBorderSecondary,flexDirection:"row",alignItems:"center",shadowColor:e.black,shadowOpacity:.04,shadowRadius:4,shadowOffset:{width:0,height:2},elevation:2}}>
|
|
39
|
+
{[{key:"module",label:w("settings.navModules","Modules"),Icon:X},{key:"ui",label:w("settings.navDisplay","Display"),Icon:Ro},{key:"limits",label:w("settings.navLimits","Limits"),Icon:$o},{key:"capture",label:w("settings.navCapture","Capture"),Icon:Te}].map(r=>{const R=q===r.key,I=r.Icon;return<V key={r.key}accessible={!0}accessibilityRole="tab"accessibilityLabel={r.label}accessibilityState={{selected:R}}onPress={()=>{D("light"),Jr(),xr(r.key)}}style={{flex:1,minWidth:0,paddingVertical:8,paddingHorizontal:2,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:4,borderRadius:9,backgroundColor:R?e.purple:"transparent"}}>
|
|
40
|
+
<I color={R?e.white:e.grayText}size={12}/>
|
|
41
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:R?e.white:e.grayText}}numberOfLines={1}ellipsizeMode="tail">
|
|
42
|
+
{r.label}
|
|
43
|
+
</T>
|
|
44
|
+
</V>})}
|
|
53
45
|
</C>
|
|
54
46
|
|
|
55
|
-
{
|
|
47
|
+
{q==="module"&&<_.View style={{gap:10,opacity:M,transform:[{translateY:M.interpolate({inputRange:[0,1],outputRange:[10,0]})}]}}>
|
|
56
48
|
|
|
57
|
-
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",
|
|
58
|
-
<
|
|
59
|
-
<
|
|
60
|
-
|
|
61
|
-
</
|
|
62
|
-
<C>
|
|
63
|
-
<T style={{fontFamily:S.interBold,fontSize:
|
|
64
|
-
{
|
|
65
|
-
</T>
|
|
66
|
-
<T style={{fontFamily:S.interRegular,fontSize:10.5,color:e.grayText,marginTop:1}}>
|
|
67
|
-
{Qe} of {$.length} modules active
|
|
49
|
+
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:4,paddingVertical:2}}>
|
|
50
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:6}}>
|
|
51
|
+
<T style={{fontFamily:S.interBold,fontSize:12.5,lineHeight:16,color:e.primaryBlack}}>
|
|
52
|
+
Active Modules
|
|
53
|
+
</T>
|
|
54
|
+
<C style={{backgroundColor:`${e.purple}14`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:10,borderWidth:1,borderColor:`${e.purple}25`}}>
|
|
55
|
+
<T style={{fontFamily:S.interBold,fontSize:9.5,color:e.purple}}>
|
|
56
|
+
{ft} of {N.length}
|
|
68
57
|
</T>
|
|
69
58
|
</C>
|
|
70
|
-
</
|
|
59
|
+
</C>
|
|
71
60
|
|
|
72
|
-
<
|
|
73
|
-
<T style={{fontFamily:S.interBold,fontSize:11,color:
|
|
74
|
-
{
|
|
61
|
+
<V onPress={wt}hitSlop={6}style={{paddingHorizontal:10,paddingVertical:4.5,borderRadius:7,backgroundColor:re?`${e.purple}14`:e.purple,borderWidth:1,borderColor:re?`${e.purple}30`:"transparent"}}>
|
|
62
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:re?e.purple:e.white}}>
|
|
63
|
+
{re?"Deselect All":"Select All"}
|
|
75
64
|
</T>
|
|
76
|
-
</
|
|
65
|
+
</V>
|
|
77
66
|
</C>
|
|
78
67
|
|
|
79
68
|
|
|
80
|
-
<C style={{gap:
|
|
81
|
-
{
|
|
69
|
+
<C style={{gap:8}}>
|
|
70
|
+
{N.map(r=>{const R=Qr(),I=Kr(),P=r.key==="redux"&&!R||r.key==="analytics"&&!I,E=r.key==="apis"||P,z=r.key==="apis"||!!Y?.[r.key]&&!P,$=mt[r.key]||{color:e.purple,bg:`${e.purple}14`,border:`${e.purple}2E`},G=r.key==="apis"||r.key==="logs"||r.key==="analytics"||r.key==="redux"||r.key==="crash"||r.key==="push"||r.key==="socket",oe=r.key==="apis"?Ue.length>0?`${Ue.length} requests`:"":r.key==="logs"?Ge.length>0?`${Ge.length} logs`:"":r.key==="crash"?ze&&ze.length>0?`${ze.length} crashes`:"":r.key==="analytics"?_e.length>0?`${_e.length} events`:"":r.key==="redux"?Ve&&Object.keys(Ve).length>0?`${Object.keys(Ve).length} slices`:"":r.key==="push"?Fe&&Fe.length>0?`${Fe.length} notifications`:"":r.key==="socket"&&De&&De.length>0?`${De.length} sockets`:"";return<C key={r.key}style={{backgroundColor:e.primaryLight,borderRadius:13,borderWidth:1,borderColor:z?`${$.color}38`:e.grayBorderSecondary,padding:12,gap:8,shadowColor:e.black,shadowOpacity:z?.03:.01,shadowRadius:3,shadowOffset:{width:0,height:1.5},elevation:1.5}}>
|
|
82
71
|
|
|
83
|
-
<C style={{flexDirection:"row",alignItems:"
|
|
72
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
84
73
|
|
|
85
|
-
<
|
|
86
|
-
{r.
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
74
|
+
<C style={{width:38,height:38,borderRadius:10,backgroundColor:z?$.bg:e.grayBackground,borderWidth:1,borderColor:z?$.border:e.grayBorderSecondary,alignItems:"center",justifyContent:"center",flexShrink:0}}>
|
|
75
|
+
{r.icon==="apis"&&<Co color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
76
|
+
{r.icon==="logs"&&<So color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
77
|
+
{r.icon==="perf"&&<Ri color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
78
|
+
{r.icon==="crash"&&<Mt color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
79
|
+
{r.icon==="analytics"&&<To color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
80
|
+
{r.icon==="redux"&&<Vo color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
81
|
+
{r.icon==="device"&&<Zt color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
82
|
+
{r.icon==="storage"&&<Ci color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
83
|
+
{r.icon==="debugging"&&<Si color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
84
|
+
{r.icon==="media"&&<Ti color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
85
|
+
{r.icon==="push"&&<Ao color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
86
|
+
{r.icon==="socket"&&<Eo color={z?$.color:e.grayTextWeak}size={16}/>}
|
|
87
|
+
</C>
|
|
91
88
|
|
|
92
89
|
|
|
93
|
-
<
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
{r.icon==="crash"&&<Eo color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
99
|
-
{r.icon==="analytics"&&<Fr color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
100
|
-
{r.icon==="redux"&&<Hr color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
101
|
-
{r.icon==="device"&&<Go color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
102
|
-
{r.icon==="storage"&&<Uo color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
103
|
-
{r.icon==="debugging"&&<Ko color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
104
|
-
{r.icon==="media"&&<_o color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
105
|
-
{r.icon==="push"&&<Er color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
106
|
-
{r.icon==="socket"&&<Nr color={I?e.purple:e.grayTextWeak}size={16}/>}
|
|
107
|
-
</C>
|
|
90
|
+
<C style={{flex:1,minWidth:0,justifyContent:"center"}}>
|
|
91
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:5}}>
|
|
92
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:E?e.grayText:e.primaryBlack}}numberOfLines={1}>
|
|
93
|
+
{r.label}
|
|
94
|
+
</T>
|
|
108
95
|
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:I?e.purple:e.grayText}}>
|
|
114
|
-
#{r.id}
|
|
96
|
+
|
|
97
|
+
{r.key==="apis"&&<C style={{backgroundColor:`${e.blue500}14`,paddingHorizontal:4.5,paddingVertical:1,borderRadius:4,borderWidth:1,borderColor:`${e.blue500}33`}}>
|
|
98
|
+
<T style={{fontFamily:S.interBold,fontSize:7.5,lineHeight:10,color:e.blue500,letterSpacing:.3}}>
|
|
99
|
+
CORE
|
|
115
100
|
</T>
|
|
116
|
-
</C>
|
|
117
|
-
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:M?e.grayText:e.primaryBlack}}>
|
|
118
|
-
{r.label}
|
|
119
|
-
</T>
|
|
101
|
+
</C>}
|
|
120
102
|
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
{w("settings.coreBadge")}
|
|
133
|
-
</T>
|
|
134
|
-
</C>:v?<C style={{backgroundColor:`${e.amber500}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.amber500}35`}}>
|
|
135
|
-
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.amber700,letterSpacing:.3}}>
|
|
136
|
-
{r.key==="redux"?w("settings.notConnectedBadge"):w("settings.notDetectedBadge")}
|
|
137
|
-
</T>
|
|
138
|
-
</C>:I?<C style={{backgroundColor:`${e.liveGreen}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.liveGreen}38`}}>
|
|
139
|
-
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.green700,letterSpacing:.3}}>
|
|
140
|
-
{w("settings.activeBadge")}
|
|
141
|
-
</T>
|
|
142
|
-
</C>:<C style={{backgroundColor:`${e.grayTextWeak}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.grayTextWeak}2E`}}>
|
|
143
|
-
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.grayTextWeak,letterSpacing:.3}}>
|
|
144
|
-
{w("settings.dormantBadge")}
|
|
145
|
-
</T>
|
|
146
|
-
</C>}
|
|
147
|
-
</C>
|
|
148
|
-
|
|
149
|
-
<T style={{fontFamily:S.interRegular,fontSize:11,color:e.grayText,lineHeight:15,marginTop:1}}>
|
|
150
|
-
{r.desc}
|
|
151
|
-
</T>
|
|
103
|
+
{r.key===K&&<C style={{backgroundColor:`${e.purple}14`,paddingHorizontal:4.5,paddingVertical:1,borderRadius:4,borderWidth:1,borderColor:`${e.purple}2E`}}>
|
|
104
|
+
<T style={{fontFamily:S.interBold,fontSize:7.5,lineHeight:10,color:e.purple,letterSpacing:.3}}>
|
|
105
|
+
DEFAULT
|
|
106
|
+
</T>
|
|
107
|
+
</C>}
|
|
108
|
+
|
|
109
|
+
{P&&<C style={{backgroundColor:`${e.amber500}14`,paddingHorizontal:4.5,paddingVertical:1,borderRadius:4,borderWidth:1,borderColor:`${e.amber500}33`}}>
|
|
110
|
+
<T style={{fontFamily:S.interBold,fontSize:7.5,lineHeight:10,color:e.amber700,letterSpacing:.3}}>
|
|
111
|
+
OFFLINE
|
|
112
|
+
</T>
|
|
113
|
+
</C>}
|
|
152
114
|
</C>
|
|
153
|
-
|
|
115
|
+
|
|
116
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayTextWeak,marginTop:1.5}}numberOfLines={1}ellipsizeMode="tail">
|
|
117
|
+
{r.desc}
|
|
118
|
+
</T>
|
|
119
|
+
</C>
|
|
120
|
+
|
|
121
|
+
|
|
122
|
+
<Tt value={z}disabled={E}onValueChange={()=>Ct(r.key)}trackColor={{false:e.grayBorderSecondary,true:e.purple}}thumbColor={e.white}ios_backgroundColor={e.grayBorderSecondary}style={{transform:[{scaleX:.8},{scaleY:.8}]}}/>
|
|
154
123
|
</C>
|
|
155
124
|
|
|
156
125
|
|
|
157
|
-
{
|
|
126
|
+
{(oe||G||r.key==="media")&&<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingTop:7,borderTopWidth:1,borderTopColor:`${e.dividerColor}99`,marginTop:1}}>
|
|
158
127
|
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
{
|
|
163
|
-
|
|
164
|
-
|
|
128
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:5,flex:1}}>
|
|
129
|
+
{oe?<C style={{flexDirection:"row",alignItems:"center",gap:5}}>
|
|
130
|
+
<C style={{width:5.5,height:5.5,borderRadius:3,backgroundColor:z?$.color:e.grayTextWeak}}/>
|
|
131
|
+
<T style={{fontFamily:S.interMedium,fontSize:10.5,lineHeight:14,color:z?e.grayTextStrong:e.grayTextWeak}}>
|
|
132
|
+
{oe}
|
|
133
|
+
</T>
|
|
134
|
+
</C>:<C/>}
|
|
135
|
+
</C>
|
|
165
136
|
|
|
166
137
|
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
138
|
+
{(G||r.key==="media")&&<V onPress={()=>{D("light"),r.key==="media"?(Jr(),xr("capture")):Oo(r.key)}}hitSlop={6}style={{flexDirection:"row",alignItems:"center",gap:3.5,paddingHorizontal:8.5,paddingVertical:4,borderRadius:6.5,backgroundColor:`${$.color}14`,borderWidth:1,borderColor:`${$.color}2A`}}>
|
|
139
|
+
<Wt color={$.color}size={10}/>
|
|
140
|
+
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:$.color}}>
|
|
141
|
+
{w("settings.configure","Configure")}
|
|
142
|
+
</T>
|
|
143
|
+
<Do color={$.color}size={8}/>
|
|
144
|
+
</V>}
|
|
174
145
|
</C>}
|
|
175
146
|
</C>})}
|
|
176
147
|
</C>
|
|
177
|
-
</
|
|
148
|
+
</_.View>}
|
|
178
149
|
|
|
179
|
-
{
|
|
150
|
+
{q==="ui"&&<_.View style={{gap:14,opacity:M,transform:[{translateY:M.interpolate({inputRange:[0,1],outputRange:[10,0]})}]}}>
|
|
180
151
|
|
|
181
152
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
182
153
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
@@ -186,7 +157,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
186
157
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
187
158
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
188
159
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
189
|
-
{Z?<
|
|
160
|
+
{Z?<Lt color={e.purple}size={15}/>:<At color={e.purple}size={15}/>}
|
|
190
161
|
</C>
|
|
191
162
|
<C style={{flex:1}}>
|
|
192
163
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -198,9 +169,9 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
198
169
|
</C>
|
|
199
170
|
</C>
|
|
200
171
|
|
|
201
|
-
<
|
|
172
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle Dark Theme"accessibilityState={{checked:Z}}onPress={()=>{const r=!Z;No(r),Vt(r)}}style={{width:42,height:24,borderRadius:12,backgroundColor:Z?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:Z?"flex-end":"flex-start"}}>
|
|
202
173
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
203
|
-
</
|
|
174
|
+
</V>
|
|
204
175
|
</C>
|
|
205
176
|
|
|
206
177
|
<C style={{height:1,backgroundColor:e.grayBorderSecondary,opacity:.6}}/>
|
|
@@ -209,7 +180,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
209
180
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
210
181
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
211
182
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:`${e.blue600}14`,alignItems:"center",justifyContent:"center"}}>
|
|
212
|
-
<
|
|
183
|
+
<Zr color={e.blue600}size={15}/>
|
|
213
184
|
</C>
|
|
214
185
|
<C style={{flex:1}}>
|
|
215
186
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -221,13 +192,13 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
221
192
|
</C>
|
|
222
193
|
</C>
|
|
223
194
|
|
|
224
|
-
<
|
|
225
|
-
{
|
|
195
|
+
<V onPress={()=>{D("light"),Er(!0)}}style={{flexDirection:"row",alignItems:"center",backgroundColor:e.purpleShade50,paddingHorizontal:10,paddingVertical:6,borderRadius:8,gap:5,borderWidth:1,borderColor:`${e.purple}20`}}>
|
|
196
|
+
{ve?.flag?<T style={{fontSize:13}}>{ve.flag}</T>:<Zr size={14}color={e.purple}/>}
|
|
226
197
|
<T style={{fontFamily:S.interSemiBold,fontSize:12,color:e.purple}}>
|
|
227
|
-
{
|
|
198
|
+
{ve?.nativeName||ve?.name||"English"}
|
|
228
199
|
</T>
|
|
229
|
-
<
|
|
230
|
-
</
|
|
200
|
+
<Do size={11}color={e.purple}/>
|
|
201
|
+
</V>
|
|
231
202
|
</C>
|
|
232
203
|
</C>
|
|
233
204
|
|
|
@@ -242,7 +213,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
242
213
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
|
|
243
214
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
244
215
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
245
|
-
<
|
|
216
|
+
<Ro color={e.purple}size={15}/>
|
|
246
217
|
</C>
|
|
247
218
|
<C style={{flex:1}}>
|
|
248
219
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -254,16 +225,16 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
254
225
|
</C>
|
|
255
226
|
</C>
|
|
256
227
|
|
|
257
|
-
{
|
|
258
|
-
<
|
|
228
|
+
{Le!==Re&&<V onPress={()=>{jo(Le)}}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:e.purple,paddingHorizontal:10,paddingVertical:5,borderRadius:7,shadowColor:e.purple,shadowOffset:{width:0,height:1},shadowOpacity:.28,shadowRadius:2,elevation:2}}>
|
|
229
|
+
<Se size={11}color={e.white}/>
|
|
259
230
|
<T style={{fontFamily:S.interBold,fontSize:11,color:e.white}}>
|
|
260
|
-
Save ({
|
|
231
|
+
Save ({Le}%)
|
|
261
232
|
</T>
|
|
262
|
-
</
|
|
233
|
+
</V>}
|
|
263
234
|
</C>
|
|
264
235
|
|
|
265
236
|
<C style={{marginTop:6}}>
|
|
266
|
-
<
|
|
237
|
+
<Yr value={Le}onValueChange={Ar}min={50}max={90}step={5}quickPresets={[50,60,70,80,90]}formatLabel={r=>`${Math.round(r)}%`}/>
|
|
267
238
|
</C>
|
|
268
239
|
</C>
|
|
269
240
|
|
|
@@ -288,13 +259,13 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
288
259
|
|
|
289
260
|
<C style={{backgroundColor:"rgba(6, 182, 212, 0.14)",paddingHorizontal:8,paddingVertical:3,borderRadius:6,borderWidth:1,borderColor:"rgba(6, 182, 212, 0.30)"}}>
|
|
290
261
|
<T style={{fontFamily:S.interBold,fontSize:12,color:"#06B6D4"}}>
|
|
291
|
-
{
|
|
262
|
+
{Lr.toFixed(1)}
|
|
292
263
|
</T>
|
|
293
264
|
</C>
|
|
294
265
|
</C>
|
|
295
266
|
|
|
296
267
|
<C style={{marginTop:6}}>
|
|
297
|
-
<
|
|
268
|
+
<Yr value={Lr}onValueChange={r=>{const R=Math.round(r*10)/10;yt(R)}}min={.1}max={1}step={.1}quickPresets={[.1,.3,.5,.7,1]}formatLabel={r=>r.toFixed(1)}/>
|
|
298
269
|
</C>
|
|
299
270
|
</C>
|
|
300
271
|
|
|
@@ -304,7 +275,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
304
275
|
<C style={{gap:8}}>
|
|
305
276
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
306
277
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
307
|
-
<
|
|
278
|
+
<Et color={e.purple}size={15}/>
|
|
308
279
|
</C>
|
|
309
280
|
<C style={{flex:1}}>
|
|
310
281
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -317,11 +288,11 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
317
288
|
</C>
|
|
318
289
|
|
|
319
290
|
<C style={{flexDirection:"row",backgroundColor:e.grayBackground,borderRadius:10,padding:3,borderWidth:1,borderColor:e.dividerColor}}>
|
|
320
|
-
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const
|
|
321
|
-
<T style={{fontFamily:S.interBold,fontSize:11.5,lineHeight:15,color:
|
|
291
|
+
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const R=Uo===r.key;return<V key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Set transition animation to ${r.label}`}accessibilityState={{selected:R}}onPress={()=>Go(r.key)}style={{flex:1,paddingVertical:7,alignItems:"center",borderRadius:8,backgroundColor:R?e.purple:"transparent"}}>
|
|
292
|
+
<T style={{fontFamily:S.interBold,fontSize:11.5,lineHeight:15,color:R?e.white:e.grayText}}>
|
|
322
293
|
{r.label}
|
|
323
294
|
</T>
|
|
324
|
-
</
|
|
295
|
+
</V>})}
|
|
325
296
|
</C>
|
|
326
297
|
</C>
|
|
327
298
|
</C>
|
|
@@ -334,7 +305,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
334
305
|
|
|
335
306
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
336
307
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
337
|
-
<
|
|
308
|
+
<X color={e.purple}size={15}/>
|
|
338
309
|
</C>
|
|
339
310
|
<C style={{flex:1}}>
|
|
340
311
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -348,11 +319,11 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
348
319
|
|
|
349
320
|
|
|
350
321
|
<C style={{marginTop:6,gap:6}}>
|
|
351
|
-
<
|
|
322
|
+
<V accessible={!0}accessibilityRole="button"accessibilityLabel={`Default opening tab: ${N.find(r=>r.key===K)?.label||"APIs"}`}onPress={()=>Mr(r=>!r)}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.grayBackground,borderRadius:10,borderWidth:1.5,borderColor:Qe?e.purple:e.grayBorderSecondary,paddingHorizontal:14,paddingVertical:11}}>
|
|
352
323
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
353
324
|
<C style={{width:8,height:8,borderRadius:4,backgroundColor:e.purple}}/>
|
|
354
325
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
355
|
-
{
|
|
326
|
+
{N.find(r=>r.key===K)?`#${N.find(r=>r.key===K)?.id} ${N.find(r=>r.key===K)?.label}`:"#1 APIs (Network)"}
|
|
356
327
|
</T>
|
|
357
328
|
<C style={{backgroundColor:`${e.purple}14`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:6}}>
|
|
358
329
|
<T style={{fontFamily:S.interBold,fontSize:8.5,color:e.purple}}>
|
|
@@ -361,22 +332,22 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
361
332
|
</C>
|
|
362
333
|
</C>
|
|
363
334
|
|
|
364
|
-
<C style={{transform:[{rotate:
|
|
365
|
-
<
|
|
335
|
+
<C style={{transform:[{rotate:Qe?"180deg":"0deg"}]}}>
|
|
336
|
+
<Xt color={e.grayText}size={15}/>
|
|
366
337
|
</C>
|
|
367
|
-
</
|
|
338
|
+
</V>
|
|
368
339
|
|
|
369
340
|
|
|
370
|
-
{
|
|
371
|
-
{
|
|
341
|
+
{Qe&&<C style={{backgroundColor:e.primaryLight,borderRadius:10,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",shadowColor:e.black,shadowOpacity:.08,shadowRadius:6,shadowOffset:{width:0,height:3},elevation:4}}>
|
|
342
|
+
{N.filter(r=>r.key==="apis"||Y?.[r.key]).map((r,R,I)=>{const P=K===r.key,E=R===I.length-1;return<V key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Select ${r.label} as default tab`}onPress={()=>{Mo(r.key),Mr(!1)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:14,paddingVertical:11,backgroundColor:P?`${e.purple}0F`:"transparent",borderBottomWidth:E?0:1,borderBottomColor:e.dividerColor}}>
|
|
372
343
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
373
|
-
<C style={{width:6,height:6,borderRadius:3,backgroundColor:
|
|
374
|
-
<T style={{fontFamily:
|
|
344
|
+
<C style={{width:6,height:6,borderRadius:3,backgroundColor:P?e.purple:e.grayTextWeak}}/>
|
|
345
|
+
<T style={{fontFamily:P?S.interBold:S.interMedium,fontSize:13,color:P?e.purple:e.primaryBlack}}>
|
|
375
346
|
#{r.id} {r.label}
|
|
376
347
|
</T>
|
|
377
348
|
</C>
|
|
378
|
-
{
|
|
379
|
-
</
|
|
349
|
+
{P&&<Se size={14}color={e.purple}/>}
|
|
350
|
+
</V>})}
|
|
380
351
|
</C>}
|
|
381
352
|
</C>
|
|
382
353
|
</C>
|
|
@@ -390,7 +361,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
390
361
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
391
362
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1,marginRight:10}}>
|
|
392
363
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
393
|
-
<
|
|
364
|
+
<Ot color={e.purple}size={15}/>
|
|
394
365
|
</C>
|
|
395
366
|
<C style={{flex:1}}>
|
|
396
367
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -403,14 +374,14 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
403
374
|
</C>
|
|
404
375
|
</C>
|
|
405
376
|
|
|
406
|
-
<
|
|
377
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle NPM Update Toast"accessibilityState={{checked:je}}onPress={()=>Jo(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:je?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:je?"flex-end":"flex-start"}}>
|
|
407
378
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
408
|
-
</
|
|
379
|
+
</V>
|
|
409
380
|
</C>
|
|
410
381
|
</C>
|
|
411
|
-
</
|
|
382
|
+
</_.View>}
|
|
412
383
|
|
|
413
|
-
{
|
|
384
|
+
{q==="limits"&&<_.View style={{gap:14,opacity:M,transform:[{translateY:M.interpolate({inputRange:[0,1],outputRange:[10,0]})}]}}>
|
|
414
385
|
|
|
415
386
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
416
387
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
@@ -421,7 +392,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
421
392
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
422
393
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
423
394
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
424
|
-
<$
|
|
395
|
+
<$o color={e.purple}size={16}/>
|
|
425
396
|
</C>
|
|
426
397
|
<C style={{flex:1}}>
|
|
427
398
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -434,9 +405,9 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
434
405
|
</C>
|
|
435
406
|
</C>
|
|
436
407
|
|
|
437
|
-
<
|
|
408
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle auto RAM limit calculation"accessibilityState={{checked:W}}onPress={()=>Xo(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:W?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:W?"flex-end":"flex-start"}}>
|
|
438
409
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
439
|
-
</
|
|
410
|
+
</V>
|
|
440
411
|
</C>
|
|
441
412
|
|
|
442
413
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
@@ -444,19 +415,19 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
444
415
|
|
|
445
416
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
446
417
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:W?`${e.purple}14`:e.grayBackground,alignItems:"center",justifyContent:"center"}}>
|
|
447
|
-
<
|
|
418
|
+
<Co color={W?e.purple:e.grayTextWeak}size={15}/>
|
|
448
419
|
</C>
|
|
449
420
|
<C style={{flex:1}}>
|
|
450
421
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:W?e.primaryBlack:e.grayText}}>
|
|
451
422
|
Detected Available RAM
|
|
452
423
|
</T>
|
|
453
424
|
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
454
|
-
{
|
|
425
|
+
{Je} MB available on device
|
|
455
426
|
</T>
|
|
456
427
|
</C>
|
|
457
428
|
<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:W?`${e.purple}12`:e.grayBackground,borderWidth:1,borderColor:W?`${e.purple}26`:e.dividerColor}}>
|
|
458
429
|
<T style={{fontFamily:S.interBold,fontSize:12,lineHeight:15,color:W?e.purple:e.grayText}}>
|
|
459
|
-
{
|
|
430
|
+
{Je} MB
|
|
460
431
|
</T>
|
|
461
432
|
</C>
|
|
462
433
|
</C>
|
|
@@ -465,7 +436,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
465
436
|
<C style={{marginTop:4,paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor,gap:6}}>
|
|
466
437
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
467
438
|
<T style={{fontFamily:S.interBold,fontSize:11.5,lineHeight:15,color:e.purple}}>
|
|
468
|
-
Profile: {
|
|
439
|
+
Profile: {Ae.profileName}
|
|
469
440
|
</T>
|
|
470
441
|
<C style={{backgroundColor:W?`${e.emerald500}18`:`${e.purple}18`,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4}}>
|
|
471
442
|
<T style={{fontFamily:S.interBold,fontSize:9.5,color:W?e.emerald500:e.purple}}>
|
|
@@ -475,7 +446,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
475
446
|
</C>
|
|
476
447
|
|
|
477
448
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:4}}>
|
|
478
|
-
{[{label:"Logs",value:W?
|
|
449
|
+
{[{label:"Logs",value:W?Ae.maxConsoleLogs:Rr,color:e.sky500},{label:"Analytics",value:W?Ae.maxAnalyticsEvents:Vr,color:e.purple},{label:"Crash",value:W?Ae.maxCrashRecords:zr,color:e.errorColor}].map(r=><C key={r.label}style={{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${r.color}14`,borderWidth:1,borderColor:`${r.color}33`}}>
|
|
479
450
|
<T style={{fontFamily:S.interBold,fontSize:10.5,lineHeight:14,color:r.color}}>
|
|
480
451
|
{r.label}:
|
|
481
452
|
</T>
|
|
@@ -495,7 +466,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
495
466
|
|
|
496
467
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
497
468
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:`${e.emerald500}14`,alignItems:"center",justifyContent:"center"}}>
|
|
498
|
-
<
|
|
469
|
+
<Bo color={e.emerald500}size={15}/>
|
|
499
470
|
</C>
|
|
500
471
|
<C style={{flex:1}}>
|
|
501
472
|
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -525,21 +496,44 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
525
496
|
{w("settings.memory.manualDescription","Prune older entries across all log stores and free RAM")}
|
|
526
497
|
</T>
|
|
527
498
|
</C>
|
|
528
|
-
<
|
|
529
|
-
<
|
|
499
|
+
<V onPress={()=>{const r=zi("manual",.5);B(w("settings.memory.pruned",{count:r.totalPruned},`Pruned ${r.totalPruned} items from memory`))}}style={{backgroundColor:e.purple,paddingHorizontal:12,paddingVertical:8,borderRadius:8,flexDirection:"row",alignItems:"center",gap:5}}>
|
|
500
|
+
<O size={13}color={e.white}/>
|
|
530
501
|
<T style={{fontFamily:S.interBold,fontSize:11.5,color:e.white}}>
|
|
531
502
|
Prune Now
|
|
532
503
|
</T>
|
|
533
|
-
</
|
|
504
|
+
</V>
|
|
534
505
|
</C>
|
|
535
506
|
</C>
|
|
536
|
-
</
|
|
537
|
-
{
|
|
507
|
+
</_.View>}
|
|
508
|
+
{q==="capture"&&<_.View style={{gap:16,opacity:M,transform:[{translateY:M.interpolate({inputRange:[0,1],outputRange:[10,0]})}]}}>
|
|
509
|
+
|
|
510
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
511
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
512
|
+
<C style={{width:36,height:36,borderRadius:10,backgroundColor:`${e.rose500}1A`,alignItems:"center",justifyContent:"center"}}>
|
|
513
|
+
<Cr color={e.rose500}size={16}/>
|
|
514
|
+
</C>
|
|
515
|
+
<C style={{flex:1}}>
|
|
516
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
517
|
+
{w("settings.media.floatingWidgetTitle","Floating Capture Widget")}
|
|
518
|
+
</T>
|
|
519
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
520
|
+
{w("settings.media.floatingWidgetDesc","On-screen floating button to quickly take screenshots and record videos (Disabled by default)")}
|
|
521
|
+
</T>
|
|
522
|
+
</C>
|
|
523
|
+
</C>
|
|
524
|
+
|
|
525
|
+
{F({icon:<Te color={e.purple}size={16}/>,label:w("settings.media.enableFloatingWidget","Enable Floating Widget"),description:w("settings.media.enableFloatingWidgetDesc","Shows draggable quick screenshot & video recording button on screen"),isLast:!0,onPress:()=>{D("light"),Wr(r=>!r),B(`Capture widget: ${Q?"OFF":"ON"}`)},right:<V onPress={()=>{D("light"),Wr(r=>!r),B(`Capture widget: ${Q?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:Q?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:Q?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
526
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:Q?e.emerald500:e.grayText}}>
|
|
527
|
+
{Q?w("settings.media.enabled","ON"):"OFF"}
|
|
528
|
+
</T>
|
|
529
|
+
</V>})}
|
|
530
|
+
</C>
|
|
531
|
+
|
|
538
532
|
|
|
539
533
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
540
534
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
541
535
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
542
|
-
<
|
|
536
|
+
<Te color={e.purple}size={16}/>
|
|
543
537
|
</C>
|
|
544
538
|
<C style={{flex:1}}>
|
|
545
539
|
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -551,26 +545,26 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
551
545
|
</C>
|
|
552
546
|
</C>
|
|
553
547
|
|
|
554
|
-
{F({icon:<
|
|
555
|
-
{["png","jpeg","webp"].map(r=>{const
|
|
556
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
548
|
+
{F({icon:<Lo color={e.purple}size={16}/>,label:w("settings.media.imageFormat","Image Format"),description:w("settings.media.imageFormatDesc","Export formats (PNG lossless, JPEG lossy, WebP)"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
549
|
+
{["png","jpeg","webp"].map(r=>{const R=Ye===r;return<V key={r}onPress={()=>{D("light"),Ir(r),B(`Screenshot format: ${r.toUpperCase()}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
550
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
557
551
|
{r.toUpperCase()}
|
|
558
552
|
</T>
|
|
559
|
-
</
|
|
553
|
+
</V>})}
|
|
560
554
|
</C>})}
|
|
561
555
|
|
|
562
|
-
{F({icon:<Ce color={e.purple}size={16}/>,label:w("settings.media.autoHide","Auto-Hide Inspector During Capture"),description:w("settings.media.autoHideDesc","Temporarily hides the inspector overlay during screen capture"),isLast:!0,onPress:()=>{
|
|
563
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
564
|
-
{
|
|
556
|
+
{F({icon:<Ce color={e.purple}size={16}/>,label:w("settings.media.autoHide","Auto-Hide Inspector During Capture"),description:w("settings.media.autoHideDesc","Temporarily hides the inspector overlay during screen capture"),isLast:!0,onPress:()=>{D("light"),He(r=>!r),B(`Auto-hide overlay: ${L?"OFF":"ON"}`)},right:<V onPress={()=>{D("light"),He(r=>!r),B(`Auto-hide overlay: ${L?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:L?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:L?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
557
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:L?e.emerald500:e.grayText}}>
|
|
558
|
+
{L?w("settings.media.enabled","ON"):"OFF"}
|
|
565
559
|
</T>
|
|
566
|
-
</
|
|
560
|
+
</V>})}
|
|
567
561
|
</C>
|
|
568
562
|
|
|
569
563
|
|
|
570
564
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
571
565
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
572
566
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
573
|
-
<
|
|
567
|
+
<Cr color={e.purple}size={16}/>
|
|
574
568
|
</C>
|
|
575
569
|
<C style={{flex:1}}>
|
|
576
570
|
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -582,78 +576,118 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
582
576
|
</C>
|
|
583
577
|
</C>
|
|
584
578
|
|
|
585
|
-
{F({icon:<
|
|
586
|
-
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const
|
|
587
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
579
|
+
{F({icon:<Po color={e.purple}size={16}/>,label:w("settings.media.audioMode","Audio Source"),description:w("settings.media.audioModeDesc","Record video with muted, app audio, or microphone commentary"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
580
|
+
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const R=Dr===r.key;return<V key={r.key}onPress={()=>{D("light"),$r(r.key),B(`Audio source: ${r.label}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
581
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
588
582
|
{r.label}
|
|
589
583
|
</T>
|
|
590
|
-
</
|
|
584
|
+
</V>})}
|
|
591
585
|
</C>})}
|
|
592
586
|
|
|
593
|
-
{F({icon:<
|
|
594
|
-
{[15,24,30,60].map(r=>{const
|
|
595
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
587
|
+
{F({icon:<Ho color={e.purple}size={16}/>,label:w("settings.media.frameRate","Recording Frame Rate (FPS)"),description:w("settings.media.frameRateDesc","Target video smoothness: 15, 24, 30, or 60 FPS"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
588
|
+
{[15,24,30,60].map(r=>{const R=Hr===r;return<V key={r}onPress={()=>{D("light"),Pr(r),B(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
589
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
596
590
|
{r}fps
|
|
597
591
|
</T>
|
|
598
|
-
</
|
|
592
|
+
</V>})}
|
|
599
593
|
</C>})}
|
|
600
594
|
|
|
601
|
-
{F({icon:<
|
|
602
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
603
|
-
{
|
|
595
|
+
{F({icon:<Wo color={e.purple}size={16}/>,label:w("settings.media.gifAutoOpt","Auto GIF Optimization"),description:w("settings.media.gifAutoOptDesc","Automatic palette reduction and frame skip for lightweight animated GIFs"),isLast:!0,onPress:()=>{D("light"),Pe(r=>!r),B(`GIF optimization: ${A?"OFF":"ON"}`)},right:<V onPress={()=>{D("light"),Pe(r=>!r),B(`GIF optimization: ${A?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:A?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:A?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
596
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:A?e.emerald500:e.grayText}}>
|
|
597
|
+
{A?"ON":"OFF"}
|
|
604
598
|
</T>
|
|
605
|
-
</
|
|
599
|
+
</V>})}
|
|
606
600
|
</C>
|
|
607
601
|
|
|
608
602
|
|
|
609
603
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
610
|
-
{F({icon:<
|
|
604
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.media.purgeAll","Purge Captured Media Cache"),description:w("settings.media.purgeAllDesc","Delete all local screenshots, screen recordings and converted GIFs"),isLast:!0,onPress:()=>{j.alert(w("settings.media.purgeConfirmTitle","Purge Media Storage?"),w("settings.media.purgeConfirmMessage","This will permanently delete all captured screenshots and videos from disk."),[{text:w("common.cancel","Cancel"),style:"cancel"},{text:w("settings.media.purgeCacheBtn","Purge All"),style:"destructive",onPress:async()=>{await kr.clearAllMedia(),B(w("settings.media.purgedSuccess","Media cache cleared successfully"))}}])},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
611
605
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
612
606
|
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
613
607
|
</T>
|
|
614
608
|
</C>})}
|
|
615
609
|
</C>
|
|
616
|
-
</
|
|
610
|
+
</_.View>}
|
|
611
|
+
|
|
617
612
|
<C style={{height:48}}/>
|
|
618
|
-
</
|
|
613
|
+
</J>
|
|
614
|
+
</C>;let U=null;if(v==="apis")U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
619
615
|
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
<C style={{flex:
|
|
623
|
-
<
|
|
624
|
-
{
|
|
625
|
-
|
|
626
|
-
|
|
627
|
-
|
|
628
|
-
|
|
616
|
+
|
|
617
|
+
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16,gap:12}}>
|
|
618
|
+
<C style={{flexDirection:"row",alignItems:"flex-start",justifyContent:"space-between",gap:8}}>
|
|
619
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:8,flex:1}}>
|
|
620
|
+
<Ce color={e.purple}size={16}/>
|
|
621
|
+
<C style={{flex:1}}>
|
|
622
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
623
|
+
{w("settings.apis.hideUrlRegexTitle","Hidden URL Filters (Regex)")}
|
|
624
|
+
</T>
|
|
625
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayTextWeak,marginTop:2}}>
|
|
626
|
+
{w("settings.apis.hideUrlRegexDesc","Hide matching URLs from Network list and search results (calls will still execute normally).")}
|
|
627
|
+
</T>
|
|
628
|
+
</C>
|
|
629
|
+
</C>
|
|
630
|
+
{ee.length>0&&<V onPress={()=>{D("light"),Ke([...er]),B(w("settings.apis.resetFilterToast","Reset to default URL filters"))}}hitSlop={8}style={{paddingHorizontal:8,paddingVertical:4.5,borderRadius:6,backgroundColor:`${e.purple}14`,borderWidth:1,borderColor:`${e.purple}33`,alignSelf:"flex-start"}}>
|
|
631
|
+
<T style={{fontFamily:S.interSemiBold,fontSize:10,lineHeight:13,color:e.purple}}>
|
|
632
|
+
{w("common.resetDefaults","Reset Defaults")}
|
|
633
|
+
</T>
|
|
634
|
+
</V>}
|
|
629
635
|
</C>
|
|
630
636
|
|
|
631
|
-
|
|
632
|
-
|
|
633
|
-
<
|
|
634
|
-
|
|
635
|
-
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
|
|
637
|
+
|
|
638
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:8,backgroundColor:e.grayBackground,borderRadius:10,borderWidth:1,borderColor:e.grayBorderSecondary,paddingHorizontal:10,paddingVertical:Ur.OS==="ios"?8:4}}>
|
|
639
|
+
<Io size={14}color={e.grayTextWeak}/>
|
|
640
|
+
<_r style={{flex:1,fontFamily:S.interMedium,fontSize:12,lineHeight:16,color:e.primaryBlack,padding:0}}placeholder={w("settings.apis.addPatternPlaceholder","e.g. https://api.example.com or .*analytics.*")}placeholderTextColor={e.grayTextWeak}value={We}onChangeText={vr}autoCapitalize="none"autoCorrect={!1}onSubmitEditing={Or}returnKeyType="done"/>
|
|
641
|
+
<V onPress={Or}disabled={!We.trim()}style={{paddingHorizontal:10,paddingVertical:5.5,borderRadius:7,backgroundColor:We.trim()?e.purple:`${e.purple}33`}}>
|
|
642
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.white}}>
|
|
643
|
+
{w("common.add","+ Add")}
|
|
644
|
+
</T>
|
|
645
|
+
</V>
|
|
646
|
+
</C>
|
|
647
|
+
|
|
648
|
+
|
|
649
|
+
<C style={{gap:6}}>
|
|
650
|
+
{ee.map((r,R)=>{const I=er.includes(r);return<C key={`${r}-${R}`}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:I?`${e.slate200}44`:e.grayBackground,borderRadius:8,paddingHorizontal:10,paddingVertical:7,borderWidth:1,borderColor:I?`${e.grayBorderSecondary}`:e.grayBorderSecondary,gap:8}}>
|
|
651
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:6,flex:1,minWidth:0}}>
|
|
652
|
+
<C style={{paddingHorizontal:5,paddingVertical:1.5,borderRadius:4,backgroundColor:I?`${e.blue500}18`:`${e.purple}1F`}}>
|
|
653
|
+
<T style={{fontFamily:S.interBold,fontSize:9,lineHeight:11,color:I?e.blue600:e.purple}}>
|
|
654
|
+
{I?"DEFAULT":"CUSTOM"}
|
|
655
|
+
</T>
|
|
656
|
+
</C>
|
|
657
|
+
<T style={{fontFamily:S.interMedium,fontSize:11.5,lineHeight:15,color:I?e.grayTextStrong:e.primaryBlack,flex:1}}numberOfLines={1}ellipsizeMode="middle">
|
|
658
|
+
{r}
|
|
659
|
+
</T>
|
|
660
|
+
</C>
|
|
661
|
+
{I?<C style={{padding:5,borderRadius:5,backgroundColor:`${e.grayTextWeak}18`,alignItems:"center",justifyContent:"center"}}>
|
|
662
|
+
<Kt size={12}color={e.grayTextWeak}/>
|
|
663
|
+
</C>:<V onPress={()=>bt(R)}hitSlop={8}style={{padding:5,borderRadius:5,backgroundColor:`${e.errorColor}14`}}>
|
|
664
|
+
<O size={12}color={e.errorColor}/>
|
|
665
|
+
</V>}
|
|
666
|
+
</C>})}
|
|
667
|
+
{ee.length===0&&<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayTextWeak,textAlign:"center",paddingVertical:8}}>
|
|
668
|
+
{w("settings.apis.noFiltersActive","No URL filters active. All URLs will be displayed.")}
|
|
669
|
+
</T>}
|
|
670
|
+
</C>
|
|
671
|
+
</C>
|
|
639
672
|
|
|
673
|
+
|
|
640
674
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
641
|
-
{F({icon:<
|
|
675
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.apis.clearNetworkLogs"),description:w("settings.apis.clearNetworkLogsDescription",{count:Ue.length}),isLast:!0,onPress:()=>{Bt(),ot(null),j.alert(w("common.success"),w("settings.apis.networkLogsCleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
642
676
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
643
677
|
{w("common.clear")}
|
|
644
678
|
</T>
|
|
645
679
|
</C>})}
|
|
646
680
|
</C>
|
|
647
681
|
<C style={{height:48}}/>
|
|
648
|
-
</
|
|
682
|
+
</J>;else if(v==="logs")U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
649
683
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
650
|
-
{F({icon:<
|
|
684
|
+
{F({icon:<So color={e.purple}size={16}/>,label:w("settings.logs.maxConsoleLogs"),description:w("settings.logs.maxConsoleLogsDescription"),numericInput:{value:Rr,onChange:Ko,min:10,max:100,placeholder:"Enter max logs (10-100)"}})}
|
|
651
685
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
652
686
|
<T style={{fontFamily:S.interBold,fontSize:13,lineHeight:17,color:e.primaryBlack,paddingTop:6}}>
|
|
653
687
|
{w("settings.logs.logLevels")}
|
|
654
688
|
</T>
|
|
655
|
-
{["info","warn","error"].map(r=>{const
|
|
656
|
-
{
|
|
689
|
+
{["info","warn","error"].map(r=>{const R=qo?.[r],I=r==="error"?e.errorColor:r==="warn"?e.warningIconGold:e.skyBlue,P=w(r==="info"?"settings.logs.showInfo":r==="warn"?"settings.logs.showWarn":"settings.logs.showError"),E=w(r==="info"?"settings.logs.showInfoDesc":r==="warn"?"settings.logs.showWarnDesc":"settings.logs.showErrorDesc");return F({icon:<C style={{width:12,height:12,borderRadius:6,backgroundColor:I}}/>,label:P,description:E,isLast:r==="error",onPress:()=>Yo(z=>({...z,[r]:!z[r]})),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:R?e.purple:e.grayTextWeak,backgroundColor:R?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
690
|
+
{R&&<Se size={12}color={e.purple}/>}
|
|
657
691
|
</C>})})}
|
|
658
692
|
</C>
|
|
659
693
|
|
|
@@ -679,74 +713,141 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
679
713
|
</C>
|
|
680
714
|
</C>
|
|
681
715
|
|
|
682
|
-
<
|
|
716
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle show duplicate logs"accessibilityState={{checked:Ne}}onPress={()=>_o(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:Ne?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:Ne?"flex-end":"flex-start"}}>
|
|
683
717
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
684
|
-
</
|
|
718
|
+
</V>
|
|
685
719
|
</C>
|
|
686
720
|
</C>
|
|
687
721
|
|
|
688
722
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
689
|
-
{F({icon:<
|
|
723
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.logs.clearConsoleLogs"),description:w("settings.logs.clearConsoleLogsDescription",{count:Ge.length}),isLast:!0,onPress:()=>{Ft(),j.alert(w("common.success"),w("settings.logs.consoleLogsCleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
690
724
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
691
725
|
{w("common.clear")}
|
|
692
726
|
</T>
|
|
693
727
|
</C>})}
|
|
694
728
|
</C>
|
|
695
729
|
<C style={{height:48}}/>
|
|
696
|
-
</
|
|
730
|
+
</J>;else if(v==="analytics")U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
697
731
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary}}>
|
|
698
|
-
{F({icon:<
|
|
732
|
+
{F({icon:<To color={e.purple}size={16}/>,label:w("settings.analytics.maxAnalyticsEvents"),description:w("settings.analytics.maxAnalyticsEventsDescription",{count:_e.length}),numericInput:{value:Vr,onChange:Qo,min:10,max:75,placeholder:"Enter max events (10-75)"},isLast:!0})}
|
|
699
733
|
</C>
|
|
700
734
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
701
|
-
{F({icon:<
|
|
735
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.analytics.clearAnalyticsEvents"),description:w("settings.analytics.clearAnalyticsEventsDescription"),isLast:!0,onPress:()=>{It(),tt(null),j.alert(w("common.success"),w("settings.analytics.analyticsEventsCleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
702
736
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
703
737
|
{w("common.clear")}
|
|
704
738
|
</T>
|
|
705
739
|
</C>})}
|
|
706
740
|
</C>
|
|
707
741
|
<C style={{height:48}}/>
|
|
708
|
-
</
|
|
742
|
+
</J>;else if(v==="redux")U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
709
743
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
710
|
-
{F({icon:<
|
|
711
|
-
{
|
|
744
|
+
{F({icon:<Vo color={e.purple}size={16}/>,label:w("settings.redux.autoRefresh"),description:w("settings.redux.autoRefreshDescription"),onPress:()=>Zo(r=>!r),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:qe?e.purple:e.grayTextWeak,backgroundColor:qe?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
745
|
+
{qe&&<Se size={12}color={e.purple}/>}
|
|
712
746
|
</C>})}
|
|
713
747
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
714
|
-
{F({icon:<
|
|
748
|
+
{F({icon:<X color={e.purple}size={16}/>,label:w("settings.redux.defaultJsonExpandDepth"),description:w("settings.redux.defaultJsonExpandDepthDescription"),picker:{options:[1,2,3,5],selectedValue:et,onSelect:rt},isLast:!0})}
|
|
715
749
|
</C>
|
|
716
750
|
|
|
717
751
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
718
|
-
{F({icon:<
|
|
752
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.redux.clearReduxState"),description:w(Ve?"settings.redux.clearReduxStateDescription":"settings.redux.clearReduxStateEmpty"),isLast:!0,onPress:()=>{it(null),j.alert(w("common.success"),w("settings.redux.reduxStateCleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
719
753
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
720
754
|
{w("common.clear")}
|
|
721
755
|
</T>
|
|
722
756
|
</C>})}
|
|
723
757
|
</C>
|
|
724
758
|
<C style={{height:48}}/>
|
|
725
|
-
</
|
|
759
|
+
</J>;else if(v==="crash"){const r=!!H?.js&&!H?.native&&!!H?.render&&!H?.promise&&!H?.custom,R=!H?.js&&!H?.native&&!H?.render&&!H?.promise&&!H?.custom,I=!!H?.js&&!!H?.native&&!!H?.render&&!!H?.promise&&!!H?.custom,P=["js","native","render","promise","custom"].filter(z=>!H?.[z]).length,E=[{key:"js",label:w("settings.crash.ignoreJs","Ignore JS Runtime Crashes"),desc:w("settings.crash.ignoreJsDesc","Bypasses unhandled JS runtime exceptions, TypeError, SyntaxError & ErrorUtils"),icon:<Gt size={16}color={e.yellow400}/>},{key:"native",label:w("settings.crash.ignoreNative","Ignore Native Platform Crashes"),desc:w("settings.crash.ignoreNativeDesc","Bypasses iOS Mach-O signals, SIGSEGV, NullPointerException & ExceptionsManager"),icon:<_t size={16}color={e.cyan600}/>},{key:"render",label:w("settings.crash.ignoreRender","Ignore React Render Errors"),desc:w("settings.crash.ignoreRenderDesc","Bypasses React component tree render failures & ErrorBoundary"),icon:<Jt size={16}color={e.purple400}/>},{key:"promise",label:w("settings.crash.ignorePromise","Ignore Promise Rejections"),desc:w("settings.crash.ignorePromiseDesc","Bypasses unhandled asynchronous Promise rejections"),icon:<Yt size={16}color={e.amber400}/>},{key:"custom",label:w("settings.crash.ignoreCustom","Ignore Custom Recorded Errors"),desc:w("settings.crash.ignoreCustomDesc","Bypasses manual recordCustomCrash exceptions & telemetry triggers"),icon:<Io size={16}color={e.emerald400}/>}];U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:14}}showsVerticalScrollIndicator={!1}>
|
|
760
|
+
|
|
761
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
762
|
+
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
763
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:8}}>
|
|
764
|
+
<Fo size={16}color={e.purple}/>
|
|
765
|
+
<T style={{fontFamily:S.interBold,fontSize:12.5,letterSpacing:.5,color:e.purple}}>
|
|
766
|
+
{w("settings.crash.governancePresets","GOVERNANCE PRESETS")}
|
|
767
|
+
</T>
|
|
768
|
+
</C>
|
|
769
|
+
<C style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:`${e.purple}14`}}>
|
|
770
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:e.purple}}>
|
|
771
|
+
{P} / 5 PROTECTED
|
|
772
|
+
</T>
|
|
773
|
+
</C>
|
|
774
|
+
</C>
|
|
775
|
+
|
|
776
|
+
|
|
777
|
+
<C style={{flexDirection:"row",gap:8}}>
|
|
778
|
+
<V onPress={()=>Be("balanced")}style={{flex:1,paddingVertical:10,paddingHorizontal:6,borderRadius:10,borderWidth:1.5,borderColor:r?e.purple:e.grayBorderSecondary,backgroundColor:r?`${e.purple}12`:e.grayBackground,alignItems:"center",gap:4}}>
|
|
779
|
+
<Nt size={16}color={r?e.purple:e.grayText}/>
|
|
780
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:r?e.purple:e.primaryBlack}}>
|
|
781
|
+
{w("settings.crash.presetBalanced","Balanced")}
|
|
782
|
+
</T>
|
|
783
|
+
</V>
|
|
784
|
+
|
|
785
|
+
<V onPress={()=>Be("max_shield")}style={{flex:1,paddingVertical:10,paddingHorizontal:6,borderRadius:10,borderWidth:1.5,borderColor:R?e.greenColor:e.grayBorderSecondary,backgroundColor:R?`${e.greenColor}12`:e.grayBackground,alignItems:"center",gap:4}}>
|
|
786
|
+
<Fo size={16}color={R?e.greenColor:e.grayText}/>
|
|
787
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:R?e.greenColor:e.primaryBlack}}>
|
|
788
|
+
{w("settings.crash.presetMaxShield","Max Shield")}
|
|
789
|
+
</T>
|
|
790
|
+
</V>
|
|
791
|
+
|
|
792
|
+
<V onPress={()=>Be("silent")}style={{flex:1,paddingVertical:10,paddingHorizontal:6,borderRadius:10,borderWidth:1.5,borderColor:I?e.grayTextWeak:e.grayBorderSecondary,backgroundColor:I?`${e.grayTextWeak}1A`:e.grayBackground,alignItems:"center",gap:4}}>
|
|
793
|
+
<Ut size={16}color={I?e.grayText:e.grayTextWeak}/>
|
|
794
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:I?e.grayText:e.primaryBlack}}>
|
|
795
|
+
{w("settings.crash.presetSilent","Silent Mode")}
|
|
796
|
+
</T>
|
|
797
|
+
</V>
|
|
798
|
+
</C>
|
|
799
|
+
|
|
800
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText}}>
|
|
801
|
+
{r?w("settings.crash.presetBalancedDesc","Recommended: Native & Promise protected; JS & Render ignored for clean dev workflow"):R?w("settings.crash.presetMaxShieldDesc","100% Protection: Intercepts & captures all 5 error categories"):I?w("settings.crash.presetSilentDesc","Bypasses all error modals & badges for screencasts & clean demos"):w("settings.crash.categoryMatrix","Customized rule matrix actively configured below")}
|
|
802
|
+
</T>
|
|
803
|
+
</C>
|
|
804
|
+
|
|
805
|
+
|
|
806
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
807
|
+
<T style={{fontFamily:S.interBold,fontSize:12.5,letterSpacing:.5,color:e.purple,marginBottom:4}}>
|
|
808
|
+
{w("settings.crash.categoryMatrix","ERROR INTERCEPTION & IGNORED CATEGORIES")}
|
|
809
|
+
</T>
|
|
810
|
+
|
|
811
|
+
{E.map((z,$)=>{const G=!!H?.[z.key],oe=$===E.length-1;return F({key:z.key,icon:z.icon,label:z.label,description:z.desc,isLast:oe,onPress:()=>{lt(Nr=>({...Nr,[z.key]:!Nr[z.key]}))},right:<C style={{flexDirection:"row",alignItems:"center",gap:8}}>
|
|
812
|
+
<C style={{paddingHorizontal:6,paddingVertical:2.5,borderRadius:5,backgroundColor:G?`${e.warningIconGold}18`:`${e.greenColor}18`}}>
|
|
813
|
+
<T style={{fontFamily:S.interBold,fontSize:9.5,color:G?e.warningIconGold:e.greenColor}}>
|
|
814
|
+
{G?w("settings.crash.ignoredBadge","IGNORED"):w("settings.crash.protectedBadge","PROTECTED")}
|
|
815
|
+
</T>
|
|
816
|
+
</C>
|
|
817
|
+
<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:G?e.purple:e.grayTextWeak,backgroundColor:G?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
818
|
+
{G&&<Se size={12}color={e.purple}/>}
|
|
819
|
+
</C>
|
|
820
|
+
</C>})})}
|
|
821
|
+
</C>
|
|
822
|
+
|
|
823
|
+
|
|
824
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary}}>
|
|
825
|
+
{F({icon:<Bo color={e.purple}size={16}/>,label:w("settings.crash.modalTriggerTitle","Modal Alert Display Policy"),description:w("settings.crash.modalTriggerDesc","Configure when the full-screen diagnostic modal appears"),isLast:!0,picker:{options:["fatal_only","all_errors","silent_tab_only"],selectedValue:at||"fatal_only",onSelect:z=>Fr(z),formatLabel:z=>z==="fatal_only"?w("settings.crash.policyFatalOnly","Fatal Only"):z==="all_errors"?w("settings.crash.policyAllErrors","All Caught"):w("settings.crash.policySilent","Silent Only")}})}
|
|
826
|
+
</C>
|
|
827
|
+
|
|
828
|
+
|
|
726
829
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
727
|
-
{F({icon:<
|
|
830
|
+
{F({icon:<X color={e.purple}size={16}/>,label:w("settings.crash.maxCrashLogs","Max Crash Logs Buffer"),description:w("settings.crash.maxCrashLogsDesc","How many crash records to preserve in history (5-100)"),numericInput:{value:zr,onChange:Br,min:5,max:100,placeholder:"Enter max crashes (5-100)"}})}
|
|
728
831
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
729
|
-
{F({icon:<
|
|
730
|
-
<T style={{fontFamily:S.interBold,fontSize:
|
|
731
|
-
{w("settings.
|
|
832
|
+
{F({icon:<Qt color={e.purple}size={16}/>,label:w("settings.crash.resetDefaults","Reset to Defaults"),description:w("settings.crash.resetDefaultsDesc","Restore recommended balanced crash protection settings"),onPress:()=>{Be("balanced"),Br(50),Fr("fatal_only"),j.alert(w("common.success","Success"),w("settings.crash.resetDefaultsDesc","Restore recommended balanced crash protection settings"))},right:<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:`${e.purple}14`,borderWidth:1,borderColor:`${e.purple}33`}}>
|
|
833
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:e.purple}}>
|
|
834
|
+
{w("settings.reset","Reset")}
|
|
732
835
|
</T>
|
|
733
836
|
</C>})}
|
|
734
|
-
|
|
735
|
-
|
|
736
|
-
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
737
|
-
{F({icon:<U color={e.errorColor}size={16}/>,label:w("settings.crash.clearHistory"),description:w("settings.crash.clearHistoryDesc",{count:oe?.length||0}),isLast:!0,onPress:()=>{Do(),N.alert(w("common.success"),w("settings.crash.historyCleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
837
|
+
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
838
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.crash.clearHistory","Clear Crash History"),description:w("settings.crash.clearHistoryDesc",{count:ze?.length||0}),isLast:!0,onPress:()=>{Dt(),j.alert(w("common.success","Success"),w("settings.crash.historyCleared","Crash logs cleared."))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
738
839
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
739
|
-
{w("common.clear")}
|
|
840
|
+
{w("common.clear","Clear")}
|
|
740
841
|
</T>
|
|
741
842
|
</C>})}
|
|
742
843
|
</C>
|
|
743
844
|
<C style={{height:48}}/>
|
|
744
|
-
</
|
|
845
|
+
</J>}else v==="push"?U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
745
846
|
|
|
746
847
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
747
|
-
{F({icon:<
|
|
848
|
+
{F({icon:<X color={e.purple}size={16}/>,label:"Max Push Notification Logs",description:"Buffer size limit for recorded push payloads (10-200)",numericInput:{value:nt,onChange:st,min:10,max:200,placeholder:"Enter max logs (10-200)"}})}
|
|
748
849
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
749
|
-
{F({icon:<
|
|
850
|
+
{F({icon:<Ao color={e.greenColor}size={16}/>,label:"Universal Ingestion Engine",description:"Captures any push domain (Salesforce, FCM, APNs, Expo, Braze, Custom)",isLast:!0,right:<C style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${e.greenColor}1F`}}>
|
|
750
851
|
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
751
852
|
ACTIVE
|
|
752
853
|
</T>
|
|
@@ -756,54 +857,54 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
756
857
|
|
|
757
858
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
758
859
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
759
|
-
<
|
|
860
|
+
<Sr size={13}color={e.amber500}/>
|
|
760
861
|
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
761
862
|
{w("settings.simulatePushTitle","SIMULATE TEST PUSH NOTIFICATIONS")}
|
|
762
863
|
</T>
|
|
763
864
|
</C>
|
|
764
865
|
|
|
765
866
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:6}}>
|
|
766
|
-
<
|
|
867
|
+
<V onPress={()=>{Ie("salesforce"),B(w("settings.simulator.salesforce","Simulated Salesforce Marketing Cloud push"))}}style={{backgroundColor:`${e.sky600}14`,borderColor:`${e.sky600}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
767
868
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.sky600}}>
|
|
768
869
|
+ Salesforce MC
|
|
769
870
|
</T>
|
|
770
|
-
</
|
|
871
|
+
</V>
|
|
771
872
|
|
|
772
|
-
<
|
|
873
|
+
<V onPress={()=>{Ie("fcm"),B(w("settings.simulator.fcm","Simulated Firebase FCM push"))}}style={{backgroundColor:`${e.darkOrange}14`,borderColor:`${e.darkOrange}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
773
874
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.darkOrange}}>
|
|
774
875
|
+ Firebase FCM
|
|
775
876
|
</T>
|
|
776
|
-
</
|
|
877
|
+
</V>
|
|
777
878
|
|
|
778
|
-
<
|
|
879
|
+
<V onPress={()=>{Ie("apns"),B(w("settings.simulator.apns","Simulated Apple APNs push"))}}style={{backgroundColor:`${e.primaryBlack}10`,borderColor:`${e.primaryBlack}25`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
779
880
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.primaryBlack}}>
|
|
780
881
|
+ Apple APNs
|
|
781
882
|
</T>
|
|
782
|
-
</
|
|
883
|
+
</V>
|
|
783
884
|
|
|
784
|
-
<
|
|
885
|
+
<V onPress={()=>{Ie("deeplink"),B(w("settings.simulator.deepLink","Simulated Deep Link push"))}}style={{backgroundColor:`${e.brandPurple}14`,borderColor:`${e.brandPurple}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
785
886
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.brandPurple}}>
|
|
786
887
|
+ Deep Link
|
|
787
888
|
</T>
|
|
788
|
-
</
|
|
889
|
+
</V>
|
|
789
890
|
</C>
|
|
790
891
|
</C>
|
|
791
892
|
|
|
792
893
|
|
|
793
894
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
794
|
-
{F({icon:<
|
|
895
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("push.clearTitle","Clear Push History"),description:`Permanently remove all ${Fe?.length||0} recorded notifications`,isLast:!0,onPress:()=>{dt(),j.alert(w("common.success","Success"),w("settings.pushHistoryCleared","Push notification history cleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
795
896
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
796
897
|
{w("common.clear")}
|
|
797
898
|
</T>
|
|
798
899
|
</C>})}
|
|
799
900
|
</C>
|
|
800
901
|
<C style={{height:48}}/>
|
|
801
|
-
</
|
|
902
|
+
</J>:v==="socket"?U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
802
903
|
|
|
803
904
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
804
|
-
{F({icon:<
|
|
905
|
+
{F({icon:<X color={e.purple}size={16}/>,label:"Max WebSocket Connections",description:"Ring buffer limit for active & closed socket sessions (10-200)",numericInput:{value:ct,onChange:gt,min:10,max:200,placeholder:"Enter max sockets (10-200)"}})}
|
|
805
906
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
806
|
-
{F({icon:<
|
|
907
|
+
{F({icon:<Eo color={e.greenColor}size={16}/>,label:"Global WebSocket Interceptor",description:"Automatic capture for WebSocket, WSS & Socket.IO traffic",isLast:!0,right:<C style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${e.greenColor}1F`}}>
|
|
807
908
|
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
808
909
|
ACTIVE
|
|
809
910
|
</T>
|
|
@@ -813,65 +914,65 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
813
914
|
|
|
814
915
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
815
916
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
816
|
-
<
|
|
917
|
+
<Sr size={13}color={e.amber500}/>
|
|
817
918
|
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
818
919
|
{w("settings.simulateSocketTitle","SIMULATE TEST SOCKET CONNECTIONS")}
|
|
819
920
|
</T>
|
|
820
921
|
</C>
|
|
821
922
|
|
|
822
923
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:6}}>
|
|
823
|
-
<
|
|
924
|
+
<V onPress={()=>{$e("chat"),B(w("settings.simulator.chat","Simulated Real-time Chat WebSocket session"))}}style={{backgroundColor:`${e.blue600}14`,borderColor:`${e.blue600}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
824
925
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.blue600}}>
|
|
825
926
|
+ Chat Room (WS)
|
|
826
927
|
</T>
|
|
827
|
-
</
|
|
928
|
+
</V>
|
|
828
929
|
|
|
829
|
-
<
|
|
930
|
+
<V onPress={()=>{$e("crypto"),B(w("settings.simulator.crypto","Simulated Binance Crypto Ticker stream"))}}style={{backgroundColor:`${e.emerald600}14`,borderColor:`${e.emerald600}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
830
931
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.emerald600}}>
|
|
831
932
|
+ Crypto Feed (WSS)
|
|
832
933
|
</T>
|
|
833
|
-
</
|
|
934
|
+
</V>
|
|
834
935
|
|
|
835
|
-
<
|
|
936
|
+
<V onPress={()=>{$e("socketio"),B(w("settings.simulator.socketio","Simulated Socket.IO v4 session"))}}style={{backgroundColor:`${e.violet600}14`,borderColor:`${e.violet600}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
836
937
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.violet600}}>
|
|
837
938
|
+ Socket.IO Room
|
|
838
939
|
</T>
|
|
839
|
-
</
|
|
940
|
+
</V>
|
|
840
941
|
|
|
841
|
-
<
|
|
942
|
+
<V onPress={()=>{$e("echo"),B(w("settings.simulator.echo","Simulated WebSocket Echo test"))}}style={{backgroundColor:`${e.brandPurple}14`,borderColor:`${e.brandPurple}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
842
943
|
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.brandPurple}}>
|
|
843
944
|
+ Echo Test
|
|
844
945
|
</T>
|
|
845
|
-
</
|
|
946
|
+
</V>
|
|
846
947
|
</C>
|
|
847
948
|
</C>
|
|
848
949
|
|
|
849
950
|
|
|
850
951
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
851
|
-
{F({icon:<
|
|
952
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("socket.clearTitle","Clear All WebSocket Logs").replace("All WebSocket Logs","Socket History"),description:`Permanently remove all ${De?.length||0} recorded sessions`,isLast:!0,onPress:()=>{pt(),j.alert(w("common.success","Success"),w("settings.socketHistoryCleared","WebSocket history cleared"))},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
852
953
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
853
954
|
{w("common.clear")}
|
|
854
955
|
</T>
|
|
855
956
|
</C>})}
|
|
856
957
|
</C>
|
|
857
958
|
<C style={{height:48}}/>
|
|
858
|
-
</
|
|
959
|
+
</J>:v==="media"&&(U=<J style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
859
960
|
|
|
860
961
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
861
962
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
862
|
-
<
|
|
963
|
+
<Sr size={13}color={e.amber500}/>
|
|
863
964
|
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
864
965
|
{w("settings.directCaptureShortcuts","DIRECT CAPTURE SHORTCUTS")}
|
|
865
966
|
</T>
|
|
866
967
|
</C>
|
|
867
968
|
|
|
868
969
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8}}>
|
|
869
|
-
<
|
|
870
|
-
<
|
|
970
|
+
<V onPress={async()=>{D("light"),await kr.takeScreenshot({format:Ye.toLowerCase(),quality:.9,hideInspector:L})&&(D("success"),B(w("settings.simulator.screenshotSaved","Screenshot captured and saved!")))}}style={{backgroundColor:`${e.purple}14`,borderColor:`${e.purple}33`,borderWidth:1,paddingHorizontal:12,paddingVertical:7,borderRadius:8,flexDirection:"row",alignItems:"center",gap:6}}>
|
|
971
|
+
<Te color={e.purple}size={14}/>
|
|
871
972
|
<T style={{fontSize:11,fontFamily:S.interBold,color:e.purple}}>
|
|
872
973
|
Take Screenshot
|
|
873
974
|
</T>
|
|
874
|
-
</
|
|
975
|
+
</V>
|
|
875
976
|
</C>
|
|
876
977
|
</C>
|
|
877
978
|
|
|
@@ -879,7 +980,7 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
879
980
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
880
981
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
881
982
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
882
|
-
<
|
|
983
|
+
<Te color={e.purple}size={16}/>
|
|
883
984
|
</C>
|
|
884
985
|
<C style={{flex:1}}>
|
|
885
986
|
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -891,26 +992,26 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
891
992
|
</C>
|
|
892
993
|
</C>
|
|
893
994
|
|
|
894
|
-
{F({icon:<
|
|
895
|
-
{["png","jpeg","webp"].map(r=>{const
|
|
896
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
995
|
+
{F({icon:<Lo color={e.purple}size={16}/>,label:w("settings.media.imageFormat","Image Format"),description:w("settings.media.imageFormatDesc","Export formats (PNG lossless, JPEG lossy, WebP)"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
996
|
+
{["png","jpeg","webp"].map(r=>{const R=Ye===r;return<V key={r}onPress={()=>{D("light"),Ir(r),B(`Screenshot format: ${r.toUpperCase()}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
997
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
897
998
|
{r.toUpperCase()}
|
|
898
999
|
</T>
|
|
899
|
-
</
|
|
1000
|
+
</V>})}
|
|
900
1001
|
</C>})}
|
|
901
1002
|
|
|
902
|
-
{F({icon:<Ce color={e.purple}size={16}/>,label:w("settings.media.autoHide","Auto-Hide Inspector During Capture"),description:w("settings.media.autoHideDesc","Temporarily hides the inspector overlay during screen capture"),isLast:!0,onPress:()=>{
|
|
903
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
904
|
-
{
|
|
1003
|
+
{F({icon:<Ce color={e.purple}size={16}/>,label:w("settings.media.autoHide","Auto-Hide Inspector During Capture"),description:w("settings.media.autoHideDesc","Temporarily hides the inspector overlay during screen capture"),isLast:!0,onPress:()=>{D("light"),He(r=>!r),B(`Auto-hide overlay: ${L?"OFF":"ON"}`)},right:<V onPress={()=>{D("light"),He(r=>!r),B(`Auto-hide overlay: ${L?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:L?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:L?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
1004
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:L?e.emerald500:e.grayText}}>
|
|
1005
|
+
{L?w("settings.media.enabled","ON"):"OFF"}
|
|
905
1006
|
</T>
|
|
906
|
-
</
|
|
1007
|
+
</V>})}
|
|
907
1008
|
</C>
|
|
908
1009
|
|
|
909
1010
|
|
|
910
1011
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
911
1012
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
912
1013
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
913
|
-
<
|
|
1014
|
+
<Cr color={e.purple}size={16}/>
|
|
914
1015
|
</C>
|
|
915
1016
|
<C style={{flex:1}}>
|
|
916
1017
|
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
@@ -922,49 +1023,49 @@ import{useMemo as he,useState as be,useEffect as ve,useRef as ko}from"react";imp
|
|
|
922
1023
|
</C>
|
|
923
1024
|
</C>
|
|
924
1025
|
|
|
925
|
-
{F({icon:<
|
|
926
|
-
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const
|
|
927
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
1026
|
+
{F({icon:<Po color={e.purple}size={16}/>,label:w("settings.media.audioMode","Audio Source"),description:w("settings.media.audioModeDesc","Record video with muted, app audio, or microphone commentary"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
1027
|
+
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const R=Dr===r.key;return<V key={r.key}onPress={()=>{D("light"),$r(r.key),B(`Audio source: ${r.label}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
1028
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
928
1029
|
{r.label}
|
|
929
1030
|
</T>
|
|
930
|
-
</
|
|
1031
|
+
</V>})}
|
|
931
1032
|
</C>})}
|
|
932
1033
|
|
|
933
|
-
{F({icon:<
|
|
934
|
-
{[15,24,30,60].map(r=>{const
|
|
935
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
1034
|
+
{F({icon:<Ho color={e.purple}size={16}/>,label:w("settings.media.frameRate","Recording Frame Rate (FPS)"),description:w("settings.media.frameRateDesc","Target video smoothness: 15, 24, 30, or 60 FPS"),right:<C style={{flexDirection:"row",gap:5}}>
|
|
1035
|
+
{[15,24,30,60].map(r=>{const R=Hr===r;return<V key={r}onPress={()=>{D("light"),Pr(r),B(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:R?e.purple:`${e.purple}14`,borderWidth:1,borderColor:R?e.purple:`${e.purple}2E`}}>
|
|
1036
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:R?e.white:e.purple}}>
|
|
936
1037
|
{r}fps
|
|
937
1038
|
</T>
|
|
938
|
-
</
|
|
1039
|
+
</V>})}
|
|
939
1040
|
</C>})}
|
|
940
1041
|
|
|
941
|
-
{F({icon:<
|
|
942
|
-
<T style={{fontFamily:S.interBold,fontSize:10.5,color:
|
|
943
|
-
{
|
|
1042
|
+
{F({icon:<Wo color={e.purple}size={16}/>,label:w("settings.media.gifAutoOpt","Auto GIF Optimization"),description:w("settings.media.gifAutoOptDesc","Automatic palette reduction and frame skip for lightweight animated GIFs"),isLast:!0,onPress:()=>{D("light"),Pe(r=>!r),B(`GIF optimization: ${A?"OFF":"ON"}`)},right:<V onPress={()=>{D("light"),Pe(r=>!r),B(`GIF optimization: ${A?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:A?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:A?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
1043
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:A?e.emerald500:e.grayText}}>
|
|
1044
|
+
{A?"ON":"OFF"}
|
|
944
1045
|
</T>
|
|
945
|
-
</
|
|
1046
|
+
</V>})}
|
|
946
1047
|
</C>
|
|
947
1048
|
|
|
948
1049
|
|
|
949
1050
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
950
|
-
{F({icon:<
|
|
1051
|
+
{F({icon:<O color={e.errorColor}size={16}/>,label:w("settings.media.purgeAll","Purge Captured Media Cache"),description:w("settings.media.purgeAllDesc","Delete all local screenshots, screen recordings and converted GIFs"),isLast:!0,onPress:()=>{j.alert(w("settings.media.purgeConfirmTitle","Purge Media Storage?"),w("settings.media.purgeConfirmMessage","This will permanently delete all captured screenshots and videos from disk."),[{text:w("common.cancel","Cancel"),style:"cancel"},{text:w("settings.media.purgeCacheBtn","Purge All"),style:"destructive",onPress:async()=>{await kr.clearAllMedia(),B(w("settings.media.purgedSuccess","Media cache cleared successfully"))}}])},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
951
1052
|
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
952
1053
|
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
953
1054
|
</T>
|
|
954
1055
|
</C>})}
|
|
955
1056
|
</C>
|
|
956
1057
|
<C style={{height:48}}/>
|
|
957
|
-
</
|
|
1058
|
+
</J>);const Oe=jr(new _.Value(0)).current;return Ze(()=>{v!=="main"&&(Oe.setValue(0),_.spring(Oe,{toValue:1,friction:8,tension:65,useNativeDriver:!0}).start())},[v]),<C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
958
1059
|
|
|
959
|
-
<C style={[
|
|
960
|
-
{
|
|
1060
|
+
<C style={[Gr.absoluteFill,v!=="main"&&{pointerEvents:"none"}]}>
|
|
1061
|
+
{St()}
|
|
961
1062
|
</C>
|
|
962
1063
|
|
|
963
1064
|
|
|
964
|
-
{
|
|
965
|
-
{
|
|
966
|
-
</
|
|
1065
|
+
{v!=="main"&&<_.View style={[Gr.absoluteFill,{backgroundColor:e.grayBackground,opacity:Oe,transform:[{translateX:Oe.interpolate({inputRange:[0,1],outputRange:[30,0]})}]}]}>
|
|
1066
|
+
{U}
|
|
1067
|
+
</_.View>}
|
|
967
1068
|
|
|
968
1069
|
|
|
969
|
-
|
|
970
|
-
</C>};export default
|
|
1070
|
+
<Pt visible={ut}onClose={()=>Er(!1)}/>
|
|
1071
|
+
</C>};export default Bi;
|