react-native-inapp-inspector 2.3.24 → 2.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +26 -5
- package/dist/commonjs/components/AnalyticsDetail.js +15 -12
- package/dist/commonjs/components/AnalyticsEventCard.js +11 -8
- package/dist/commonjs/components/AppHeaderLogo.js +4 -6
- package/dist/commonjs/components/ConsoleLogCard.d.ts +1 -0
- package/dist/commonjs/components/ConsoleLogCard.js +92 -80
- package/dist/commonjs/components/EndOfListFooter.d.ts +5 -1
- package/dist/commonjs/components/EndOfListFooter.js +27 -5
- package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +1 -1
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +27 -299
- package/dist/commonjs/components/Inspector/ConsoleTab.js +36 -94
- package/dist/commonjs/components/Inspector/CrashDetail.js +11 -10
- package/dist/commonjs/components/Inspector/CrashTab.js +43 -33
- package/dist/commonjs/components/Inspector/DebuggingTab.js +13 -13
- package/dist/commonjs/components/Inspector/DeviceInfoTab.js +107 -71
- package/dist/commonjs/components/Inspector/FabLauncher.js +8 -9
- package/dist/commonjs/components/Inspector/InspectorHeader.js +93 -70
- package/dist/commonjs/components/Inspector/LogDetail.js +10 -7
- package/dist/commonjs/components/Inspector/MainScreen.js +66 -30
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +1 -1
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +3 -3
- package/dist/commonjs/components/Inspector/NetworkDetail.js +29 -28
- package/dist/commonjs/components/Inspector/NetworkFilterModal.js +1 -1
- package/dist/commonjs/components/Inspector/NetworkTab.js +87 -85
- package/dist/commonjs/components/Inspector/NpmStarPrompt.js +3 -3
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +21 -22
- package/dist/commonjs/components/Inspector/PushCard.d.ts +4 -0
- package/dist/commonjs/components/Inspector/PushCard.js +89 -0
- package/dist/commonjs/components/Inspector/PushDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/PushDetail.js +190 -0
- package/dist/commonjs/components/Inspector/PushTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/PushTab.js +45 -0
- package/dist/commonjs/components/Inspector/ReduxDetail.js +16 -13
- package/dist/commonjs/components/Inspector/ReduxTab.js +109 -106
- package/dist/commonjs/components/Inspector/SettingsPanel.js +230 -134
- package/dist/commonjs/components/Inspector/StorageTab.js +55 -51
- package/dist/commonjs/components/Inspector/TabBar.js +30 -26
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
- package/dist/commonjs/components/JsonViewer.js +151 -159
- package/dist/commonjs/components/LogCard.js +34 -38
- package/dist/commonjs/components/LogSyntaxHighlighter.js +3 -3
- package/dist/commonjs/components/ModuleErrorBoundary.d.ts +24 -0
- package/dist/commonjs/components/ModuleErrorBoundary.js +33 -0
- package/dist/commonjs/components/NetworkIcons.d.ts +3 -3
- package/dist/commonjs/components/NetworkIcons.js +10 -6
- package/dist/commonjs/components/SegmentedTabs.d.ts +8 -2
- package/dist/commonjs/components/SegmentedTabs.js +11 -7
- package/dist/commonjs/components/ShareButton.d.ts +11 -0
- package/dist/commonjs/components/ShareButton.js +6 -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.js +4 -4
- package/dist/commonjs/customHooks/networkLogger.js +1 -2
- package/dist/commonjs/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/commonjs/customHooks/pushNotificationLogger.js +1 -0
- package/dist/commonjs/helpers/index.d.ts +6 -0
- package/dist/commonjs/helpers/index.js +4 -4
- package/dist/commonjs/helpers/memoryManager.d.ts +2 -2
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/remoteConfig.js +1 -1
- package/dist/commonjs/helpers/settingsStore.d.ts +1 -0
- package/dist/commonjs/helpers/settingsStore.js +1 -1
- package/dist/commonjs/helpers/shareFormatter.d.ts +13 -0
- package/dist/commonjs/helpers/shareFormatter.js +7 -0
- package/dist/commonjs/i18n/index.d.ts +35 -0
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -0
- package/dist/commonjs/i18n/locales/de.json +1 -0
- package/dist/commonjs/i18n/locales/en.json +1 -1
- package/dist/commonjs/i18n/locales/es.json +1 -0
- package/dist/commonjs/i18n/locales/fr.json +1 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -0
- package/dist/commonjs/i18n/locales/pt.json +1 -0
- package/dist/commonjs/i18n/locales/ru.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -0
- package/dist/commonjs/index.d.ts +6 -5
- package/dist/commonjs/index.js +4 -4
- package/dist/commonjs/push.d.ts +4 -0
- package/dist/commonjs/push.js +1 -0
- package/dist/commonjs/styles/AppColors.d.ts +40 -0
- package/dist/commonjs/styles/AppColors.js +1 -1
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +30 -20
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/index.d.ts +10 -0
- package/dist/commonjs/types/interfaces.d.ts +63 -7
- package/dist/esm/components/AnalyticsDetail.js +84 -81
- package/dist/esm/components/AnalyticsEventCard.js +20 -17
- package/dist/esm/components/AppHeaderLogo.js +5 -7
- package/dist/esm/components/ConsoleLogCard.d.ts +1 -0
- package/dist/esm/components/ConsoleLogCard.js +98 -86
- package/dist/esm/components/EndOfListFooter.d.ts +5 -1
- package/dist/esm/components/EndOfListFooter.js +36 -14
- package/dist/esm/components/Inspector/AnalyticsFilterModal.js +14 -14
- package/dist/esm/components/Inspector/AnalyticsTab.js +44 -316
- package/dist/esm/components/Inspector/ConsoleTab.js +55 -113
- package/dist/esm/components/Inspector/CrashDetail.js +53 -52
- package/dist/esm/components/Inspector/CrashTab.js +74 -64
- package/dist/esm/components/Inspector/DebuggingTab.js +33 -33
- package/dist/esm/components/Inspector/DeviceInfoTab.js +174 -138
- package/dist/esm/components/Inspector/FabLauncher.js +41 -42
- package/dist/esm/components/Inspector/InspectorHeader.js +138 -115
- package/dist/esm/components/Inspector/LogDetail.js +24 -21
- package/dist/esm/components/Inspector/MainScreen.js +98 -62
- package/dist/esm/components/Inspector/MediaGalleryTab.js +1 -1
- package/dist/esm/components/Inspector/MediaPreviewModal.js +31 -31
- package/dist/esm/components/Inspector/NetworkDetail.js +88 -87
- package/dist/esm/components/Inspector/NetworkFilterModal.js +8 -8
- package/dist/esm/components/Inspector/NetworkTab.js +132 -130
- package/dist/esm/components/Inspector/NpmStarPrompt.js +42 -42
- package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -46
- package/dist/esm/components/Inspector/PushCard.d.ts +4 -0
- package/dist/esm/components/Inspector/PushCard.js +89 -0
- package/dist/esm/components/Inspector/PushDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/PushDetail.js +190 -0
- package/dist/esm/components/Inspector/PushTab.d.ts +3 -0
- package/dist/esm/components/Inspector/PushTab.js +45 -0
- package/dist/esm/components/Inspector/ReduxDetail.js +40 -37
- package/dist/esm/components/Inspector/ReduxTab.js +155 -152
- package/dist/esm/components/Inspector/SettingsPanel.js +380 -284
- package/dist/esm/components/Inspector/StorageTab.js +177 -173
- package/dist/esm/components/Inspector/TabBar.js +38 -34
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +1 -1
- package/dist/esm/components/JsonViewer.js +161 -169
- package/dist/esm/components/LogCard.js +38 -42
- package/dist/esm/components/LogSyntaxHighlighter.js +1 -1
- package/dist/esm/components/ModuleErrorBoundary.d.ts +24 -0
- package/dist/esm/components/ModuleErrorBoundary.js +33 -0
- package/dist/esm/components/NetworkIcons.d.ts +3 -3
- package/dist/esm/components/NetworkIcons.js +7 -3
- package/dist/esm/components/SegmentedTabs.d.ts +8 -2
- package/dist/esm/components/SegmentedTabs.js +12 -8
- package/dist/esm/components/ShareButton.d.ts +11 -0
- package/dist/esm/components/ShareButton.js +6 -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.js +6 -6
- package/dist/esm/customHooks/networkLogger.js +1 -2
- package/dist/esm/customHooks/pushNotificationLogger.d.ts +19 -0
- package/dist/esm/customHooks/pushNotificationLogger.js +1 -0
- package/dist/esm/helpers/index.d.ts +6 -0
- package/dist/esm/helpers/index.js +4 -4
- package/dist/esm/helpers/memoryManager.d.ts +2 -2
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/remoteConfig.js +1 -1
- package/dist/esm/helpers/settingsStore.d.ts +1 -0
- package/dist/esm/helpers/settingsStore.js +1 -1
- package/dist/esm/helpers/shareFormatter.d.ts +13 -0
- package/dist/esm/helpers/shareFormatter.js +7 -0
- package/dist/esm/i18n/index.d.ts +35 -0
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -0
- package/dist/esm/i18n/locales/de.json +1 -0
- package/dist/esm/i18n/locales/en.json +1 -1
- package/dist/esm/i18n/locales/es.json +1 -0
- package/dist/esm/i18n/locales/fr.json +1 -0
- package/dist/esm/i18n/locales/hi.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -0
- package/dist/esm/i18n/locales/pt.json +1 -0
- package/dist/esm/i18n/locales/ru.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -0
- package/dist/esm/index.d.ts +6 -5
- package/dist/esm/index.js +7 -7
- package/dist/esm/push.d.ts +4 -0
- package/dist/esm/push.js +1 -0
- package/dist/esm/styles/AppColors.d.ts +40 -0
- package/dist/esm/styles/AppColors.js +1 -1
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +30 -20
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/index.d.ts +10 -0
- package/dist/esm/types/interfaces.d.ts +63 -7
- package/package.json +53 -24
- package/src/native/NativeInspector.ts +0 -1
- package/dist/commonjs/bundle.d.ts +0 -2
- package/dist/commonjs/bundle.js +0 -1
- package/dist/commonjs/components/BrandSquareIcon.d.ts +0 -5
- package/dist/commonjs/components/BrandSquareIcon.js +0 -112
- package/dist/commonjs/components/Inspector/BundleTab.d.ts +0 -48
- package/dist/commonjs/components/Inspector/BundleTab.js +0 -1297
- package/dist/commonjs/components/Inspector/PerformanceTab.d.ts +0 -27
- package/dist/commonjs/components/Inspector/PerformanceTab.js +0 -454
- package/dist/commonjs/customHooks/bundleAnalyzer.d.ts +0 -115
- package/dist/commonjs/customHooks/bundleAnalyzer.js +0 -1
- package/dist/commonjs/customHooks/performanceTracker.d.ts +0 -144
- package/dist/commonjs/customHooks/performanceTracker.js +0 -63
- package/dist/commonjs/performance.d.ts +0 -2
- package/dist/commonjs/performance.js +0 -1
- package/dist/esm/bundle.d.ts +0 -2
- package/dist/esm/bundle.js +0 -1
- package/dist/esm/components/BrandSquareIcon.d.ts +0 -5
- package/dist/esm/components/BrandSquareIcon.js +0 -112
- package/dist/esm/components/Inspector/BundleTab.d.ts +0 -48
- package/dist/esm/components/Inspector/BundleTab.js +0 -1297
- package/dist/esm/components/Inspector/PerformanceTab.d.ts +0 -27
- package/dist/esm/components/Inspector/PerformanceTab.js +0 -454
- package/dist/esm/customHooks/bundleAnalyzer.d.ts +0 -115
- package/dist/esm/customHooks/bundleAnalyzer.js +0 -1
- package/dist/esm/customHooks/performanceTracker.d.ts +0 -144
- package/dist/esm/customHooks/performanceTracker.js +0 -63
- package/dist/esm/performance.d.ts +0 -2
- package/dist/esm/performance.js +0 -1
|
@@ -1,190 +1,189 @@
|
|
|
1
|
-
import{useMemo as
|
|
2
|
-
<
|
|
1
|
+
import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";import{Alert as O,Animated as Fe,DevSettings as He,Platform as Xe,ScrollView as M,StyleSheet as Ye,Text as S,TextInput as Co,View as C}from"react-native";import So,{Path as Ze}from"react-native-svg";import{animateNextLayout as ie,useInspector as ko}from"./InspectorContext";import V from"../TouchableScale";import To from"../Slider";import{toggleGlobalTheme as Vo}from"../../styles";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as x}from"../../styles/AppFonts";import{calculateRamBasedLimits as Bo}from"../../helpers/settingsStore";import{clearNetworkLogs as zo}from"../../customHooks/networkLogger";import{clearConsoleLogs as Ro}from"../../customHooks/consoleLogger";import{clearAnalyticsEvents as Fo}from"../../customHooks/analyticsLogger";import{clearCrashRecords as Ho}from"../../customHooks/crashHandler";import{isReduxConnected as Io}from"../../customHooks/reduxLogger";import{isAnalyticsConnected as vo}from"../../customHooks/analyticsLogger";import{useTranslation as Do}from"../../i18n";import{SignalIcon as Cr,TerminalIcon as Sr,AnalyticsIcon as Tr,SettingsIcon as Po,SunIcon as $o,MoonIcon as Lo,ScreenIcon as Vr,MotionIcon as Wo,LayersIcon as Q,EyeIcon as Ie,CheckIcon as U,TrashIcon as E,PackageIcon as Ao,ReduxIcon as Br,CrashIcon as Oo,ShieldAlertIcon as Rr,ForwardChevronIcon as Mo,ChevronDownIcon as Eo,BrainIcon as Fr,SmartphoneIcon as No,DatabaseIcon as Go,QrCodeIcon as Uo,FilmIcon as Hr,ScreencastIcon as Jo,CameraIcon as Ce,VideoCameraIcon as Ir,MicrophoneIcon as Dr,GifIcon as Pr,ImageIcon as $r,BellIcon as Lr}from"../NetworkIcons";import{ScreenCapture as ve}from"../../capture";import{triggerNativeHaptic as H}from"../../native/NativeInspector";import{isLocalDebugEnvironment as Ko}from"../../helpers";import{showToast as R}from"../../helpers/toast";import{pruneAllLogs as _o}from"../../helpers/memoryManager";const Qo=()=>{const{t:w}=Do(),{settingsPage:A,setSettingsPage:De,settingsActiveSubTab:q,setSettingsActiveSubTab:Wr,tabVisibility:T,toggleTabVisibility:Ar,defaultTab:J,setDefaultTab:Or,isDark:_,setIsDark:Mr,modalHeightPercent:X,setModalHeightPercent:Er,modalAnimationType:Nr,setModalAnimationType:Gr,showDuplicateLogs:we,setShowDuplicateLogs:jr,showUpdateToast:xe,setShowUpdateToast:Ur,showConsoleLevels:qr,setShowConsoleLevels:Jr,closeModal:Kr,logs:Pe,consoleLogs:$e,analyticsEvents:Le,reduxState:We,maxConsoleLogs:Se,setMaxConsoleLogs:_r,maxAnalyticsEventsLimit:Ae,setMaxAnalyticsEventsLimit:Qr,isAutoRamLimitEnabled:I,setIsAutoRamLimitEnabled:Xr,deviceFreeRamMb:ke,reduxAutoRefresh:Te,setReduxAutoRefreshState:Yr,reduxExpandDepth:Oe,setReduxExpandDepth:Zr,setSelected:eo,setSelectedEvent:ro,setReduxState:oo,crashRecords:Me,maxCrashLogs:Ee,setMaxCrashLogs:to,pushRecords:io,maxPushLogs:lo,setMaxPushLogs:ao,clearAllPushLogs:no,simulatePush:Y}=ko(),[Z,Ne]=G(X),[Ve,Ge]=G("PNG"),[P,ee]=G(!0),[je,Ue]=G("Muted"),[qe,Je]=G("30"),[L,re]=G(!0);Re(()=>{Ne(X)},[X]);const oe=Bo(ke),$=Qe(()=>[{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:"analytics",label:"Analytics Logger",category:"telemetry",icon:"analytics",desc:"Firebase & custom analytics events, user properties & params"},{id:4,key:"redux",label:"Redux Inspector",category:"telemetry",icon:"redux",desc:"Store state diffing, action history & reducer timeline"},{id:5,key:"storage",label:"Storage Inspector",category:"telemetry",icon:"storage",desc:"AsyncStorage & MMKV key-value store viewer with full CRUD support"},{id:6,key:"device",label:"Device Info",category:"diagnostic",icon:"device",desc:"Hardware specs, IP address, screen metrics, UDID & runtime stats"},{id:7,key:"crash",label:"Crash Protection",category:"diagnostic",icon:"crash",desc:"Runtime exception guard, breadcrumbs & memory snapshot"},{id:8,key:"debugging",label:"Multi-Device Debugging",category:"diagnostic",icon:"debugging",desc:"QR Code bridge for direct Debug APK download & Metro live-reload sync"},{id:9,key:"media",label:"Screencast",category:"diagnostic",icon:"media",desc:"Screenshots, video recordings, audio narration & animated GIFs"},{id:10,key:"push",label:"Push Notifications",category:"telemetry",icon:"push",desc:"Universal push & local notification logger (Salesforce, FCM, APNs, Braze, Expo)"}].filter(r=>r.key==="debugging"?Xe.OS==="android"&&Ko():!0),[]),[j,Be]=G(()=>({apis:!0,logs:!!T?.logs,analytics:!!T?.analytics,redux:!!T?.redux,storage:!!T?.storage,device:!!T?.device,crash:!!T?.crash,debugging:!!T?.debugging,media:!!(T?.media??!0),push:!!(T?.push??!0)}));Re(()=>{Be({apis:!0,logs:!!T?.logs,analytics:!!T?.analytics,redux:!!T?.redux,storage:!!T?.storage,device:!!T?.device,crash:!!T?.crash,debugging:!!T?.debugging,media:!!(T?.media??!0),push:!!(T?.push??!0)})},[T]);const K=Qe(()=>$.some(r=>!!j[r.key]!=!!T?.[r.key]),[j,T,$]),so=$.filter(r=>r.key==="apis"||!!j[r.key]).length,co=()=>{K&&O.alert("Apply Changes & Reload","Are you sure you want to save module changes? The inspector will close and reload the app to apply the new configuration.",[{text:"Cancel",style:"cancel",onPress:()=>{Be({apis:!0,logs:!!T?.logs,analytics:!!T?.analytics,redux:!!T?.redux,storage:!!T?.storage,device:!!T?.device,crash:!!T?.crash,debugging:!!T?.debugging,media:!!(T?.media??!0),push:!!(T?.push??!0)})}},{text:"Save & Reload",style:"default",onPress:()=>{ie(),$.forEach(r=>{if(r.key!=="apis"){const k=!!j[r.key],D=!!T?.[r.key];k!==D&&Ar(r.key)}}),Kr(),setTimeout(()=>{__DEV__&&He&&He.reload&&He.reload()},350)}}])},[ze,Ke]=G(!1),z=r=><C 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>
|
|
6
6
|
<C style={{flex:1}}>
|
|
7
|
-
<S style={{fontFamily:
|
|
7
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
8
8
|
{r.label}
|
|
9
9
|
</S>
|
|
10
|
-
{r.description?<S style={{fontFamily:
|
|
10
|
+
{r.description?<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
11
11
|
{r.description}
|
|
12
12
|
</S>: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
|
-
<Co style={{flex:1,fontFamily:
|
|
19
|
-
<S style={{fontFamily:
|
|
18
|
+
<Co style={{flex:1,fontFamily:x.interMedium,fontSize:14,lineHeight:18,color:e.primaryBlack,paddingVertical:6}}value={String(r.numericInput.value||"")}onChangeText={k=>{const D=parseInt(k.replace(/[^0-9]/g,""),10);if(!isNaN(D)){const F=Math.max(r.numericInput?.min??1,Math.min(r.numericInput?.max??1e4,D));r.numericInput?.onChange(F)}}}keyboardType={r.numericInput.keyboardType??"number-pad"}placeholder={r.numericInput.placeholder}placeholderTextColor={e.grayTextWeak}maxLength={6}selectTextOnFocus/>
|
|
19
|
+
<S style={{fontFamily:x.interBold,fontSize:11,color:e.purple,marginLeft:6}}>
|
|
20
20
|
MAX
|
|
21
21
|
</S>
|
|
22
22
|
</C>
|
|
23
|
-
{r.numericInput.min!==void 0||r.numericInput.max!==void 0?<S style={{fontFamily:
|
|
23
|
+
{r.numericInput.min!==void 0||r.numericInput.max!==void 0?<S style={{fontFamily:x.interRegular,fontSize:10,lineHeight:13,color:e.grayTextWeak}}>
|
|
24
24
|
Range: {r.numericInput.min??1} -{" "}
|
|
25
25
|
{r.numericInput.max??"\u221E"}
|
|
26
26
|
</S>: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
|
-
<S style={{fontFamily:
|
|
31
|
-
{r.picker.formatLabel?r.picker.formatLabel(
|
|
29
|
+
{r.picker.options.map(k=>{const D=r.picker.selectedValue===k;return<V key={String(k)}onPress={()=>r.picker.onSelect(k)}style={{flex:1,paddingVertical:6,alignItems:"center",borderRadius:6,backgroundColor:D?e.purple:"transparent"}}>
|
|
30
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:D?e.white:e.grayText}}>
|
|
31
|
+
{r.picker.formatLabel?r.picker.formatLabel(k):k}
|
|
32
32
|
</S>
|
|
33
|
-
</
|
|
33
|
+
</V>})}
|
|
34
34
|
</C>}
|
|
35
|
-
</C>,
|
|
36
|
-
<
|
|
35
|
+
</C>,go=()=><C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
36
|
+
<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:14}}showsVerticalScrollIndicator={!1}>
|
|
37
37
|
|
|
38
38
|
|
|
39
39
|
<C style={{backgroundColor:e.primaryLight,borderRadius:13,paddingVertical:4,paddingHorizontal:4,borderWidth:1,borderColor:e.grayBorderSecondary,shadowColor:e.black,shadowOpacity:.04,shadowRadius:4,shadowOffset:{width:0,height:2}}}>
|
|
40
|
-
<
|
|
41
|
-
{[{key:"module",label:
|
|
42
|
-
<D color={
|
|
43
|
-
<S style={{fontFamily:
|
|
40
|
+
<M horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:2}}>
|
|
41
|
+
{[{key:"module",label:w("settings.modulesAndTools","Modules & Tools"),Icon:Q,badge:`${$.filter(r=>j?.[r.key]||r.key==="apis").length}/${$.length}`},{key:"ui",label:w("settings.uiPreferences","UI Preferences"),Icon:Vr},{key:"limits",label:w("settings.ramLimits","RAM & Limits"),Icon:Fr},{key:"capture",label:w("settings.screenVideoCapture","Screen & Video Capture"),Icon:Ce}].map(r=>{const k=q===r.key,D=r.Icon;return<V key={r.key}accessible={!0}accessibilityRole="tab"accessibilityLabel={r.label}accessibilityState={{selected:k}}onPress={()=>{ie(),Wr(r.key)}}style={{paddingVertical:8,paddingHorizontal:14,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,borderRadius:9,backgroundColor:k?e.purple:"transparent"}}>
|
|
42
|
+
<D color={k?e.white:e.grayText}size={13}/>
|
|
43
|
+
<S style={{fontFamily:x.interBold,fontSize:12.5,lineHeight:16,color:k?e.white:e.grayText}}>
|
|
44
44
|
{r.label}
|
|
45
45
|
</S>
|
|
46
|
-
{r.badge&&<C style={{backgroundColor:
|
|
47
|
-
<S style={{fontFamily:
|
|
46
|
+
{r.badge&&<C style={{backgroundColor:k?"rgba(255,255,255,0.25)":`${e.purple}18`,paddingHorizontal:5.5,paddingVertical:1,borderRadius:10}}>
|
|
47
|
+
<S style={{fontFamily:x.interBold,fontSize:9.5,color:k?e.white:e.purple}}>
|
|
48
48
|
{r.badge}
|
|
49
49
|
</S>
|
|
50
50
|
</C>}
|
|
51
|
-
</
|
|
52
|
-
</
|
|
51
|
+
</V>})}
|
|
52
|
+
</M>
|
|
53
53
|
</C>
|
|
54
54
|
|
|
55
|
-
{
|
|
55
|
+
{q==="module"&&<C style={{gap:12}}>
|
|
56
56
|
|
|
57
57
|
<C style={{gap:10}}>
|
|
58
|
-
{
|
|
58
|
+
{$.map(r=>{const k=Io(),D=vo(),F=r.key==="redux"&&!k||r.key==="analytics"&&!D,W=r.key==="apis"||F,B=r.key==="apis"||!!j?.[r.key]&&!F,po=r.key==="apis"?`${Pe.length} requests`:r.key==="logs"?`${$e.length} logs \u2022 Limit: ${Se}`:r.key==="crash"?`${Me?.length||0} crashes recorded \u2022 Crash Guard`:r.key==="analytics"?`${Le.length} events logged`:r.key==="redux"?`${Object.keys(We||{}).length} slices \u2022 Depth: ${Oe}`:"";return<C key={r.key}style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1.5,borderColor:B?`${e.purple}38`:e.grayBorderSecondary,padding:14,gap:10,shadowColor:e.black,shadowOpacity:B?.04:.02,shadowRadius:5,shadowOffset:{width:0,height:2}}}>
|
|
59
59
|
|
|
60
60
|
<C style={{flexDirection:"row",alignItems:"flex-start",gap:10}}>
|
|
61
61
|
|
|
62
|
-
<
|
|
63
|
-
{r.key==="apis"?<
|
|
64
|
-
<
|
|
65
|
-
<
|
|
62
|
+
<V accessible={!0}accessibilityRole="checkbox"accessibilityLabel={`Select ${r.label}`}accessibilityState={{checked:B,disabled:W}}disabled={W}onPress={()=>{W||Be(_e=>({..._e,[r.key]:!_e[r.key]}))}}hitSlop={8}style={{width:22,height:22,borderRadius:6,borderWidth:B?0:1.8,borderColor:W?e.dividerColor:e.grayBorderSecondary,backgroundColor:r.key==="apis"?`${e.blue500}22`:B?e.purple:e.grayBackground,alignItems:"center",justifyContent:"center",marginTop:7,shadowColor:B?e.purple:"transparent",shadowOpacity:B?.25:0,shadowRadius:2,elevation:B?2:0}}>
|
|
63
|
+
{r.key==="apis"?<U size={12}color={e.blue500}/>:B?<U size={12}color={e.white}/>:W?<So width={10}height={10}viewBox="0 0 24 24"fill="none">
|
|
64
|
+
<Ze d="M7 10V7a5 5 0 0 1 10 0v3"stroke={e.grayText}strokeWidth="2.2"strokeLinecap="round"/>
|
|
65
|
+
<Ze d="M5 10h14v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z"fill={e.grayText}/>
|
|
66
66
|
</So>:null}
|
|
67
|
-
</
|
|
67
|
+
</V>
|
|
68
68
|
|
|
69
69
|
|
|
70
|
-
<
|
|
70
|
+
<V accessible={!0}accessibilityRole="button"accessibilityLabel={`${r.label} settings`}disabled={F}onPress={()=>{ie(),De(r.key)}}style={{flex:1,flexDirection:"row",alignItems:"flex-start",gap:10}}>
|
|
71
71
|
|
|
72
|
-
<C style={{width:36,height:36,borderRadius:10,backgroundColor:
|
|
73
|
-
{r.icon==="apis"&&<
|
|
74
|
-
{r.icon==="logs"&&<
|
|
75
|
-
{r.icon==="
|
|
76
|
-
{r.icon==="
|
|
77
|
-
{r.icon==="
|
|
78
|
-
{r.icon==="
|
|
79
|
-
{r.icon==="
|
|
80
|
-
{r.icon==="
|
|
81
|
-
{r.icon==="
|
|
82
|
-
{r.icon==="
|
|
83
|
-
{r.icon==="media"&&<Qo color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
72
|
+
<C style={{width:36,height:36,borderRadius:10,backgroundColor:W?`${e.grayBorderSecondary}4D`:B?`${e.purple}14`:e.grayBackground,borderWidth:1,borderColor:W?e.dividerColor:B?`${e.purple}33`:e.grayBorderSecondary,alignItems:"center",justifyContent:"center",marginTop:1}}>
|
|
73
|
+
{r.icon==="apis"&&<Cr color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
74
|
+
{r.icon==="logs"&&<Sr color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
75
|
+
{r.icon==="crash"&&<Oo color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
76
|
+
{r.icon==="analytics"&&<Tr color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
77
|
+
{r.icon==="redux"&&<Br color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
78
|
+
{r.icon==="device"&&<No color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
79
|
+
{r.icon==="storage"&&<Go color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
80
|
+
{r.icon==="debugging"&&<Uo color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
81
|
+
{r.icon==="media"&&<Jo color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
82
|
+
{r.icon==="push"&&<Lr color={B?e.purple:e.grayTextWeak}size={16}/>}
|
|
84
83
|
</C>
|
|
85
84
|
|
|
86
85
|
|
|
87
86
|
<C style={{flex:1,gap:2}}>
|
|
88
87
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"}}>
|
|
89
88
|
<C style={{minWidth:22,height:22,paddingHorizontal:5,borderRadius:11,backgroundColor:B?`${e.purple}1C`:`${e.grayBorderSecondary}80`,borderWidth:1,borderColor:B?`${e.purple}44`:e.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
|
|
90
|
-
<S style={{fontFamily:
|
|
89
|
+
<S style={{fontFamily:x.interBold,fontSize:10,lineHeight:13,color:B?e.purple:e.grayText}}>
|
|
91
90
|
#{r.id}
|
|
92
91
|
</S>
|
|
93
92
|
</C>
|
|
94
|
-
<S style={{fontFamily:
|
|
93
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:W?e.grayText:e.primaryBlack}}>
|
|
95
94
|
{r.label}
|
|
96
95
|
</S>
|
|
97
96
|
|
|
98
97
|
|
|
99
|
-
{r.key===
|
|
98
|
+
{r.key===J&&!F&&<C style={{flexDirection:"row",alignItems:"center",backgroundColor:`${e.purple}14`,borderRadius:12,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.purple}2E`,gap:3}}>
|
|
100
99
|
<C style={{width:4,height:4,borderRadius:2,backgroundColor:e.purple}}/>
|
|
101
|
-
<S style={{fontFamily:
|
|
102
|
-
{
|
|
100
|
+
<S style={{fontFamily:x.interBold,fontSize:8,lineHeight:11,color:e.purple,letterSpacing:.4}}>
|
|
101
|
+
{w("settings.defaultBadge")}
|
|
103
102
|
</S>
|
|
104
103
|
</C>}
|
|
105
104
|
|
|
106
105
|
|
|
107
106
|
{r.key==="apis"?<C style={{backgroundColor:`${e.blue500}14`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.blue500}33`}}>
|
|
108
|
-
<S style={{fontFamily:
|
|
109
|
-
{
|
|
107
|
+
<S style={{fontFamily:x.interBold,fontSize:8,lineHeight:11,color:e.blue500,letterSpacing:.3}}>
|
|
108
|
+
{w("settings.coreBadge")}
|
|
110
109
|
</S>
|
|
111
|
-
</C>:
|
|
112
|
-
<S style={{fontFamily:
|
|
113
|
-
{r.key==="redux"?
|
|
110
|
+
</C>:F?<C style={{backgroundColor:`${e.amber500}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.amber500}35`}}>
|
|
111
|
+
<S style={{fontFamily:x.interBold,fontSize:8,lineHeight:11,color:e.amber700,letterSpacing:.3}}>
|
|
112
|
+
{r.key==="redux"?w("settings.notConnectedBadge"):w("settings.notDetectedBadge")}
|
|
114
113
|
</S>
|
|
115
114
|
</C>:B?<C style={{backgroundColor:`${e.liveGreen}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.liveGreen}38`}}>
|
|
116
|
-
<S style={{fontFamily:
|
|
117
|
-
{
|
|
115
|
+
<S style={{fontFamily:x.interBold,fontSize:8,lineHeight:11,color:e.green700,letterSpacing:.3}}>
|
|
116
|
+
{w("settings.activeBadge")}
|
|
118
117
|
</S>
|
|
119
118
|
</C>:<C style={{backgroundColor:`${e.grayTextWeak}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.grayTextWeak}2E`}}>
|
|
120
|
-
<S style={{fontFamily:
|
|
121
|
-
{
|
|
119
|
+
<S style={{fontFamily:x.interBold,fontSize:8,lineHeight:11,color:e.grayTextWeak,letterSpacing:.3}}>
|
|
120
|
+
{w("settings.dormantBadge")}
|
|
122
121
|
</S>
|
|
123
122
|
</C>}
|
|
124
123
|
</C>
|
|
125
124
|
|
|
126
|
-
<S style={{fontFamily:
|
|
125
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,color:e.grayText,lineHeight:15,marginTop:1}}>
|
|
127
126
|
{r.desc}
|
|
128
127
|
</S>
|
|
129
128
|
</C>
|
|
130
|
-
</
|
|
129
|
+
</V>
|
|
131
130
|
</C>
|
|
132
131
|
|
|
133
132
|
|
|
134
|
-
{!
|
|
133
|
+
{!F&&<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor}}>
|
|
135
134
|
|
|
136
135
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,flex:1}}>
|
|
137
136
|
<C style={{width:6,height:6,borderRadius:3,backgroundColor:B?e.liveGreen:e.grayTextWeak}}/>
|
|
138
|
-
<S style={{fontFamily:
|
|
139
|
-
{
|
|
137
|
+
<S style={{fontFamily:x.interMedium,fontSize:11,color:e.grayText,lineHeight:14}}>
|
|
138
|
+
{po}
|
|
140
139
|
</S>
|
|
141
140
|
</C>
|
|
142
141
|
|
|
143
142
|
|
|
144
|
-
<
|
|
145
|
-
|
|
146
|
-
<S style={{fontFamily:
|
|
147
|
-
{
|
|
143
|
+
<V accessible={!0}accessibilityRole="button"accessibilityLabel={`Configure ${r.label} settings`}onPress={()=>{ie(),De(r.key)}}style={{flexDirection:"row",alignItems:"center",gap:5,backgroundColor:`${e.purple}12`,paddingHorizontal:10,paddingVertical:5,borderRadius:8,borderWidth:1,borderColor:`${e.purple}26`}}>
|
|
144
|
+
<Po color={e.purple}size={11}/>
|
|
145
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.purple}}>
|
|
146
|
+
{w("settings.configure")}
|
|
148
147
|
</S>
|
|
149
|
-
<
|
|
150
|
-
</
|
|
148
|
+
<Mo color={e.purple}size={9}/>
|
|
149
|
+
</V>
|
|
151
150
|
</C>}
|
|
152
151
|
</C>})}
|
|
153
152
|
</C>
|
|
154
153
|
</C>}
|
|
155
154
|
|
|
156
|
-
{
|
|
155
|
+
{q==="ui"&&<C style={{gap:14}}>
|
|
157
156
|
|
|
158
157
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
159
|
-
<S style={{fontFamily:
|
|
160
|
-
{
|
|
158
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
159
|
+
{w("settings.appearanceTheme")}
|
|
161
160
|
</S>
|
|
162
161
|
|
|
163
162
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
164
163
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
165
164
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
166
|
-
{
|
|
165
|
+
{_?<$o color={e.purple}size={15}/>:<Lo color={e.purple}size={15}/>}
|
|
167
166
|
</C>
|
|
168
167
|
<C style={{flex:1}}>
|
|
169
|
-
<S style={{fontFamily:
|
|
170
|
-
{
|
|
168
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
169
|
+
{w("settings.general.darkMode")}
|
|
171
170
|
</S>
|
|
172
|
-
<S style={{fontFamily:
|
|
173
|
-
{
|
|
171
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
172
|
+
{w("settings.general.darkModeDescription")}
|
|
174
173
|
</S>
|
|
175
174
|
</C>
|
|
176
175
|
</C>
|
|
177
176
|
|
|
178
|
-
<
|
|
177
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle Dark Theme"accessibilityState={{checked:_}}onPress={()=>{const r=!_;Mr(r),Vo(r)}}style={{width:42,height:24,borderRadius:12,backgroundColor:_?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:_?"flex-end":"flex-start"}}>
|
|
179
178
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
180
|
-
</
|
|
179
|
+
</V>
|
|
181
180
|
</C>
|
|
182
181
|
</C>
|
|
183
182
|
|
|
184
183
|
|
|
185
184
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:14}}>
|
|
186
|
-
<S style={{fontFamily:
|
|
187
|
-
{
|
|
185
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
186
|
+
{w("settings.windowLayout")}
|
|
188
187
|
</S>
|
|
189
188
|
|
|
190
189
|
|
|
@@ -192,28 +191,28 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
192
191
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
|
|
193
192
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
194
193
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
195
|
-
<
|
|
194
|
+
<Vr color={e.purple}size={15}/>
|
|
196
195
|
</C>
|
|
197
196
|
<C style={{flex:1}}>
|
|
198
|
-
<S style={{fontFamily:
|
|
199
|
-
{
|
|
197
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
198
|
+
{w("settings.general.modalHeight")}
|
|
200
199
|
</S>
|
|
201
|
-
<S style={{fontFamily:
|
|
202
|
-
{
|
|
200
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
201
|
+
{w("settings.general.modalHeightDescription")}
|
|
203
202
|
</S>
|
|
204
203
|
</C>
|
|
205
204
|
</C>
|
|
206
205
|
|
|
207
|
-
{X
|
|
208
|
-
<
|
|
209
|
-
<S style={{fontFamily:
|
|
210
|
-
Save ({
|
|
206
|
+
{Z!==X&&<V onPress={()=>{Er(Z)}}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}}>
|
|
207
|
+
<U size={11}color={e.white}/>
|
|
208
|
+
<S style={{fontFamily:x.interBold,fontSize:11,color:e.white}}>
|
|
209
|
+
Save ({Z}%)
|
|
211
210
|
</S>
|
|
212
|
-
</
|
|
211
|
+
</V>}
|
|
213
212
|
</C>
|
|
214
213
|
|
|
215
214
|
<C style={{marginTop:6}}>
|
|
216
|
-
<
|
|
215
|
+
<To value={Z}onValueChange={Ne}min={50}max={90}step={5}quickPresets={[50,60,70,80,90]}formatLabel={r=>`${Math.round(r)}%`}/>
|
|
217
216
|
</C>
|
|
218
217
|
</C>
|
|
219
218
|
|
|
@@ -223,116 +222,116 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
223
222
|
<C style={{gap:8}}>
|
|
224
223
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
225
224
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
226
|
-
<
|
|
225
|
+
<Wo color={e.purple}size={15}/>
|
|
227
226
|
</C>
|
|
228
227
|
<C style={{flex:1}}>
|
|
229
|
-
<S style={{fontFamily:
|
|
230
|
-
{
|
|
228
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
229
|
+
{w("settings.general.modalAnimation")}
|
|
231
230
|
</S>
|
|
232
|
-
<S style={{fontFamily:
|
|
233
|
-
{
|
|
231
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
232
|
+
{w("settings.general.modalAnimationDescription")}
|
|
234
233
|
</S>
|
|
235
234
|
</C>
|
|
236
235
|
</C>
|
|
237
236
|
|
|
238
237
|
<C style={{flexDirection:"row",backgroundColor:e.grayBackground,borderRadius:10,padding:3,borderWidth:1,borderColor:e.dividerColor}}>
|
|
239
|
-
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const
|
|
240
|
-
<S style={{fontFamily:
|
|
238
|
+
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const k=Nr===r.key;return<V key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Set transition animation to ${r.label}`}accessibilityState={{selected:k}}onPress={()=>Gr(r.key)}style={{flex:1,paddingVertical:7,alignItems:"center",borderRadius:8,backgroundColor:k?e.purple:"transparent"}}>
|
|
239
|
+
<S style={{fontFamily:x.interBold,fontSize:11.5,lineHeight:15,color:k?e.white:e.grayText}}>
|
|
241
240
|
{r.label}
|
|
242
241
|
</S>
|
|
243
|
-
</
|
|
242
|
+
</V>})}
|
|
244
243
|
</C>
|
|
245
244
|
</C>
|
|
246
245
|
</C>
|
|
247
246
|
|
|
248
247
|
|
|
249
248
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
250
|
-
<S style={{fontFamily:
|
|
251
|
-
{
|
|
249
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
250
|
+
{w("settings.startupDefault")}
|
|
252
251
|
</S>
|
|
253
252
|
|
|
254
253
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
255
254
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
256
|
-
<
|
|
255
|
+
<Q color={e.purple}size={15}/>
|
|
257
256
|
</C>
|
|
258
257
|
<C style={{flex:1}}>
|
|
259
|
-
<S style={{fontFamily:
|
|
260
|
-
{
|
|
258
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
259
|
+
{w("settings.general.defaultOpeningTab")}
|
|
261
260
|
</S>
|
|
262
|
-
<S style={{fontFamily:
|
|
263
|
-
{
|
|
261
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
262
|
+
{w("settings.general.defaultOpeningTabDesc")}
|
|
264
263
|
</S>
|
|
265
264
|
</C>
|
|
266
265
|
</C>
|
|
267
266
|
|
|
268
267
|
|
|
269
268
|
<C style={{marginTop:6,gap:6}}>
|
|
270
|
-
<
|
|
269
|
+
<V accessible={!0}accessibilityRole="button"accessibilityLabel={`Default opening tab: ${$.find(r=>r.key===J)?.label||"APIs"}`}onPress={()=>Ke(r=>!r)}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.grayBackground,borderRadius:10,borderWidth:1.5,borderColor:ze?e.purple:e.grayBorderSecondary,paddingHorizontal:14,paddingVertical:11}}>
|
|
271
270
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
272
271
|
<C style={{width:8,height:8,borderRadius:4,backgroundColor:e.purple}}/>
|
|
273
|
-
<S style={{fontFamily:
|
|
274
|
-
{
|
|
272
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
273
|
+
{$.find(r=>r.key===J)?`#${$.find(r=>r.key===J)?.id} ${$.find(r=>r.key===J)?.label}`:"#1 APIs (Network)"}
|
|
275
274
|
</S>
|
|
276
275
|
<C style={{backgroundColor:`${e.purple}14`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:6}}>
|
|
277
|
-
<S style={{fontFamily:
|
|
276
|
+
<S style={{fontFamily:x.interBold,fontSize:8.5,color:e.purple}}>
|
|
278
277
|
DEFAULT
|
|
279
278
|
</S>
|
|
280
279
|
</C>
|
|
281
280
|
</C>
|
|
282
281
|
|
|
283
|
-
<C style={{transform:[{rotate:
|
|
284
|
-
<
|
|
282
|
+
<C style={{transform:[{rotate:ze?"180deg":"0deg"}]}}>
|
|
283
|
+
<Eo color={e.grayText}size={15}/>
|
|
285
284
|
</C>
|
|
286
|
-
</
|
|
285
|
+
</V>
|
|
287
286
|
|
|
288
287
|
|
|
289
|
-
{
|
|
290
|
-
{
|
|
288
|
+
{ze&&<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}}>
|
|
289
|
+
{$.filter(r=>r.key==="apis"||j?.[r.key]||T?.[r.key]).map((r,k,D)=>{const F=J===r.key,W=k===D.length-1;return<V key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Select ${r.label} as default tab`}onPress={()=>{Or(r.key),Ke(!1)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:14,paddingVertical:11,backgroundColor:F?`${e.purple}0F`:"transparent",borderBottomWidth:W?0:1,borderBottomColor:e.dividerColor}}>
|
|
291
290
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
292
|
-
<C style={{width:6,height:6,borderRadius:3,backgroundColor:
|
|
293
|
-
<S style={{fontFamily:
|
|
291
|
+
<C style={{width:6,height:6,borderRadius:3,backgroundColor:F?e.purple:e.grayTextWeak}}/>
|
|
292
|
+
<S style={{fontFamily:F?x.interBold:x.interMedium,fontSize:13,color:F?e.purple:e.primaryBlack}}>
|
|
294
293
|
#{r.id} {r.label}
|
|
295
294
|
</S>
|
|
296
295
|
</C>
|
|
297
|
-
{
|
|
298
|
-
</
|
|
296
|
+
{F&&<U size={14}color={e.purple}/>}
|
|
297
|
+
</V>})}
|
|
299
298
|
</C>}
|
|
300
299
|
</C>
|
|
301
300
|
</C>
|
|
302
301
|
|
|
303
302
|
|
|
304
303
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
305
|
-
<S style={{fontFamily:
|
|
304
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
306
305
|
NOTIFICATIONS & TOASTS
|
|
307
306
|
</S>
|
|
308
307
|
|
|
309
308
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
310
309
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1,marginRight:10}}>
|
|
311
310
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
312
|
-
<
|
|
311
|
+
<Ao color={e.purple}size={15}/>
|
|
313
312
|
</C>
|
|
314
313
|
<C style={{flex:1}}>
|
|
315
|
-
<S style={{fontFamily:
|
|
314
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
316
315
|
NPM Update Toast
|
|
317
316
|
</S>
|
|
318
|
-
<S style={{fontFamily:
|
|
317
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
319
318
|
Show a floating toast banner with countdown progress when
|
|
320
319
|
a newer release is published on npm.
|
|
321
320
|
</S>
|
|
322
321
|
</C>
|
|
323
322
|
</C>
|
|
324
323
|
|
|
325
|
-
<
|
|
324
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle NPM Update Toast"accessibilityState={{checked:xe}}onPress={()=>Ur(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:xe?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:xe?"flex-end":"flex-start"}}>
|
|
326
325
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
327
|
-
</
|
|
326
|
+
</V>
|
|
328
327
|
</C>
|
|
329
328
|
</C>
|
|
330
329
|
</C>}
|
|
331
330
|
|
|
332
|
-
{
|
|
331
|
+
{q==="limits"&&<C style={{gap:14}}>
|
|
333
332
|
|
|
334
333
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
335
|
-
<S style={{fontFamily:
|
|
334
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
336
335
|
DEVICE MEMORY & AUTO PROFILES
|
|
337
336
|
</S>
|
|
338
337
|
|
|
@@ -340,42 +339,42 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
340
339
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
341
340
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
342
341
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
343
|
-
<
|
|
342
|
+
<Fr color={e.purple}size={16}/>
|
|
344
343
|
</C>
|
|
345
344
|
<C style={{flex:1}}>
|
|
346
|
-
<S style={{fontFamily:
|
|
345
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
347
346
|
Auto-Calculate Limits from RAM
|
|
348
347
|
</S>
|
|
349
|
-
<S style={{fontFamily:
|
|
348
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
350
349
|
Dynamically sets log limits according to available device
|
|
351
350
|
memory
|
|
352
351
|
</S>
|
|
353
352
|
</C>
|
|
354
353
|
</C>
|
|
355
354
|
|
|
356
|
-
<
|
|
355
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle auto RAM limit calculation"accessibilityState={{checked:I}}onPress={()=>Xr(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:I?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:I?"flex-end":"flex-start"}}>
|
|
357
356
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
358
|
-
</
|
|
357
|
+
</V>
|
|
359
358
|
</C>
|
|
360
359
|
|
|
361
360
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
362
361
|
|
|
363
362
|
|
|
364
363
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
365
|
-
<C style={{width:32,height:32,borderRadius:8,backgroundColor:
|
|
366
|
-
<
|
|
364
|
+
<C style={{width:32,height:32,borderRadius:8,backgroundColor:I?`${e.purple}14`:e.grayBackground,alignItems:"center",justifyContent:"center"}}>
|
|
365
|
+
<Cr color={I?e.purple:e.grayTextWeak}size={15}/>
|
|
367
366
|
</C>
|
|
368
367
|
<C style={{flex:1}}>
|
|
369
|
-
<S style={{fontFamily:
|
|
368
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:I?e.primaryBlack:e.grayText}}>
|
|
370
369
|
Detected Available RAM
|
|
371
370
|
</S>
|
|
372
|
-
<S style={{fontFamily:
|
|
373
|
-
{
|
|
371
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
372
|
+
{ke} MB available on device
|
|
374
373
|
</S>
|
|
375
374
|
</C>
|
|
376
|
-
<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:
|
|
377
|
-
<S style={{fontFamily:
|
|
378
|
-
{
|
|
375
|
+
<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:I?`${e.purple}12`:e.grayBackground,borderWidth:1,borderColor:I?`${e.purple}26`:e.dividerColor}}>
|
|
376
|
+
<S style={{fontFamily:x.interBold,fontSize:12,lineHeight:15,color:I?e.purple:e.grayText}}>
|
|
377
|
+
{ke} MB
|
|
379
378
|
</S>
|
|
380
379
|
</C>
|
|
381
380
|
</C>
|
|
@@ -383,22 +382,22 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
383
382
|
|
|
384
383
|
<C style={{marginTop:4,paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor,gap:6}}>
|
|
385
384
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
386
|
-
<S style={{fontFamily:
|
|
387
|
-
Profile: {
|
|
385
|
+
<S style={{fontFamily:x.interBold,fontSize:11.5,lineHeight:15,color:e.purple}}>
|
|
386
|
+
Profile: {oe.profileName}
|
|
388
387
|
</S>
|
|
389
|
-
<C style={{backgroundColor:
|
|
390
|
-
<S style={{fontFamily:
|
|
391
|
-
{
|
|
388
|
+
<C style={{backgroundColor:I?`${e.emerald500}18`:`${e.purple}18`,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4}}>
|
|
389
|
+
<S style={{fontFamily:x.interBold,fontSize:9.5,color:I?e.emerald500:e.purple}}>
|
|
390
|
+
{I?"AUTO-TUNED":"MANUAL"}
|
|
392
391
|
</S>
|
|
393
392
|
</C>
|
|
394
393
|
</C>
|
|
395
394
|
|
|
396
395
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:4}}>
|
|
397
|
-
{[{label:"
|
|
398
|
-
<S style={{fontFamily:
|
|
396
|
+
{[{label:"Logs",value:I?oe.maxConsoleLogs:Se,color:e.sky500},{label:"Analytics",value:I?oe.maxAnalyticsEvents:Ae,color:e.purple},{label:"Crash",value:I?oe.maxCrashRecords:Ee,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`}}>
|
|
397
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,lineHeight:14,color:r.color}}>
|
|
399
398
|
{r.label}:
|
|
400
399
|
</S>
|
|
401
|
-
<S style={{fontFamily:
|
|
400
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,lineHeight:14,color:r.color}}>
|
|
402
401
|
{r.value} max
|
|
403
402
|
</S>
|
|
404
403
|
</C>)}
|
|
@@ -408,25 +407,25 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
408
407
|
|
|
409
408
|
|
|
410
409
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
411
|
-
<S style={{fontFamily:
|
|
410
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
412
411
|
LOW MEMORY PRESSURE PROTECTION
|
|
413
412
|
</S>
|
|
414
413
|
|
|
415
414
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
416
415
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:`${e.emerald500}14`,alignItems:"center",justifyContent:"center"}}>
|
|
417
|
-
<
|
|
416
|
+
<Rr color={e.emerald500}size={15}/>
|
|
418
417
|
</C>
|
|
419
418
|
<C style={{flex:1}}>
|
|
420
|
-
<S style={{fontFamily:
|
|
419
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
421
420
|
OS Memory Warning Guard
|
|
422
421
|
</S>
|
|
423
|
-
<S style={{fontFamily:
|
|
422
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
424
423
|
Automatically prunes in-memory buffers by 50% when the OS
|
|
425
424
|
signals low memory
|
|
426
425
|
</S>
|
|
427
426
|
</C>
|
|
428
427
|
<C style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:`${e.emerald500}18`}}>
|
|
429
|
-
<S style={{fontFamily:
|
|
428
|
+
<S style={{fontFamily:x.interBold,fontSize:10,color:e.emerald500}}>
|
|
430
429
|
ACTIVE
|
|
431
430
|
</S>
|
|
432
431
|
</C>
|
|
@@ -437,290 +436,387 @@ import{useMemo as er,useState as $e,useEffect as Me,useRef as lo}from"react";imp
|
|
|
437
436
|
|
|
438
437
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
|
|
439
438
|
<C style={{flex:1}}>
|
|
440
|
-
<S style={{fontFamily:
|
|
439
|
+
<S style={{fontFamily:x.interBold,fontSize:13,color:e.primaryBlack}}>
|
|
441
440
|
Manual Memory Cleanup
|
|
442
441
|
</S>
|
|
443
|
-
<S style={{fontFamily:
|
|
442
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,color:e.grayText,marginTop:1}}>
|
|
444
443
|
Prune older entries across all log stores and free RAM
|
|
445
444
|
</S>
|
|
446
445
|
</C>
|
|
447
|
-
<
|
|
448
|
-
<
|
|
449
|
-
<S style={{fontFamily:
|
|
446
|
+
<V onPress={()=>{const r=_o("manual",.5);R(`Pruned ${r.totalPruned} items from memory`)}}style={{backgroundColor:e.purple,paddingHorizontal:12,paddingVertical:8,borderRadius:8,flexDirection:"row",alignItems:"center",gap:5}}>
|
|
447
|
+
<E size={13}color={e.white}/>
|
|
448
|
+
<S style={{fontFamily:x.interBold,fontSize:11.5,color:e.white}}>
|
|
450
449
|
Prune Now
|
|
451
450
|
</S>
|
|
452
|
-
</
|
|
451
|
+
</V>
|
|
453
452
|
</C>
|
|
454
453
|
</C>
|
|
455
454
|
</C>}
|
|
456
|
-
{
|
|
455
|
+
{q==="capture"&&<C style={{gap:12}}>
|
|
457
456
|
|
|
458
457
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
459
458
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
460
459
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
461
|
-
<
|
|
460
|
+
<Ce color={e.purple}size={16}/>
|
|
462
461
|
</C>
|
|
463
462
|
<C style={{flex:1}}>
|
|
464
|
-
<S style={{fontFamily:
|
|
465
|
-
{
|
|
463
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
464
|
+
{w("settings.media.screenshotCardTitle","Screenshot Capture Settings")}
|
|
466
465
|
</S>
|
|
467
|
-
<S style={{fontFamily:
|
|
468
|
-
{
|
|
466
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
467
|
+
{w("settings.media.screenshotCardDesc","Image encoding format, compression quality and overlay auto-hide")}
|
|
469
468
|
</S>
|
|
470
469
|
</C>
|
|
471
470
|
</C>
|
|
472
471
|
|
|
473
|
-
{z({icon
|
|
474
|
-
{["PNG","JPEG","WEBP"].map(r
|
|
475
|
-
|
|
476
|
-
|
|
477
|
-
|
|
478
|
-
|
|
472
|
+
{z({icon:<$r 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}}>
|
|
473
|
+
{["PNG","JPEG","WEBP"].map(r=>{const k=Ve===r;return<V key={r}onPress={()=>{H("light"),Ge(r),R(`Screenshot format: ${r}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
474
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
475
|
+
{r}
|
|
476
|
+
</S>
|
|
477
|
+
</V>})}
|
|
479
478
|
</C>})}
|
|
480
479
|
|
|
481
|
-
{z({icon:<
|
|
482
|
-
<S style={{fontFamily:
|
|
483
|
-
{
|
|
480
|
+
{z({icon:<Ie 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:()=>{H("light"),ee(r=>!r),R(`Auto-hide overlay: ${P?"OFF":"ON"}`)},right:<V onPress={()=>{H("light"),ee(r=>!r),R(`Auto-hide overlay: ${P?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:P?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:P?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
481
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:P?e.emerald500:e.grayText}}>
|
|
482
|
+
{P?w("settings.media.enabled","ON"):"OFF"}
|
|
484
483
|
</S>
|
|
485
|
-
</
|
|
484
|
+
</V>})}
|
|
486
485
|
</C>
|
|
487
486
|
|
|
488
487
|
|
|
489
488
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
490
489
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
491
490
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
492
|
-
<
|
|
491
|
+
<Ir color={e.purple}size={16}/>
|
|
493
492
|
</C>
|
|
494
493
|
<C style={{flex:1}}>
|
|
495
|
-
<S style={{fontFamily:
|
|
496
|
-
{
|
|
494
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
495
|
+
{w("settings.media.videoCardTitle","Video Recording & GIF Conversion")}
|
|
497
496
|
</S>
|
|
498
|
-
<S style={{fontFamily:
|
|
499
|
-
{
|
|
497
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
498
|
+
{w("settings.media.videoCardDesc","ReplayKit hardware encoding, frame capture fallback and GIF generation")}
|
|
500
499
|
</S>
|
|
501
500
|
</C>
|
|
502
501
|
</C>
|
|
503
502
|
|
|
504
|
-
{z({icon:<
|
|
505
|
-
{["Muted","App","Mic"].map(
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
503
|
+
{z({icon:<Dr 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}}>
|
|
504
|
+
{["Muted","App","Mic"].map(r=>{const k=je===r;return<V key={r}onPress={()=>{H("light"),Ue(r),R(`Audio source: ${r}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
505
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
506
|
+
{r}
|
|
507
|
+
</S>
|
|
508
|
+
</V>})}
|
|
510
509
|
</C>})}
|
|
511
510
|
|
|
512
|
-
{z({icon:<
|
|
513
|
-
{["15","24","30","60"].map(r
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
517
|
-
|
|
511
|
+
{z({icon:<Hr 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}}>
|
|
512
|
+
{["15","24","30","60"].map(r=>{const k=qe===r;return<V key={r}onPress={()=>{H("light"),Je(r),R(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
513
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
514
|
+
{r}fps
|
|
515
|
+
</S>
|
|
516
|
+
</V>})}
|
|
518
517
|
</C>})}
|
|
519
518
|
|
|
520
|
-
{z({icon:<
|
|
521
|
-
<S style={{fontFamily:
|
|
522
|
-
ON
|
|
519
|
+
{z({icon:<Pr 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:()=>{H("light"),re(r=>!r),R(`GIF optimization: ${L?"OFF":"ON"}`)},right:<V onPress={()=>{H("light"),re(r=>!r),R(`GIF optimization: ${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`}}>
|
|
520
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:L?e.emerald500:e.grayText}}>
|
|
521
|
+
{L?"ON":"OFF"}
|
|
523
522
|
</S>
|
|
524
|
-
</
|
|
523
|
+
</V>})}
|
|
525
524
|
</C>
|
|
526
525
|
|
|
527
526
|
|
|
528
527
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
529
|
-
{z({icon:<
|
|
530
|
-
<S style={{fontFamily:
|
|
531
|
-
{
|
|
528
|
+
{z({icon:<E 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:()=>{O.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 ve.clearAllMedia(),R(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`}}>
|
|
529
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
530
|
+
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
532
531
|
</S>
|
|
533
532
|
</C>})}
|
|
534
533
|
</C>
|
|
535
534
|
</C>}
|
|
536
535
|
<C style={{height:48}}/>
|
|
537
|
-
</
|
|
536
|
+
</M>
|
|
538
537
|
|
|
539
538
|
|
|
540
|
-
{
|
|
539
|
+
{q==="module"&&<C style={{paddingHorizontal:16,paddingTop:12,paddingBottom:Xe.OS==="ios"?36:24,backgroundColor:e.primaryLight,borderTopWidth:1,borderTopColor:e.dividerColor,flexDirection:"row",alignItems:"center",gap:12,shadowColor:e.black,shadowOpacity:.08,shadowRadius:8,shadowOffset:{width:0,height:-3},elevation:8}}>
|
|
541
540
|
<C style={{flex:1}}>
|
|
542
|
-
<S style={{fontFamily:
|
|
543
|
-
{
|
|
541
|
+
<S style={{fontFamily:x.interBold,fontSize:13,lineHeight:17,color:e.primaryBlack}}>
|
|
542
|
+
{so} of {$.length} Modules Active
|
|
544
543
|
</S>
|
|
545
|
-
<S style={{fontFamily:
|
|
546
|
-
{
|
|
544
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:K?e.purple:e.grayText,marginTop:1}}>
|
|
545
|
+
{w(K?"settings.unsavedPending":"settings.allSynchronized")}
|
|
547
546
|
</S>
|
|
548
547
|
</C>
|
|
549
548
|
|
|
550
|
-
<
|
|
551
|
-
<
|
|
552
|
-
<S style={{fontFamily:
|
|
553
|
-
{
|
|
549
|
+
<V accessible={!0}accessibilityRole="button"accessibilityLabel="Save Changes"onPress={co}style={{flexDirection:"row",alignItems:"center",gap:6,backgroundColor:K?e.purple:`${e.purple}22`,paddingHorizontal:18,paddingVertical:10,borderRadius:10}}>
|
|
550
|
+
<U size={14}color={K?e.white:e.purple}/>
|
|
551
|
+
<S style={{fontFamily:x.interBold,fontSize:13,lineHeight:17,color:K?e.white:e.purple}}>
|
|
552
|
+
{w("settings.saveChanges")}
|
|
554
553
|
</S>
|
|
555
|
-
</
|
|
554
|
+
</V>
|
|
556
555
|
</C>}
|
|
557
|
-
</C>;let
|
|
558
|
-
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary}}>
|
|
559
|
-
{z({icon:<Z color={e.purple}size={16}/>,label:x("settings.apis.maxRequestLogs"),description:x("settings.apis.maxRequestLogsDescription"),numericInput:{value:De,onChange:Gr,min:10,max:100,placeholder:"Enter max requests (10-100)"},isLast:!0})}
|
|
560
|
-
</C>
|
|
556
|
+
</C>;let N=null;A==="apis"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
561
557
|
|
|
562
558
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
563
|
-
{z({icon:<
|
|
564
|
-
<S style={{fontFamily:
|
|
565
|
-
{
|
|
559
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:w("settings.apis.clearNetworkLogs"),description:w("settings.apis.clearNetworkLogsDescription",{count:Pe.length}),isLast:!0,onPress:()=>{zo(),eo(null),O.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`}}>
|
|
560
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
561
|
+
{w("common.clear")}
|
|
566
562
|
</S>
|
|
567
563
|
</C>})}
|
|
568
564
|
</C>
|
|
569
565
|
<C style={{height:48}}/>
|
|
570
|
-
</A
|
|
566
|
+
</M>:A==="logs"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
571
567
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
572
|
-
{z({icon:<
|
|
568
|
+
{z({icon:<Sr color={e.purple}size={16}/>,label:w("settings.logs.maxConsoleLogs"),description:w("settings.logs.maxConsoleLogsDescription"),numericInput:{value:Se,onChange:_r,min:10,max:100,placeholder:"Enter max logs (10-100)"}})}
|
|
573
569
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
574
|
-
<S style={{fontFamily:
|
|
575
|
-
{
|
|
570
|
+
<S style={{fontFamily:x.interBold,fontSize:13,lineHeight:17,color:e.primaryBlack,paddingTop:6}}>
|
|
571
|
+
{w("settings.logs.logLevels")}
|
|
576
572
|
</S>
|
|
577
|
-
{["info","warn","error"].map(r=>{const
|
|
578
|
-
{
|
|
573
|
+
{["info","warn","error"].map(r=>{const k=qr?.[r],D=r==="error"?e.errorColor:r==="warn"?e.warningIconGold:e.skyBlue,F=w(r==="info"?"settings.logs.showInfo":r==="warn"?"settings.logs.showWarn":"settings.logs.showError"),W=w(r==="info"?"settings.logs.showInfoDesc":r==="warn"?"settings.logs.showWarnDesc":"settings.logs.showErrorDesc");return z({icon:<C style={{width:12,height:12,borderRadius:6,backgroundColor:D}}/>,label:F,description:W,isLast:r==="error",onPress:()=>Jr(B=>({...B,[r]:!B[r]})),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:k?e.purple:e.grayTextWeak,backgroundColor:k?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
574
|
+
{k&&<U size={12}color={e.purple}/>}
|
|
579
575
|
</C>})})}
|
|
580
576
|
</C>
|
|
581
577
|
|
|
582
578
|
|
|
583
579
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:16,gap:14}}>
|
|
584
|
-
<S style={{fontFamily:
|
|
585
|
-
{
|
|
580
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
581
|
+
{w("settings.logFiltersDeduplication")}
|
|
586
582
|
</S>
|
|
587
583
|
|
|
588
584
|
|
|
589
585
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
590
586
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
591
587
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
592
|
-
<
|
|
588
|
+
<Ie color={e.purple}size={15}/>
|
|
593
589
|
</C>
|
|
594
590
|
<C style={{flex:1}}>
|
|
595
|
-
<S style={{fontFamily:
|
|
596
|
-
{
|
|
591
|
+
<S style={{fontFamily:x.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
592
|
+
{w("settings.general.duplicateLogs")}
|
|
597
593
|
</S>
|
|
598
|
-
<S style={{fontFamily:
|
|
599
|
-
{
|
|
594
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
595
|
+
{w("settings.general.duplicateLogsDescription")}
|
|
600
596
|
</S>
|
|
601
597
|
</C>
|
|
602
598
|
</C>
|
|
603
599
|
|
|
604
|
-
<
|
|
600
|
+
<V accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle show duplicate logs"accessibilityState={{checked:we}}onPress={()=>jr(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:we?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:we?"flex-end":"flex-start"}}>
|
|
605
601
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
606
|
-
</
|
|
602
|
+
</V>
|
|
607
603
|
</C>
|
|
608
604
|
</C>
|
|
609
605
|
|
|
610
606
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
611
|
-
{z({icon:<
|
|
612
|
-
<S style={{fontFamily:
|
|
613
|
-
{
|
|
607
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:w("settings.logs.clearConsoleLogs"),description:w("settings.logs.clearConsoleLogsDescription",{count:$e.length}),isLast:!0,onPress:()=>{Ro(),O.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`}}>
|
|
608
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
609
|
+
{w("common.clear")}
|
|
614
610
|
</S>
|
|
615
611
|
</C>})}
|
|
616
612
|
</C>
|
|
617
613
|
<C style={{height:48}}/>
|
|
618
|
-
</A
|
|
614
|
+
</M>:A==="analytics"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
619
615
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary}}>
|
|
620
|
-
{z({icon:<
|
|
616
|
+
{z({icon:<Tr color={e.purple}size={16}/>,label:w("settings.analytics.maxAnalyticsEvents"),description:w("settings.analytics.maxAnalyticsEventsDescription",{count:Le.length}),numericInput:{value:Ae,onChange:Qr,min:10,max:75,placeholder:"Enter max events (10-75)"},isLast:!0})}
|
|
621
617
|
</C>
|
|
622
618
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
623
|
-
{z({icon:<
|
|
624
|
-
<S style={{fontFamily:
|
|
625
|
-
{
|
|
619
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:w("settings.analytics.clearAnalyticsEvents"),description:w("settings.analytics.clearAnalyticsEventsDescription"),isLast:!0,onPress:()=>{Fo(),ro(null),O.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`}}>
|
|
620
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
621
|
+
{w("common.clear")}
|
|
626
622
|
</S>
|
|
627
623
|
</C>})}
|
|
628
624
|
</C>
|
|
629
625
|
<C style={{height:48}}/>
|
|
630
|
-
</A
|
|
626
|
+
</M>:A==="redux"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
631
627
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
632
|
-
{z({icon:<
|
|
633
|
-
{
|
|
628
|
+
{z({icon:<Br color={e.purple}size={16}/>,label:w("settings.redux.autoRefresh"),description:w("settings.redux.autoRefreshDescription"),onPress:()=>Yr(r=>!r),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:Te?e.purple:e.grayTextWeak,backgroundColor:Te?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
629
|
+
{Te&&<U size={12}color={e.purple}/>}
|
|
634
630
|
</C>})}
|
|
635
631
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
636
|
-
{z({icon:<
|
|
632
|
+
{z({icon:<Q color={e.purple}size={16}/>,label:w("settings.redux.defaultJsonExpandDepth"),description:w("settings.redux.defaultJsonExpandDepthDescription"),picker:{options:[1,2,3,5],selectedValue:Oe,onSelect:Zr},isLast:!0})}
|
|
637
633
|
</C>
|
|
638
634
|
|
|
639
635
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
640
|
-
{z({icon:<
|
|
641
|
-
<S style={{fontFamily:
|
|
642
|
-
{
|
|
636
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:w("settings.redux.clearReduxState"),description:w(We?"settings.redux.clearReduxStateDescription":"settings.redux.clearReduxStateEmpty"),isLast:!0,onPress:()=>{oo(null),O.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`}}>
|
|
637
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
638
|
+
{w("common.clear")}
|
|
643
639
|
</S>
|
|
644
640
|
</C>})}
|
|
645
641
|
</C>
|
|
646
642
|
<C style={{height:48}}/>
|
|
647
|
-
</A
|
|
643
|
+
</M>:A==="crash"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
648
644
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
649
|
-
{z({icon:<
|
|
645
|
+
{z({icon:<Q color={e.purple}size={16}/>,label:w("settings.crash.maxCrashLogs"),description:w("settings.crash.maxCrashLogsDesc"),numericInput:{value:Ee,onChange:to,min:5,max:50,placeholder:"Enter max crashes (5-50)"}})}
|
|
650
646
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
651
|
-
{z({icon:<
|
|
652
|
-
<S style={{fontFamily:
|
|
653
|
-
{
|
|
647
|
+
{z({icon:<Rr color={e.greenColor}size={16}/>,label:w("settings.crash.globalGuard"),description:w("settings.crash.globalGuardDesc"),isLast:!0,right:<C style={{paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${e.greenColor}1F`}}>
|
|
648
|
+
<S style={{fontFamily:x.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
649
|
+
{w("settings.protectedBadge")}
|
|
654
650
|
</S>
|
|
655
651
|
</C>})}
|
|
656
652
|
</C>
|
|
657
653
|
|
|
658
654
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
659
|
-
{z({icon:<
|
|
660
|
-
<S style={{fontFamily:
|
|
661
|
-
{
|
|
655
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:w("settings.crash.clearHistory"),description:w("settings.crash.clearHistoryDesc",{count:Me?.length||0}),isLast:!0,onPress:()=>{Ho(),O.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`}}>
|
|
656
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
657
|
+
{w("common.clear")}
|
|
662
658
|
</S>
|
|
663
659
|
</C>})}
|
|
664
660
|
</C>
|
|
665
661
|
<C style={{height:48}}/>
|
|
666
|
-
</A
|
|
662
|
+
</M>:A==="push"?N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
663
|
+
|
|
664
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
665
|
+
{z({icon:<Q color={e.purple}size={16}/>,label:"Max Push Notification Logs",description:"Buffer size limit for recorded push payloads (10-200)",numericInput:{value:lo,onChange:ao,min:10,max:200,placeholder:"Enter max logs (10-200)"}})}
|
|
666
|
+
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
667
|
+
{z({icon:<Lr 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`}}>
|
|
668
|
+
<S style={{fontFamily:x.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
669
|
+
ACTIVE
|
|
670
|
+
</S>
|
|
671
|
+
</C>})}
|
|
672
|
+
</C>
|
|
673
|
+
|
|
674
|
+
|
|
667
675
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
668
|
-
<
|
|
669
|
-
|
|
670
|
-
|
|
671
|
-
|
|
672
|
-
|
|
673
|
-
|
|
674
|
-
|
|
676
|
+
<S style={{fontFamily:x.interBold,fontSize:12,color:e.primaryBlack,marginBottom:4}}>
|
|
677
|
+
⚡ SIMULATE TEST PUSH NOTIFICATIONS
|
|
678
|
+
</S>
|
|
679
|
+
|
|
680
|
+
<C style={{flexDirection:"row",flexWrap:"wrap",gap:6}}>
|
|
681
|
+
<V onPress={()=>{Y("salesforce"),R("Simulated Salesforce Marketing Cloud push")}}style={{backgroundColor:`${e.sky600}14`,borderColor:`${e.sky600}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
682
|
+
<S style={{fontSize:11,fontFamily:x.interSemiBold,color:e.sky600}}>
|
|
683
|
+
+ Salesforce MC
|
|
675
684
|
</S>
|
|
676
|
-
|
|
677
|
-
|
|
685
|
+
</V>
|
|
686
|
+
|
|
687
|
+
<V onPress={()=>{Y("fcm"),R("Simulated Firebase FCM push")}}style={{backgroundColor:`${e.darkOrange}14`,borderColor:`${e.darkOrange}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
688
|
+
<S style={{fontSize:11,fontFamily:x.interSemiBold,color:e.darkOrange}}>
|
|
689
|
+
+ Firebase FCM
|
|
678
690
|
</S>
|
|
679
|
-
</
|
|
691
|
+
</V>
|
|
692
|
+
|
|
693
|
+
<V onPress={()=>{Y("apns"),R("Simulated Apple APNs push")}}style={{backgroundColor:`${e.primaryBlack}10`,borderColor:`${e.primaryBlack}25`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
694
|
+
<S style={{fontSize:11,fontFamily:x.interSemiBold,color:e.primaryBlack}}>
|
|
695
|
+
+ Apple APNs
|
|
696
|
+
</S>
|
|
697
|
+
</V>
|
|
698
|
+
|
|
699
|
+
<V onPress={()=>{Y("deeplink"),R("Simulated Deep Link push")}}style={{backgroundColor:`${e.brandPurple}14`,borderColor:`${e.brandPurple}33`,borderWidth:1,paddingHorizontal:10,paddingVertical:6,borderRadius:8}}>
|
|
700
|
+
<S style={{fontSize:11,fontFamily:x.interSemiBold,color:e.brandPurple}}>
|
|
701
|
+
+ Deep Link
|
|
702
|
+
</S>
|
|
703
|
+
</V>
|
|
680
704
|
</C>
|
|
681
705
|
</C>
|
|
682
706
|
|
|
707
|
+
|
|
683
708
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
684
|
-
{z({icon:<
|
|
685
|
-
<S style={{fontFamily:
|
|
686
|
-
{
|
|
709
|
+
{z({icon:<E color={e.errorColor}size={16}/>,label:"Clear Push History",description:`Permanently remove all ${io?.length||0} recorded notifications`,isLast:!0,onPress:()=>{no(),O.alert("Success","Push notification history cleared")},right:<C style={{paddingHorizontal:12,paddingVertical:6,borderRadius:8,backgroundColor:`${e.errorColor}14`,borderWidth:1,borderColor:`${e.errorColor}33`}}>
|
|
710
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
711
|
+
{w("common.clear")}
|
|
687
712
|
</S>
|
|
688
713
|
</C>})}
|
|
689
714
|
</C>
|
|
690
715
|
<C style={{height:48}}/>
|
|
691
|
-
</A
|
|
716
|
+
</M>:A==="media"&&(N=<M style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
717
|
+
|
|
692
718
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
719
|
+
<S style={{fontFamily:x.interBold,fontSize:12,color:e.primaryBlack,marginBottom:4}}>
|
|
720
|
+
⚡ DIRECT CAPTURE SHORTCUTS
|
|
721
|
+
</S>
|
|
722
|
+
|
|
723
|
+
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8}}>
|
|
724
|
+
<V onPress={async()=>{H("light"),await ve.takeScreenshot({format:Ve.toLowerCase(),quality:.9,hideInspector:P})&&(H("success"),R("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}}>
|
|
725
|
+
<Ce color={e.purple}size={14}/>
|
|
726
|
+
<S style={{fontSize:11,fontFamily:x.interBold,color:e.purple}}>
|
|
727
|
+
Take Screenshot
|
|
728
|
+
</S>
|
|
729
|
+
</V>
|
|
730
|
+
</C>
|
|
731
|
+
</C>
|
|
732
|
+
|
|
733
|
+
|
|
734
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
735
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
736
|
+
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
737
|
+
<Ce color={e.purple}size={16}/>
|
|
738
|
+
</C>
|
|
739
|
+
<C style={{flex:1}}>
|
|
740
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
741
|
+
{w("settings.media.screenshotCardTitle","Screenshot Capture Settings")}
|
|
742
|
+
</S>
|
|
743
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
744
|
+
{w("settings.media.screenshotCardDesc","Image encoding format, compression quality and overlay auto-hide")}
|
|
745
|
+
</S>
|
|
746
|
+
</C>
|
|
747
|
+
</C>
|
|
748
|
+
|
|
749
|
+
{z({icon:<$r 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}}>
|
|
750
|
+
{["PNG","JPEG","WEBP"].map(r=>{const k=Ve===r;return<V key={r}onPress={()=>{H("light"),Ge(r),R(`Screenshot format: ${r}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
751
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
752
|
+
{r}
|
|
753
|
+
</S>
|
|
754
|
+
</V>})}
|
|
755
|
+
</C>})}
|
|
756
|
+
|
|
757
|
+
{z({icon:<Ie 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:()=>{H("light"),ee(r=>!r),R(`Auto-hide overlay: ${P?"OFF":"ON"}`)},right:<V onPress={()=>{H("light"),ee(r=>!r),R(`Auto-hide overlay: ${P?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:P?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:P?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
758
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:P?e.emerald500:e.grayText}}>
|
|
759
|
+
{P?w("settings.media.enabled","ON"):"OFF"}
|
|
760
|
+
</S>
|
|
761
|
+
</V>})}
|
|
762
|
+
</C>
|
|
763
|
+
|
|
764
|
+
|
|
765
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
693
766
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
694
767
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
695
|
-
<
|
|
768
|
+
<Ir color={e.purple}size={16}/>
|
|
696
769
|
</C>
|
|
697
770
|
<C style={{flex:1}}>
|
|
698
|
-
<S style={{fontFamily:
|
|
699
|
-
{
|
|
771
|
+
<S style={{fontFamily:x.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
772
|
+
{w("settings.media.videoCardTitle","Video Recording & GIF Conversion")}
|
|
700
773
|
</S>
|
|
701
|
-
<S style={{fontFamily:
|
|
702
|
-
{
|
|
774
|
+
<S style={{fontFamily:x.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
775
|
+
{w("settings.media.videoCardDesc","ReplayKit hardware encoding, frame capture fallback and GIF generation")}
|
|
703
776
|
</S>
|
|
704
777
|
</C>
|
|
705
778
|
</C>
|
|
779
|
+
|
|
780
|
+
{z({icon:<Dr 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}}>
|
|
781
|
+
{["Muted","App","Mic"].map(r=>{const k=je===r;return<V key={r}onPress={()=>{H("light"),Ue(r),R(`Audio source: ${r}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
782
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
783
|
+
{r}
|
|
784
|
+
</S>
|
|
785
|
+
</V>})}
|
|
786
|
+
</C>})}
|
|
787
|
+
|
|
788
|
+
{z({icon:<Hr 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}}>
|
|
789
|
+
{["15","24","30","60"].map(r=>{const k=qe===r;return<V key={r}onPress={()=>{H("light"),Je(r),R(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:k?e.purple:`${e.purple}14`,borderWidth:1,borderColor:k?e.purple:`${e.purple}2E`}}>
|
|
790
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:k?e.white:e.purple}}>
|
|
791
|
+
{r}fps
|
|
792
|
+
</S>
|
|
793
|
+
</V>})}
|
|
794
|
+
</C>})}
|
|
795
|
+
|
|
796
|
+
{z({icon:<Pr 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:()=>{H("light"),re(r=>!r),R(`GIF optimization: ${L?"OFF":"ON"}`)},right:<V onPress={()=>{H("light"),re(r=>!r),R(`GIF optimization: ${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`}}>
|
|
797
|
+
<S style={{fontFamily:x.interBold,fontSize:10.5,color:L?e.emerald500:e.grayText}}>
|
|
798
|
+
{L?"ON":"OFF"}
|
|
799
|
+
</S>
|
|
800
|
+
</V>})}
|
|
706
801
|
</C>
|
|
707
802
|
|
|
803
|
+
|
|
708
804
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
709
|
-
{z({icon:<
|
|
710
|
-
<S style={{fontFamily:
|
|
711
|
-
{
|
|
805
|
+
{z({icon:<E 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:()=>{O.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 ve.clearAllMedia(),R(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`}}>
|
|
806
|
+
<S style={{fontFamily:x.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
807
|
+
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
712
808
|
</S>
|
|
713
809
|
</C>})}
|
|
714
810
|
</C>
|
|
715
811
|
<C style={{height:48}}/>
|
|
716
|
-
</
|
|
812
|
+
</M>);const te=yo(new Fe.Value(0)).current;return Re(()=>{A!=="main"&&(te.setValue(0),Fe.spring(te,{toValue:1,friction:8,tension:65,useNativeDriver:!0}).start())},[A]),<C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
717
813
|
|
|
718
|
-
<C style={[
|
|
719
|
-
{
|
|
814
|
+
<C style={[Ye.absoluteFill,A!=="main"&&{pointerEvents:"none"}]}>
|
|
815
|
+
{go()}
|
|
720
816
|
</C>
|
|
721
817
|
|
|
722
818
|
|
|
723
|
-
{
|
|
724
|
-
{
|
|
725
|
-
</
|
|
726
|
-
</C>};export default
|
|
819
|
+
{A!=="main"&&<Fe.View style={[Ye.absoluteFill,{backgroundColor:e.grayBackground,opacity:te,transform:[{translateX:te.interpolate({inputRange:[0,1],outputRange:[30,0]})}]}]}>
|
|
820
|
+
{N}
|
|
821
|
+
</Fe.View>}
|
|
822
|
+
</C>};export default Qo;
|