react-native-inapp-inspector 2.4.0 → 2.4.2
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 +163 -0
- package/README.de.md +163 -0
- package/README.es.md +164 -0
- package/README.fr.md +163 -0
- package/README.hi.md +163 -0
- package/README.ja.md +180 -0
- package/README.ko.md +163 -0
- package/README.md +340 -243
- package/README.pt-BR.md +163 -0
- package/README.ru.md +163 -0
- package/README.zh-CN.md +387 -0
- package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +82 -21
- package/assets/banner_dark.svg +186 -0
- package/assets/banner_light.svg +186 -0
- package/assets/icon_circle.svg +148 -0
- package/assets/icon_square.svg +369 -0
- package/assets/inapp_inspector_icon.gif +0 -0
- package/assets/inapp_inspector_icon_original.gif +0 -0
- package/assets/social_preview.png +0 -0
- package/assets/walkthrough.gif +0 -0
- package/dist/commonjs/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/commonjs/components/AnimatedBrandOwl.js +175 -0
- package/dist/commonjs/components/AppHeaderLogo.d.ts +1 -0
- package/dist/commonjs/components/AppHeaderLogo.js +7 -5
- package/dist/commonjs/components/BrandSquareIcon.d.ts +5 -0
- package/dist/commonjs/components/BrandSquareIcon.js +139 -0
- package/dist/commonjs/components/ConsoleLogCard.d.ts +2 -1
- package/dist/commonjs/components/ConsoleLogCard.js +23 -39
- package/dist/commonjs/components/Inspector/AboutModal.js +44 -54
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +16 -16
- package/dist/commonjs/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/commonjs/components/Inspector/ConsoleTab.js +15 -15
- package/dist/commonjs/components/Inspector/CrashTab.js +25 -23
- package/dist/commonjs/components/Inspector/DebuggingTab.js +17 -17
- package/dist/commonjs/components/Inspector/FabLauncher.js +22 -30
- package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +2 -2
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/commonjs/components/Inspector/MainScreen.js +46 -33
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +21 -19
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +85 -101
- package/dist/commonjs/components/Inspector/NetworkTab.js +50 -50
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/commonjs/components/Inspector/PushCard.d.ts +3 -2
- package/dist/commonjs/components/Inspector/PushCard.js +5 -4
- package/dist/commonjs/components/Inspector/PushDetail.js +32 -23
- package/dist/commonjs/components/Inspector/PushTab.js +13 -13
- package/dist/commonjs/components/Inspector/ReduxDetail.js +32 -32
- package/dist/commonjs/components/Inspector/ReduxTab.js +14 -14
- package/dist/commonjs/components/Inspector/SettingsPanel.js +258 -139
- package/dist/commonjs/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SocketCard.js +116 -0
- package/dist/commonjs/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/commonjs/components/Inspector/SocketDetail.js +317 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/commonjs/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/commonjs/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/commonjs/components/Inspector/SocketTab.js +112 -0
- package/dist/commonjs/components/Inspector/StorageTab.js +34 -32
- package/dist/commonjs/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/commonjs/components/Inspector/SupportModal.js +125 -0
- package/dist/commonjs/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/commonjs/components/Inspector/SupportPage.js +227 -0
- package/dist/commonjs/components/Inspector/TabBar.js +24 -23
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +24 -24
- package/dist/commonjs/components/JsonViewer.js +7 -7
- package/dist/commonjs/components/LogCard.d.ts +3 -2
- package/dist/commonjs/components/LogCard.js +17 -14
- package/dist/commonjs/components/LogSyntaxHighlighter.js +5 -5
- package/dist/commonjs/components/ModuleErrorBoundary.js +2 -2
- package/dist/commonjs/components/NetworkIcons.d.ts +15 -0
- package/dist/commonjs/components/NetworkIcons.js +38 -3
- package/dist/commonjs/components/SegmentedTabs.js +1 -1
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/socketLogger.d.ts +26 -0
- package/dist/commonjs/customHooks/socketLogger.js +2 -0
- package/dist/commonjs/helpers/index.js +3 -3
- package/dist/commonjs/helpers/memoryManager.d.ts +1 -0
- package/dist/commonjs/helpers/memoryManager.js +1 -1
- package/dist/commonjs/helpers/searchQueryParser.d.ts +1 -1
- package/dist/commonjs/helpers/searchQueryParser.js +5 -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 +3 -1
- package/dist/commonjs/helpers/shareFormatter.js +8 -7
- package/dist/commonjs/i18n/index.d.ts +99 -1
- package/dist/commonjs/i18n/index.js +1 -1
- package/dist/commonjs/i18n/locales/ar.json +1 -1
- package/dist/commonjs/i18n/locales/bn.json +1 -0
- 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 -0
- package/dist/commonjs/i18n/locales/hi.json +1 -1
- package/dist/commonjs/i18n/locales/id.json +1 -0
- package/dist/commonjs/i18n/locales/it.json +1 -0
- package/dist/commonjs/i18n/locales/ja.json +1 -1
- package/dist/commonjs/i18n/locales/kn.json +1 -0
- package/dist/commonjs/i18n/locales/ko.json +1 -1
- package/dist/commonjs/i18n/locales/ml.json +1 -0
- package/dist/commonjs/i18n/locales/mr.json +1 -0
- package/dist/commonjs/i18n/locales/nl.json +1 -0
- package/dist/commonjs/i18n/locales/pa.json +1 -0
- package/dist/commonjs/i18n/locales/pl.json +1 -0
- 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 -0
- package/dist/commonjs/i18n/locales/te.json +1 -0
- package/dist/commonjs/i18n/locales/tr.json +1 -0
- package/dist/commonjs/i18n/locales/vi.json +1 -0
- package/dist/commonjs/i18n/locales/zh.json +1 -1
- package/dist/commonjs/index.d.ts +13 -13
- package/dist/commonjs/index.js +5 -4
- package/dist/commonjs/native/NativeInspector.d.ts +1 -0
- package/dist/commonjs/socket.d.ts +4 -0
- package/dist/commonjs/socket.js +1 -0
- package/dist/commonjs/styles/index.d.ts +23 -0
- package/dist/commonjs/styles/index.js +1 -1
- package/dist/commonjs/types/enums.d.ts +40 -0
- package/dist/commonjs/types/enums.js +1 -1
- package/dist/commonjs/types/interfaces.d.ts +122 -1
- package/dist/esm/components/AnimatedBrandOwl.d.ts +7 -0
- package/dist/esm/components/AnimatedBrandOwl.js +175 -0
- package/dist/esm/components/AppHeaderLogo.d.ts +1 -0
- package/dist/esm/components/AppHeaderLogo.js +7 -5
- package/dist/esm/components/BrandSquareIcon.d.ts +5 -0
- package/dist/esm/components/BrandSquareIcon.js +139 -0
- package/dist/esm/components/ConsoleLogCard.d.ts +2 -1
- package/dist/esm/components/ConsoleLogCard.js +61 -77
- package/dist/esm/components/Inspector/AboutModal.js +85 -95
- package/dist/esm/components/Inspector/AnalyticsTab.js +31 -31
- package/dist/esm/components/Inspector/ConfirmationModal.d.ts +13 -0
- package/dist/esm/components/Inspector/ConfirmationModal.js +32 -0
- package/dist/esm/components/Inspector/ConsoleTab.js +49 -49
- package/dist/esm/components/Inspector/CrashTab.js +40 -38
- package/dist/esm/components/Inspector/DebuggingTab.js +29 -29
- package/dist/esm/components/Inspector/FabLauncher.js +50 -58
- package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +7 -7
- package/dist/esm/components/Inspector/LanguageSelectorModal.d.ts +15 -0
- package/dist/esm/components/Inspector/LanguageSelectorModal.js +90 -0
- package/dist/esm/components/Inspector/MainScreen.js +123 -110
- package/dist/esm/components/Inspector/MediaGalleryTab.js +64 -62
- package/dist/esm/components/Inspector/MediaPreviewModal.js +107 -123
- package/dist/esm/components/Inspector/NetworkTab.js +90 -90
- package/dist/esm/components/Inspector/NpmUpdateToast.js +1 -1
- package/dist/esm/components/Inspector/PushCard.d.ts +3 -2
- package/dist/esm/components/Inspector/PushCard.js +23 -22
- package/dist/esm/components/Inspector/PushDetail.js +34 -25
- package/dist/esm/components/Inspector/PushTab.js +25 -25
- package/dist/esm/components/Inspector/ReduxDetail.js +42 -42
- package/dist/esm/components/Inspector/ReduxTab.js +35 -35
- package/dist/esm/components/Inspector/SettingsPanel.js +495 -376
- package/dist/esm/components/Inspector/SocketCard.d.ts +5 -0
- package/dist/esm/components/Inspector/SocketCard.js +116 -0
- package/dist/esm/components/Inspector/SocketDetail.d.ts +4 -0
- package/dist/esm/components/Inspector/SocketDetail.js +317 -0
- package/dist/esm/components/Inspector/SocketFilterModal.d.ts +13 -0
- package/dist/esm/components/Inspector/SocketFilterModal.js +69 -0
- package/dist/esm/components/Inspector/SocketTab.d.ts +3 -0
- package/dist/esm/components/Inspector/SocketTab.js +112 -0
- package/dist/esm/components/Inspector/StorageTab.js +136 -134
- package/dist/esm/components/Inspector/SupportModal.d.ts +7 -0
- package/dist/esm/components/Inspector/SupportModal.js +125 -0
- package/dist/esm/components/Inspector/SupportPage.d.ts +5 -0
- package/dist/esm/components/Inspector/SupportPage.js +227 -0
- package/dist/esm/components/Inspector/TabBar.js +36 -35
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +22 -22
- package/dist/esm/components/JsonViewer.js +55 -55
- package/dist/esm/components/LogCard.d.ts +3 -2
- package/dist/esm/components/LogCard.js +61 -58
- package/dist/esm/components/LogSyntaxHighlighter.js +5 -5
- package/dist/esm/components/ModuleErrorBoundary.js +23 -23
- package/dist/esm/components/NetworkIcons.d.ts +15 -0
- package/dist/esm/components/NetworkIcons.js +38 -3
- package/dist/esm/components/SegmentedTabs.js +7 -7
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/socketLogger.d.ts +26 -0
- package/dist/esm/customHooks/socketLogger.js +2 -0
- package/dist/esm/helpers/index.js +3 -3
- package/dist/esm/helpers/memoryManager.d.ts +1 -0
- package/dist/esm/helpers/memoryManager.js +1 -1
- package/dist/esm/helpers/searchQueryParser.d.ts +1 -1
- package/dist/esm/helpers/searchQueryParser.js +5 -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 +3 -1
- package/dist/esm/helpers/shareFormatter.js +8 -7
- package/dist/esm/i18n/index.d.ts +99 -1
- package/dist/esm/i18n/index.js +1 -1
- package/dist/esm/i18n/locales/ar.json +1 -1
- package/dist/esm/i18n/locales/bn.json +1 -0
- 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 -0
- package/dist/esm/i18n/locales/hi.json +1 -1
- package/dist/esm/i18n/locales/id.json +1 -0
- package/dist/esm/i18n/locales/it.json +1 -0
- package/dist/esm/i18n/locales/ja.json +1 -1
- package/dist/esm/i18n/locales/kn.json +1 -0
- package/dist/esm/i18n/locales/ko.json +1 -1
- package/dist/esm/i18n/locales/ml.json +1 -0
- package/dist/esm/i18n/locales/mr.json +1 -0
- package/dist/esm/i18n/locales/nl.json +1 -0
- package/dist/esm/i18n/locales/pa.json +1 -0
- package/dist/esm/i18n/locales/pl.json +1 -0
- 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 -0
- package/dist/esm/i18n/locales/te.json +1 -0
- package/dist/esm/i18n/locales/tr.json +1 -0
- package/dist/esm/i18n/locales/vi.json +1 -0
- package/dist/esm/i18n/locales/zh.json +1 -1
- package/dist/esm/index.d.ts +13 -13
- package/dist/esm/index.js +8 -7
- package/dist/esm/native/NativeInspector.d.ts +1 -0
- package/dist/esm/socket.d.ts +4 -0
- package/dist/esm/socket.js +1 -0
- package/dist/esm/styles/index.d.ts +23 -0
- package/dist/esm/styles/index.js +1 -1
- package/dist/esm/types/enums.d.ts +40 -0
- package/dist/esm/types/enums.js +1 -1
- package/dist/esm/types/interfaces.d.ts +122 -1
- package/ios/NetworkInspectorModule.mm +102 -12
- package/package.json +204 -2
- package/src/native/NativeInspector.ts +8 -0
|
@@ -1,218 +1,271 @@
|
|
|
1
|
-
import{useMemo as
|
|
2
|
-
<
|
|
1
|
+
import{useMemo as ye,useState as ue,useEffect as De,useRef as Co}from"react";import{Alert as E,Animated as ve,DevSettings as Le,Platform as Ze,ScrollView as N,StyleSheet as er,Text as T,TextInput as So,View as C}from"react-native";import To,{Path as Cr}from"react-native-svg";import{animateNextLayout as he,useInspector as zo}from"./InspectorContext";import B from"../TouchableScale";import Bo from"../Slider";import{toggleGlobalTheme as Vo}from"../../styles";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{calculateRamBasedLimits as Ro}from"../../helpers/settingsStore";import{clearNetworkLogs as Fo}from"../../customHooks/networkLogger";import{clearConsoleLogs as Io}from"../../customHooks/consoleLogger";import{clearAnalyticsEvents as Ho,isAnalyticsConnected as wr}from"../../customHooks/analyticsLogger";import{clearCrashRecords as Do}from"../../customHooks/crashHandler";import{isReduxConnected as Sr}from"../../customHooks/reduxLogger";import{useTranslation as vo,SUPPORTED_LANGUAGES as kr,getLanguage as Lo}from"../../i18n";import{LanguageSelectorModal as $o}from"./LanguageSelectorModal";import{GlobeIcon as Wo,SignalIcon as Tr,TerminalIcon as Br,AnalyticsIcon as Vr,SettingsIcon as Po,SunIcon as Ao,MoonIcon as Oo,ScreenIcon as Rr,MotionIcon as Mo,LayersIcon as X,EyeIcon as $e,CheckIcon as K,TrashIcon as G,PackageIcon as Eo,ReduxIcon as Fr,CrashIcon as No,ShieldAlertIcon as Ir,ForwardChevronIcon as Hr,ChevronDownIcon as Go,BrainIcon as Dr,SmartphoneIcon as Uo,DatabaseIcon as Ko,QrCodeIcon as _o,FilmIcon as Lr,ScreencastIcon as Jo,CameraIcon as Ce,VideoCameraIcon as $r,MicrophoneIcon as Wr,GifIcon as Pr,ImageIcon as Ar,BellIcon as Or,WebsocketIcon as Mr,BoltIcon as We}from"../NetworkIcons";import{ScreenCapture as Pe}from"../../capture";import{triggerNativeHaptic as v}from"../../native/NativeInspector";import{isLocalDebugEnvironment as Qo}from"../../helpers";import{showToast as I}from"../../helpers/toast";import{pruneAllLogs as Xo}from"../../helpers/memoryManager";const Yo=()=>{const{t:w}=vo(),{settingsPage:P,setSettingsPage:Ae,settingsActiveSubTab:_,setSettingsActiveSubTab:Er,tabVisibility:V,toggleTabVisibility:Nr,defaultTab:J,setDefaultTab:jr,isDark:Y,setIsDark:Gr,modalHeightPercent:Z,setModalHeightPercent:Ur,modalAnimationType:qr,setModalAnimationType:Kr,showDuplicateLogs:we,setShowDuplicateLogs:_r,showUpdateToast:Se,setShowUpdateToast:Jr,showConsoleLevels:Qr,setShowConsoleLevels:Xr,closeModal:Yr,logs:ke,consoleLogs:xe,analyticsEvents:Te,reduxState:ee,maxConsoleLogs:ze,setMaxConsoleLogs:Zr,maxAnalyticsEventsLimit:Oe,setMaxAnalyticsEventsLimit:eo,isAutoRamLimitEnabled:$,setIsAutoRamLimitEnabled:ro,deviceFreeRamMb:Be,reduxAutoRefresh:Ve,setReduxAutoRefreshState:oo,reduxExpandDepth:Me,setReduxExpandDepth:to,setSelected:io,setSelectedEvent:lo,setReduxState:ao,crashRecords:re,maxCrashLogs:Ee,setMaxCrashLogs:no,pushRecords:oe,maxPushLogs:so,setMaxPushLogs:co,clearAllPushLogs:go,simulatePush:te,socketRecords:ie,maxSocketLogs:po,setMaxSocketLogs:yo,clearAllSocketLogs:uo,simulateSocket:le,captureImageFormat:Re,setCaptureImageFormat:Ne,captureAutoHide:W,setCaptureAutoHide:ae,captureAudioMode:je,setCaptureAudioMode:Ge,captureFps:Ue,setCaptureFps:qe,captureScale:Zo,setCaptureScale:et,captureBitrate:rt,setCaptureBitrate:ot,captureMaxDurationSeconds:tt,setCaptureMaxDurationSeconds:it,captureAutoGif:A,setCaptureAutoGif:ne}=zo(),[se,Ke]=ue(Z),[ho,_e]=ue(!1),bo=Lo(),Fe=kr.find(r=>r.code===bo)||kr[0];De(()=>{Ke(Z)},[Z]);const de=Ro(Be),L=ye(()=>[{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)"},{id:11,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"?Ze.OS==="android"&&Qo():!0),[]),[U,ce]=ue(()=>({apis:!0,logs:!!V?.logs,analytics:!!V?.analytics,redux:!!V?.redux,storage:!!V?.storage,device:!!V?.device,crash:!!V?.crash,debugging:!!V?.debugging,media:!!(V?.media??!0),push:!!(V?.push??!0),socket:!!(V?.socket??!1)}));De(()=>{ce({apis:!0,logs:!!V?.logs,analytics:!!V?.analytics,redux:!!V?.redux,storage:!!V?.storage,device:!!V?.device,crash:!!V?.crash,debugging:!!V?.debugging,media:!!(V?.media??!0),push:!!(V?.push??!0),socket:!!(V?.socket??!1)})},[V]);const Q=ye(()=>L.some(r=>!!U[r.key]!=!!V?.[r.key]),[U,V,L]),Je=L.filter(r=>r.key==="apis"||!!U[r.key]).length,ge=ye(()=>L.filter(r=>!(r.key==="apis"||r.key==="redux"&&!Sr()||r.key==="analytics"&&!wr())),[L]),M=ye(()=>ge.length===0?!1:ge.every(r=>!!U[r.key]),[ge,U]),Qe=()=>{const r=!M;ce(z=>{const H={...z};return ge.forEach(D=>{H[D.key]=r}),H})},mo=()=>{Q&&E.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:()=>{ce({apis:!0,logs:!!V?.logs,analytics:!!V?.analytics,redux:!!V?.redux,storage:!!V?.storage,device:!!V?.device,crash:!!V?.crash,debugging:!!V?.debugging,media:!!(V?.media??!0),push:!!(V?.push??!0),socket:!!(V?.socket??!1)})}},{text:"Save & Reload",style:"default",onPress:()=>{he(),L.forEach(r=>{if(r.key!=="apis"){const z=!!U[r.key],H=!!V?.[r.key];z!==H&&Nr(r.key)}}),Yr(),setTimeout(()=>{__DEV__&&Le&&Le.reload&&Le.reload()},350)}}])},[Ie,Xe]=ue(!1),R=r=><C style={{paddingVertical:12,borderBottomWidth:r.isLast?0:1,borderBottomColor:e.dividerColor}}>
|
|
2
|
+
<B 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
|
-
<
|
|
7
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
8
8
|
{r.label}
|
|
9
|
-
</
|
|
10
|
-
{r.description?<
|
|
9
|
+
</T>
|
|
10
|
+
{r.description?<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
11
11
|
{r.description}
|
|
12
|
-
</
|
|
12
|
+
</T>:null}
|
|
13
13
|
</C>
|
|
14
14
|
{r.right||null}
|
|
15
|
-
</
|
|
15
|
+
</B>
|
|
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
|
-
<
|
|
19
|
-
<
|
|
18
|
+
<So style={{flex:1,fontFamily:S.interMedium,fontSize:14,lineHeight:18,color:e.primaryBlack,paddingVertical:6}}value={String(r.numericInput.value||"")}onChangeText={z=>{const H=parseInt(z.replace(/[^0-9]/g,""),10);if(!isNaN(H)){const D=Math.max(r.numericInput?.min??1,Math.min(r.numericInput?.max??1e4,H));r.numericInput?.onChange(D)}}}keyboardType={r.numericInput.keyboardType??"number-pad"}placeholder={r.numericInput.placeholder}placeholderTextColor={e.grayTextWeak}maxLength={6}selectTextOnFocus/>
|
|
19
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:e.purple,marginLeft:6}}>
|
|
20
20
|
MAX
|
|
21
|
-
</
|
|
21
|
+
</T>
|
|
22
22
|
</C>
|
|
23
|
-
{r.numericInput.min!==void 0||r.numericInput.max!==void 0?<
|
|
23
|
+
{r.numericInput.min!==void 0||r.numericInput.max!==void 0?<T style={{fontFamily:S.interRegular,fontSize:10,lineHeight:13,color:e.grayTextWeak}}>
|
|
24
24
|
Range: {r.numericInput.min??1} -{" "}
|
|
25
25
|
{r.numericInput.max??"\u221E"}
|
|
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
|
-
<
|
|
31
|
-
{r.picker.formatLabel?r.picker.formatLabel(
|
|
32
|
-
</
|
|
33
|
-
</
|
|
29
|
+
{r.picker.options.map(z=>{const H=r.picker.selectedValue===z;return<B key={String(z)}onPress={()=>r.picker.onSelect(z)}style={{flex:1,paddingVertical:6,alignItems:"center",borderRadius:6,backgroundColor:H?e.purple:"transparent"}}>
|
|
30
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:H?e.white:e.grayText}}>
|
|
31
|
+
{r.picker.formatLabel?r.picker.formatLabel(z):z}
|
|
32
|
+
</T>
|
|
33
|
+
</B>})}
|
|
34
34
|
</C>}
|
|
35
|
-
</C>,
|
|
36
|
-
<
|
|
35
|
+
</C>,fo=()=><C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
36
|
+
<N 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:w("settings.modulesAndTools","Modules & Tools"),Icon:
|
|
42
|
-
<
|
|
43
|
-
<
|
|
40
|
+
<N horizontal showsHorizontalScrollIndicator={!1}contentContainerStyle={{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:2}}>
|
|
41
|
+
{[{key:"module",label:w("settings.modulesAndTools","Modules & Tools"),Icon:X,badge:`${L.filter(r=>U?.[r.key]||r.key==="apis").length}/${L.length}`},{key:"ui",label:w("settings.uiPreferences","UI Preferences"),Icon:Rr},{key:"limits",label:w("settings.ramLimits","RAM & Limits"),Icon:Dr},{key:"capture",label:w("settings.screenVideoCapture","Screen & Video Capture"),Icon:Ce}].map(r=>{const z=_===r.key,H=r.Icon;return<B key={r.key}accessible={!0}accessibilityRole="tab"accessibilityLabel={r.label}accessibilityState={{selected:z}}onPress={()=>{he(),Er(r.key)}}style={{paddingVertical:8,paddingHorizontal:14,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:6,borderRadius:9,backgroundColor:z?e.purple:"transparent"}}>
|
|
42
|
+
<H color={z?e.white:e.grayText}size={13}/>
|
|
43
|
+
<T style={{fontFamily:S.interBold,fontSize:12.5,lineHeight:16,color:z?e.white:e.grayText}}>
|
|
44
44
|
{r.label}
|
|
45
|
-
</
|
|
46
|
-
{r.badge&&<C style={{backgroundColor:
|
|
47
|
-
<
|
|
45
|
+
</T>
|
|
46
|
+
{r.badge&&<C style={{backgroundColor:z?"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:z?e.white:e.purple}}>
|
|
48
48
|
{r.badge}
|
|
49
|
-
</
|
|
49
|
+
</T>
|
|
50
50
|
</C>}
|
|
51
|
-
</
|
|
52
|
-
</
|
|
51
|
+
</B>})}
|
|
52
|
+
</N>
|
|
53
53
|
</C>
|
|
54
54
|
|
|
55
|
-
{
|
|
55
|
+
{_==="module"&&<C style={{gap:12}}>
|
|
56
|
+
|
|
57
|
+
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.primaryLight,borderRadius:12,paddingVertical:10,paddingHorizontal:14,borderWidth:1,borderColor:M?`${e.purple}40`:e.grayBorderSecondary,shadowColor:e.black,shadowOpacity:.02,shadowRadius:3,shadowOffset:{width:0,height:1}}}>
|
|
58
|
+
<B accessible={!0}accessibilityRole="checkbox"accessibilityLabel="Toggle Select All Modules"accessibilityState={{checked:M}}onPress={Qe}style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
59
|
+
<C style={{width:22,height:22,borderRadius:6,borderWidth:M?0:1.8,borderColor:e.grayBorderSecondary,backgroundColor:M?e.purple:e.grayBackground,alignItems:"center",justifyContent:"center"}}>
|
|
60
|
+
{M&&<K size={12}color={e.white}/>}
|
|
61
|
+
</C>
|
|
62
|
+
<C>
|
|
63
|
+
<T style={{fontFamily:S.interBold,fontSize:13,color:e.primaryBlack}}>
|
|
64
|
+
{M?"Deselect All Modules":"Select All Modules"}
|
|
65
|
+
</T>
|
|
66
|
+
<T style={{fontFamily:S.interRegular,fontSize:10.5,color:e.grayText,marginTop:1}}>
|
|
67
|
+
{Je} of {L.length} modules active
|
|
68
|
+
</T>
|
|
69
|
+
</C>
|
|
70
|
+
</B>
|
|
71
|
+
|
|
72
|
+
<B onPress={Qe}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:M?`${e.purple}14`:e.purple,borderWidth:1,borderColor:M?`${e.purple}30`:"transparent"}}>
|
|
73
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:M?e.purple:e.white}}>
|
|
74
|
+
{M?"Deselect All":"Select All"}
|
|
75
|
+
</T>
|
|
76
|
+
</B>
|
|
77
|
+
</C>
|
|
78
|
+
|
|
56
79
|
|
|
57
80
|
<C style={{gap:10}}>
|
|
58
|
-
{
|
|
81
|
+
{L.map(r=>{const z=Sr(),H=wr(),D=r.key==="redux"&&!z||r.key==="analytics"&&!H,O=r.key==="apis"||D,F=r.key==="apis"||!!U?.[r.key]&&!D,He=r.key==="apis"?ke.length>0?`${ke.length} requests`:"":r.key==="logs"?xe.length>0?`${xe.length} logs \u2022 Limit: ${ze}`:"":r.key==="crash"?re&&re.length>0?`${re.length} crashes recorded \u2022 Crash Guard`:"":r.key==="analytics"?Te.length>0?`${Te.length} events logged`:"":r.key==="redux"?ee&&Object.keys(ee).length>0?`${Object.keys(ee).length} slices \u2022 Depth: ${Me}`:"":r.key==="push"?oe&&oe.length>0?`${oe.length} notifications logged`:"":r.key==="socket"&&ie&&ie.length>0?`${ie.length} connections active`:"";return<C key={r.key}style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1.5,borderColor:F?`${e.purple}38`:e.grayBorderSecondary,padding:14,gap:10,shadowColor:e.black,shadowOpacity:F?.04:.02,shadowRadius:5,shadowOffset:{width:0,height:2}}}>
|
|
59
82
|
|
|
60
83
|
<C style={{flexDirection:"row",alignItems:"flex-start",gap:10}}>
|
|
61
84
|
|
|
62
|
-
<
|
|
63
|
-
{r.key==="apis"?<
|
|
64
|
-
<
|
|
65
|
-
<
|
|
66
|
-
</
|
|
67
|
-
</
|
|
85
|
+
<B accessible={!0}accessibilityRole="checkbox"accessibilityLabel={`Select ${r.label}`}accessibilityState={{checked:F,disabled:O}}disabled={O}onPress={()=>{O||ce(Ye=>({...Ye,[r.key]:!Ye[r.key]}))}}hitSlop={8}style={{width:22,height:22,borderRadius:6,borderWidth:F?0:1.8,borderColor:O?e.dividerColor:e.grayBorderSecondary,backgroundColor:r.key==="apis"?`${e.blue500}22`:F?e.purple:e.grayBackground,alignItems:"center",justifyContent:"center",marginTop:7,shadowColor:F?e.purple:"transparent",shadowOpacity:F?.25:0,shadowRadius:2,elevation:F?2:0}}>
|
|
86
|
+
{r.key==="apis"?<K size={12}color={e.blue500}/>:F?<K size={12}color={e.white}/>:O?<To width={10}height={10}viewBox="0 0 24 24"fill="none">
|
|
87
|
+
<Cr d="M7 10V7a5 5 0 0 1 10 0v3"stroke={e.grayText}strokeWidth="2.2"strokeLinecap="round"/>
|
|
88
|
+
<Cr d="M5 10h14v9a1 1 0 0 1-1 1H6a1 1 0 0 1-1-1z"fill={e.grayText}/>
|
|
89
|
+
</To>:null}
|
|
90
|
+
</B>
|
|
68
91
|
|
|
69
92
|
|
|
70
|
-
<
|
|
93
|
+
<B accessible={!0}accessibilityRole="button"accessibilityLabel={`${r.label} settings`}disabled={D}onPress={()=>{he(),Ae(r.key)}}style={{flex:1,flexDirection:"row",alignItems:"flex-start",gap:10}}>
|
|
71
94
|
|
|
72
|
-
<C style={{width:36,height:36,borderRadius:10,backgroundColor:
|
|
73
|
-
{r.icon==="apis"&&<
|
|
74
|
-
{r.icon==="logs"&&<
|
|
75
|
-
{r.icon==="crash"&&<
|
|
76
|
-
{r.icon==="analytics"&&<
|
|
77
|
-
{r.icon==="redux"&&<
|
|
78
|
-
{r.icon==="device"&&<
|
|
79
|
-
{r.icon==="storage"&&<
|
|
80
|
-
{r.icon==="debugging"&&<
|
|
81
|
-
{r.icon==="media"&&<Jo color={
|
|
82
|
-
{r.icon==="push"&&<
|
|
95
|
+
<C style={{width:36,height:36,borderRadius:10,backgroundColor:O?`${e.grayBorderSecondary}4D`:F?`${e.purple}14`:e.grayBackground,borderWidth:1,borderColor:O?e.dividerColor:F?`${e.purple}33`:e.grayBorderSecondary,alignItems:"center",justifyContent:"center",marginTop:1}}>
|
|
96
|
+
{r.icon==="apis"&&<Tr color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
97
|
+
{r.icon==="logs"&&<Br color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
98
|
+
{r.icon==="crash"&&<No color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
99
|
+
{r.icon==="analytics"&&<Vr color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
100
|
+
{r.icon==="redux"&&<Fr color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
101
|
+
{r.icon==="device"&&<Uo color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
102
|
+
{r.icon==="storage"&&<Ko color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
103
|
+
{r.icon==="debugging"&&<_o color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
104
|
+
{r.icon==="media"&&<Jo color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
105
|
+
{r.icon==="push"&&<Or color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
106
|
+
{r.icon==="socket"&&<Mr color={F?e.purple:e.grayTextWeak}size={16}/>}
|
|
83
107
|
</C>
|
|
84
108
|
|
|
85
109
|
|
|
86
110
|
<C style={{flex:1,gap:2}}>
|
|
87
111
|
<C style={{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"}}>
|
|
88
|
-
<C style={{minWidth:22,height:22,paddingHorizontal:5,borderRadius:11,backgroundColor:
|
|
89
|
-
<
|
|
112
|
+
<C style={{minWidth:22,height:22,paddingHorizontal:5,borderRadius:11,backgroundColor:F?`${e.purple}1C`:`${e.grayBorderSecondary}80`,borderWidth:1,borderColor:F?`${e.purple}44`:e.grayBorderSecondary,alignItems:"center",justifyContent:"center"}}>
|
|
113
|
+
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:F?e.purple:e.grayText}}>
|
|
90
114
|
#{r.id}
|
|
91
|
-
</
|
|
115
|
+
</T>
|
|
92
116
|
</C>
|
|
93
|
-
<
|
|
117
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:O?e.grayText:e.primaryBlack}}>
|
|
94
118
|
{r.label}
|
|
95
|
-
</
|
|
119
|
+
</T>
|
|
96
120
|
|
|
97
121
|
|
|
98
|
-
{r.key===J&&!
|
|
122
|
+
{r.key===J&&!D&&<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}}>
|
|
99
123
|
<C style={{width:4,height:4,borderRadius:2,backgroundColor:e.purple}}/>
|
|
100
|
-
<
|
|
124
|
+
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.purple,letterSpacing:.4}}>
|
|
101
125
|
{w("settings.defaultBadge")}
|
|
102
|
-
</
|
|
126
|
+
</T>
|
|
103
127
|
</C>}
|
|
104
128
|
|
|
105
129
|
|
|
106
130
|
{r.key==="apis"?<C style={{backgroundColor:`${e.blue500}14`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.blue500}33`}}>
|
|
107
|
-
<
|
|
131
|
+
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.blue500,letterSpacing:.3}}>
|
|
108
132
|
{w("settings.coreBadge")}
|
|
109
|
-
</
|
|
110
|
-
</C>:
|
|
111
|
-
<
|
|
133
|
+
</T>
|
|
134
|
+
</C>:D?<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}}>
|
|
112
136
|
{r.key==="redux"?w("settings.notConnectedBadge"):w("settings.notDetectedBadge")}
|
|
113
|
-
</
|
|
114
|
-
</C>:
|
|
115
|
-
<
|
|
137
|
+
</T>
|
|
138
|
+
</C>:F?<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}}>
|
|
116
140
|
{w("settings.activeBadge")}
|
|
117
|
-
</
|
|
141
|
+
</T>
|
|
118
142
|
</C>:<C style={{backgroundColor:`${e.grayTextWeak}18`,borderRadius:4,paddingHorizontal:5,paddingVertical:1.5,borderWidth:1,borderColor:`${e.grayTextWeak}2E`}}>
|
|
119
|
-
<
|
|
143
|
+
<T style={{fontFamily:S.interBold,fontSize:8,lineHeight:11,color:e.grayTextWeak,letterSpacing:.3}}>
|
|
120
144
|
{w("settings.dormantBadge")}
|
|
121
|
-
</
|
|
145
|
+
</T>
|
|
122
146
|
</C>}
|
|
123
147
|
</C>
|
|
124
148
|
|
|
125
|
-
<
|
|
149
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,color:e.grayText,lineHeight:15,marginTop:1}}>
|
|
126
150
|
{r.desc}
|
|
127
|
-
</
|
|
151
|
+
</T>
|
|
128
152
|
</C>
|
|
129
|
-
</
|
|
153
|
+
</B>
|
|
130
154
|
</C>
|
|
131
155
|
|
|
132
156
|
|
|
133
|
-
{!
|
|
157
|
+
{!D&&<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor}}>
|
|
134
158
|
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
159
|
+
{He&&He.trim().length>0?<C style={{flexDirection:"row",alignItems:"center",gap:6,flex:1}}>
|
|
160
|
+
<C style={{width:6,height:6,borderRadius:3,backgroundColor:F?e.liveGreen:e.grayTextWeak}}/>
|
|
161
|
+
<T style={{fontFamily:S.interMedium,fontSize:11,color:e.grayText,lineHeight:14}}>
|
|
162
|
+
{He}
|
|
163
|
+
</T>
|
|
164
|
+
</C>:<C style={{flex:1}}/>}
|
|
141
165
|
|
|
142
166
|
|
|
143
|
-
<
|
|
167
|
+
<B accessible={!0}accessibilityRole="button"accessibilityLabel={`Configure ${r.label} settings`}onPress={()=>{he(),Ae(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
168
|
<Po color={e.purple}size={11}/>
|
|
145
|
-
<
|
|
169
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.purple}}>
|
|
146
170
|
{w("settings.configure")}
|
|
147
|
-
</
|
|
148
|
-
<
|
|
149
|
-
</
|
|
171
|
+
</T>
|
|
172
|
+
<Hr color={e.purple}size={9}/>
|
|
173
|
+
</B>
|
|
150
174
|
</C>}
|
|
151
175
|
</C>})}
|
|
152
176
|
</C>
|
|
153
177
|
</C>}
|
|
154
178
|
|
|
155
|
-
{
|
|
179
|
+
{_==="ui"&&<C style={{gap:14}}>
|
|
156
180
|
|
|
157
181
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
158
|
-
<
|
|
182
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
159
183
|
{w("settings.appearanceTheme")}
|
|
160
|
-
</
|
|
184
|
+
</T>
|
|
161
185
|
|
|
162
186
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
163
187
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
164
188
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
165
|
-
{
|
|
189
|
+
{Y?<Ao color={e.purple}size={15}/>:<Oo color={e.purple}size={15}/>}
|
|
166
190
|
</C>
|
|
167
191
|
<C style={{flex:1}}>
|
|
168
|
-
<
|
|
192
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
169
193
|
{w("settings.general.darkMode")}
|
|
170
|
-
</
|
|
171
|
-
<
|
|
194
|
+
</T>
|
|
195
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
172
196
|
{w("settings.general.darkModeDescription")}
|
|
173
|
-
</
|
|
197
|
+
</T>
|
|
174
198
|
</C>
|
|
175
199
|
</C>
|
|
176
200
|
|
|
177
|
-
<
|
|
201
|
+
<B accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle Dark Theme"accessibilityState={{checked:Y}}onPress={()=>{const r=!Y;Gr(r),Vo(r)}}style={{width:42,height:24,borderRadius:12,backgroundColor:Y?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:Y?"flex-end":"flex-start"}}>
|
|
178
202
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
179
|
-
</
|
|
203
|
+
</B>
|
|
204
|
+
</C>
|
|
205
|
+
|
|
206
|
+
<C style={{height:1,backgroundColor:e.grayBorderSecondary,opacity:.6}}/>
|
|
207
|
+
|
|
208
|
+
|
|
209
|
+
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
210
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
211
|
+
<C style={{width:32,height:32,borderRadius:8,backgroundColor:`${e.blue600}14`,alignItems:"center",justifyContent:"center"}}>
|
|
212
|
+
<Wo color={e.blue600}size={15}/>
|
|
213
|
+
</C>
|
|
214
|
+
<C style={{flex:1}}>
|
|
215
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
216
|
+
{w("settings.general.language","Language")}
|
|
217
|
+
</T>
|
|
218
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
219
|
+
{w("settings.general.languageDescription","Choose preferred display language")}
|
|
220
|
+
</T>
|
|
221
|
+
</C>
|
|
222
|
+
</C>
|
|
223
|
+
|
|
224
|
+
<B onPress={()=>{v("light"),_e(!0)}}style={{flexDirection:"row",alignItems:"center",backgroundColor:e.purpleShade50,paddingHorizontal:10,paddingVertical:6,borderRadius:8,gap:5,borderWidth:1,borderColor:`${e.purple}20`}}>
|
|
225
|
+
<T style={{fontSize:13}}>
|
|
226
|
+
{Fe?.flag||"\u{1F310}"}
|
|
227
|
+
</T>
|
|
228
|
+
<T style={{fontFamily:S.interSemiBold,fontSize:12,color:e.purple}}>
|
|
229
|
+
{Fe?.nativeName||Fe?.name||"English"}
|
|
230
|
+
</T>
|
|
231
|
+
<Hr size={11}color={e.purple}/>
|
|
232
|
+
</B>
|
|
180
233
|
</C>
|
|
181
234
|
</C>
|
|
182
235
|
|
|
183
236
|
|
|
184
237
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:14}}>
|
|
185
|
-
<
|
|
238
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
186
239
|
{w("settings.windowLayout")}
|
|
187
|
-
</
|
|
240
|
+
</T>
|
|
188
241
|
|
|
189
242
|
|
|
190
243
|
<C style={{gap:8}}>
|
|
191
244
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
|
|
192
245
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
193
246
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
194
|
-
<
|
|
247
|
+
<Rr color={e.purple}size={15}/>
|
|
195
248
|
</C>
|
|
196
249
|
<C style={{flex:1}}>
|
|
197
|
-
<
|
|
250
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
198
251
|
{w("settings.general.modalHeight")}
|
|
199
|
-
</
|
|
200
|
-
<
|
|
252
|
+
</T>
|
|
253
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
201
254
|
{w("settings.general.modalHeightDescription")}
|
|
202
|
-
</
|
|
255
|
+
</T>
|
|
203
256
|
</C>
|
|
204
257
|
</C>
|
|
205
258
|
|
|
206
|
-
{Z
|
|
207
|
-
<
|
|
208
|
-
<
|
|
209
|
-
Save ({
|
|
210
|
-
</
|
|
211
|
-
</
|
|
259
|
+
{se!==Z&&<B onPress={()=>{Ur(se)}}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}}>
|
|
260
|
+
<K size={11}color={e.white}/>
|
|
261
|
+
<T style={{fontFamily:S.interBold,fontSize:11,color:e.white}}>
|
|
262
|
+
Save ({se}%)
|
|
263
|
+
</T>
|
|
264
|
+
</B>}
|
|
212
265
|
</C>
|
|
213
266
|
|
|
214
267
|
<C style={{marginTop:6}}>
|
|
215
|
-
<
|
|
268
|
+
<Bo value={se}onValueChange={Ke}min={50}max={90}step={5}quickPresets={[50,60,70,80,90]}formatLabel={r=>`${Math.round(r)}%`}/>
|
|
216
269
|
</C>
|
|
217
270
|
</C>
|
|
218
271
|
|
|
@@ -222,184 +275,184 @@ import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";impo
|
|
|
222
275
|
<C style={{gap:8}}>
|
|
223
276
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
224
277
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
225
|
-
<
|
|
278
|
+
<Mo color={e.purple}size={15}/>
|
|
226
279
|
</C>
|
|
227
280
|
<C style={{flex:1}}>
|
|
228
|
-
<
|
|
281
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
229
282
|
{w("settings.general.modalAnimation")}
|
|
230
|
-
</
|
|
231
|
-
<
|
|
283
|
+
</T>
|
|
284
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
232
285
|
{w("settings.general.modalAnimationDescription")}
|
|
233
|
-
</
|
|
286
|
+
</T>
|
|
234
287
|
</C>
|
|
235
288
|
</C>
|
|
236
289
|
|
|
237
290
|
<C style={{flexDirection:"row",backgroundColor:e.grayBackground,borderRadius:10,padding:3,borderWidth:1,borderColor:e.dividerColor}}>
|
|
238
|
-
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const
|
|
239
|
-
<
|
|
291
|
+
{[{key:"slide",label:"Slide Up"},{key:"fade",label:"Fade"},{key:"none",label:"None"}].map(r=>{const z=qr===r.key;return<B key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Set transition animation to ${r.label}`}accessibilityState={{selected:z}}onPress={()=>Kr(r.key)}style={{flex:1,paddingVertical:7,alignItems:"center",borderRadius:8,backgroundColor:z?e.purple:"transparent"}}>
|
|
292
|
+
<T style={{fontFamily:S.interBold,fontSize:11.5,lineHeight:15,color:z?e.white:e.grayText}}>
|
|
240
293
|
{r.label}
|
|
241
|
-
</
|
|
242
|
-
</
|
|
294
|
+
</T>
|
|
295
|
+
</B>})}
|
|
243
296
|
</C>
|
|
244
297
|
</C>
|
|
245
298
|
</C>
|
|
246
299
|
|
|
247
300
|
|
|
248
301
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
249
|
-
<
|
|
302
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
250
303
|
{w("settings.startupDefault")}
|
|
251
|
-
</
|
|
304
|
+
</T>
|
|
252
305
|
|
|
253
306
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
254
307
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
255
|
-
<
|
|
308
|
+
<X color={e.purple}size={15}/>
|
|
256
309
|
</C>
|
|
257
310
|
<C style={{flex:1}}>
|
|
258
|
-
<
|
|
311
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
259
312
|
{w("settings.general.defaultOpeningTab")}
|
|
260
|
-
</
|
|
261
|
-
<
|
|
313
|
+
</T>
|
|
314
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
262
315
|
{w("settings.general.defaultOpeningTabDesc")}
|
|
263
|
-
</
|
|
316
|
+
</T>
|
|
264
317
|
</C>
|
|
265
318
|
</C>
|
|
266
319
|
|
|
267
320
|
|
|
268
321
|
<C style={{marginTop:6,gap:6}}>
|
|
269
|
-
<
|
|
322
|
+
<B accessible={!0}accessibilityRole="button"accessibilityLabel={`Default opening tab: ${L.find(r=>r.key===J)?.label||"APIs"}`}onPress={()=>Xe(r=>!r)}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",backgroundColor:e.grayBackground,borderRadius:10,borderWidth:1.5,borderColor:Ie?e.purple:e.grayBorderSecondary,paddingHorizontal:14,paddingVertical:11}}>
|
|
270
323
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
271
324
|
<C style={{width:8,height:8,borderRadius:4,backgroundColor:e.purple}}/>
|
|
272
|
-
<
|
|
273
|
-
{
|
|
274
|
-
</
|
|
325
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
326
|
+
{L.find(r=>r.key===J)?`#${L.find(r=>r.key===J)?.id} ${L.find(r=>r.key===J)?.label}`:"#1 APIs (Network)"}
|
|
327
|
+
</T>
|
|
275
328
|
<C style={{backgroundColor:`${e.purple}14`,paddingHorizontal:6,paddingVertical:1.5,borderRadius:6}}>
|
|
276
|
-
<
|
|
329
|
+
<T style={{fontFamily:S.interBold,fontSize:8.5,color:e.purple}}>
|
|
277
330
|
DEFAULT
|
|
278
|
-
</
|
|
331
|
+
</T>
|
|
279
332
|
</C>
|
|
280
333
|
</C>
|
|
281
334
|
|
|
282
|
-
<C style={{transform:[{rotate:
|
|
283
|
-
<
|
|
335
|
+
<C style={{transform:[{rotate:Ie?"180deg":"0deg"}]}}>
|
|
336
|
+
<Go color={e.grayText}size={15}/>
|
|
284
337
|
</C>
|
|
285
|
-
</
|
|
338
|
+
</B>
|
|
286
339
|
|
|
287
340
|
|
|
288
|
-
{
|
|
289
|
-
{
|
|
341
|
+
{Ie&&<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
|
+
{L.filter(r=>r.key==="apis"||U?.[r.key]||V?.[r.key]).map((r,z,H)=>{const D=J===r.key,O=z===H.length-1;return<B key={r.key}accessible={!0}accessibilityRole="button"accessibilityLabel={`Select ${r.label} as default tab`}onPress={()=>{jr(r.key),Xe(!1)}}style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:14,paddingVertical:11,backgroundColor:D?`${e.purple}0F`:"transparent",borderBottomWidth:O?0:1,borderBottomColor:e.dividerColor}}>
|
|
290
343
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
291
|
-
<C style={{width:6,height:6,borderRadius:3,backgroundColor:
|
|
292
|
-
<
|
|
344
|
+
<C style={{width:6,height:6,borderRadius:3,backgroundColor:D?e.purple:e.grayTextWeak}}/>
|
|
345
|
+
<T style={{fontFamily:D?S.interBold:S.interMedium,fontSize:13,color:D?e.purple:e.primaryBlack}}>
|
|
293
346
|
#{r.id} {r.label}
|
|
294
|
-
</
|
|
347
|
+
</T>
|
|
295
348
|
</C>
|
|
296
|
-
{
|
|
297
|
-
</
|
|
349
|
+
{D&&<K size={14}color={e.purple}/>}
|
|
350
|
+
</B>})}
|
|
298
351
|
</C>}
|
|
299
352
|
</C>
|
|
300
353
|
</C>
|
|
301
354
|
|
|
302
355
|
|
|
303
356
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
304
|
-
<
|
|
357
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
305
358
|
NOTIFICATIONS & TOASTS
|
|
306
|
-
</
|
|
359
|
+
</T>
|
|
307
360
|
|
|
308
361
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
309
362
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1,marginRight:10}}>
|
|
310
363
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
311
|
-
<
|
|
364
|
+
<Eo color={e.purple}size={15}/>
|
|
312
365
|
</C>
|
|
313
366
|
<C style={{flex:1}}>
|
|
314
|
-
<
|
|
367
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
315
368
|
NPM Update Toast
|
|
316
|
-
</
|
|
317
|
-
<
|
|
369
|
+
</T>
|
|
370
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
318
371
|
Show a floating toast banner with countdown progress when
|
|
319
372
|
a newer release is published on npm.
|
|
320
|
-
</
|
|
373
|
+
</T>
|
|
321
374
|
</C>
|
|
322
375
|
</C>
|
|
323
376
|
|
|
324
|
-
<
|
|
377
|
+
<B accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle NPM Update Toast"accessibilityState={{checked:Se}}onPress={()=>Jr(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:Se?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:Se?"flex-end":"flex-start"}}>
|
|
325
378
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
326
|
-
</
|
|
379
|
+
</B>
|
|
327
380
|
</C>
|
|
328
381
|
</C>
|
|
329
382
|
</C>}
|
|
330
383
|
|
|
331
|
-
{
|
|
384
|
+
{_==="limits"&&<C style={{gap:14}}>
|
|
332
385
|
|
|
333
386
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
334
|
-
<
|
|
387
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
335
388
|
DEVICE MEMORY & AUTO PROFILES
|
|
336
|
-
</
|
|
389
|
+
</T>
|
|
337
390
|
|
|
338
391
|
|
|
339
392
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
340
393
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
341
394
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
342
|
-
<
|
|
395
|
+
<Dr color={e.purple}size={16}/>
|
|
343
396
|
</C>
|
|
344
397
|
<C style={{flex:1}}>
|
|
345
|
-
<
|
|
398
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
346
399
|
Auto-Calculate Limits from RAM
|
|
347
|
-
</
|
|
348
|
-
<
|
|
400
|
+
</T>
|
|
401
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
349
402
|
Dynamically sets log limits according to available device
|
|
350
403
|
memory
|
|
351
|
-
</
|
|
404
|
+
</T>
|
|
352
405
|
</C>
|
|
353
406
|
</C>
|
|
354
407
|
|
|
355
|
-
<
|
|
408
|
+
<B accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle auto RAM limit calculation"accessibilityState={{checked:$}}onPress={()=>ro(r=>!r)}style={{width:42,height:24,borderRadius:12,backgroundColor:$?e.purple:e.grayBorderSecondary,padding:2,justifyContent:"center",alignItems:$?"flex-end":"flex-start"}}>
|
|
356
409
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
357
|
-
</
|
|
410
|
+
</B>
|
|
358
411
|
</C>
|
|
359
412
|
|
|
360
413
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
361
414
|
|
|
362
415
|
|
|
363
416
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
364
|
-
<C style={{width:32,height:32,borderRadius:8,backgroundColor
|
|
365
|
-
<
|
|
417
|
+
<C style={{width:32,height:32,borderRadius:8,backgroundColor:$?`${e.purple}14`:e.grayBackground,alignItems:"center",justifyContent:"center"}}>
|
|
418
|
+
<Tr color={$?e.purple:e.grayTextWeak}size={15}/>
|
|
366
419
|
</C>
|
|
367
420
|
<C style={{flex:1}}>
|
|
368
|
-
<
|
|
421
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:$?e.primaryBlack:e.grayText}}>
|
|
369
422
|
Detected Available RAM
|
|
370
|
-
</
|
|
371
|
-
<
|
|
372
|
-
{
|
|
373
|
-
</
|
|
423
|
+
</T>
|
|
424
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
425
|
+
{Be} MB available on device
|
|
426
|
+
</T>
|
|
374
427
|
</C>
|
|
375
|
-
<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor
|
|
376
|
-
<
|
|
377
|
-
{
|
|
378
|
-
</
|
|
428
|
+
<C style={{paddingHorizontal:10,paddingVertical:5,borderRadius:8,backgroundColor:$?`${e.purple}12`:e.grayBackground,borderWidth:1,borderColor:$?`${e.purple}26`:e.dividerColor}}>
|
|
429
|
+
<T style={{fontFamily:S.interBold,fontSize:12,lineHeight:15,color:$?e.purple:e.grayText}}>
|
|
430
|
+
{Be} MB
|
|
431
|
+
</T>
|
|
379
432
|
</C>
|
|
380
433
|
</C>
|
|
381
434
|
|
|
382
435
|
|
|
383
436
|
<C style={{marginTop:4,paddingTop:8,borderTopWidth:1,borderTopColor:e.dividerColor,gap:6}}>
|
|
384
437
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
385
|
-
<
|
|
386
|
-
Profile: {
|
|
387
|
-
</
|
|
388
|
-
<C style={{backgroundColor
|
|
389
|
-
<
|
|
390
|
-
{
|
|
391
|
-
</
|
|
438
|
+
<T style={{fontFamily:S.interBold,fontSize:11.5,lineHeight:15,color:e.purple}}>
|
|
439
|
+
Profile: {de.profileName}
|
|
440
|
+
</T>
|
|
441
|
+
<C style={{backgroundColor:$?`${e.emerald500}18`:`${e.purple}18`,paddingHorizontal:7,paddingVertical:2.5,borderRadius:4}}>
|
|
442
|
+
<T style={{fontFamily:S.interBold,fontSize:9.5,color:$?e.emerald500:e.purple}}>
|
|
443
|
+
{$?"AUTO-TUNED":"MANUAL"}
|
|
444
|
+
</T>
|
|
392
445
|
</C>
|
|
393
446
|
</C>
|
|
394
447
|
|
|
395
448
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8,marginTop:4}}>
|
|
396
|
-
{[{label:"Logs",value
|
|
397
|
-
<
|
|
449
|
+
{[{label:"Logs",value:$?de.maxConsoleLogs:ze,color:e.sky500},{label:"Analytics",value:$?de.maxAnalyticsEvents:Oe,color:e.purple},{label:"Crash",value:$?de.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`}}>
|
|
450
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,lineHeight:14,color:r.color}}>
|
|
398
451
|
{r.label}:
|
|
399
|
-
</
|
|
400
|
-
<
|
|
452
|
+
</T>
|
|
453
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,lineHeight:14,color:r.color}}>
|
|
401
454
|
{r.value} max
|
|
402
|
-
</
|
|
455
|
+
</T>
|
|
403
456
|
</C>)}
|
|
404
457
|
</C>
|
|
405
458
|
</C>
|
|
@@ -407,27 +460,27 @@ import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";impo
|
|
|
407
460
|
|
|
408
461
|
|
|
409
462
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:14,gap:12}}>
|
|
410
|
-
<
|
|
463
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
411
464
|
LOW MEMORY PRESSURE PROTECTION
|
|
412
|
-
</
|
|
465
|
+
</T>
|
|
413
466
|
|
|
414
467
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
415
468
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:`${e.emerald500}14`,alignItems:"center",justifyContent:"center"}}>
|
|
416
|
-
<
|
|
469
|
+
<Ir color={e.emerald500}size={15}/>
|
|
417
470
|
</C>
|
|
418
471
|
<C style={{flex:1}}>
|
|
419
|
-
<
|
|
472
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
420
473
|
OS Memory Warning Guard
|
|
421
|
-
</
|
|
422
|
-
<
|
|
474
|
+
</T>
|
|
475
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
423
476
|
Automatically prunes in-memory buffers by 50% when the OS
|
|
424
477
|
signals low memory
|
|
425
|
-
</
|
|
478
|
+
</T>
|
|
426
479
|
</C>
|
|
427
480
|
<C style={{paddingHorizontal:8,paddingVertical:3,borderRadius:6,backgroundColor:`${e.emerald500}18`}}>
|
|
428
|
-
<
|
|
481
|
+
<T style={{fontFamily:S.interBold,fontSize:10,color:e.emerald500}}>
|
|
429
482
|
ACTIVE
|
|
430
|
-
</
|
|
483
|
+
</T>
|
|
431
484
|
</C>
|
|
432
485
|
</C>
|
|
433
486
|
|
|
@@ -436,23 +489,23 @@ import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";impo
|
|
|
436
489
|
|
|
437
490
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between",gap:10}}>
|
|
438
491
|
<C style={{flex:1}}>
|
|
439
|
-
<
|
|
440
|
-
Manual Memory Cleanup
|
|
441
|
-
</
|
|
442
|
-
<
|
|
443
|
-
Prune older entries across all log stores and free RAM
|
|
444
|
-
</
|
|
492
|
+
<T style={{fontFamily:S.interBold,fontSize:13,color:e.primaryBlack}}>
|
|
493
|
+
{w("settings.memory.manualTitle","Manual Memory Cleanup")}
|
|
494
|
+
</T>
|
|
495
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,color:e.grayText,marginTop:1}}>
|
|
496
|
+
{w("settings.memory.manualDescription","Prune older entries across all log stores and free RAM")}
|
|
497
|
+
</T>
|
|
445
498
|
</C>
|
|
446
|
-
<
|
|
447
|
-
<
|
|
448
|
-
<
|
|
499
|
+
<B onPress={()=>{const r=Xo("manual",.5);I(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
|
+
<G size={13}color={e.white}/>
|
|
501
|
+
<T style={{fontFamily:S.interBold,fontSize:11.5,color:e.white}}>
|
|
449
502
|
Prune Now
|
|
450
|
-
</
|
|
451
|
-
</
|
|
503
|
+
</T>
|
|
504
|
+
</B>
|
|
452
505
|
</C>
|
|
453
506
|
</C>
|
|
454
507
|
</C>}
|
|
455
|
-
{
|
|
508
|
+
{_==="capture"&&<C style={{gap:12}}>
|
|
456
509
|
|
|
457
510
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
458
511
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
@@ -460,273 +513,336 @@ import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";impo
|
|
|
460
513
|
<Ce color={e.purple}size={16}/>
|
|
461
514
|
</C>
|
|
462
515
|
<C style={{flex:1}}>
|
|
463
|
-
<
|
|
516
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
464
517
|
{w("settings.media.screenshotCardTitle","Screenshot Capture Settings")}
|
|
465
|
-
</
|
|
466
|
-
<
|
|
518
|
+
</T>
|
|
519
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
467
520
|
{w("settings.media.screenshotCardDesc","Image encoding format, compression quality and overlay auto-hide")}
|
|
468
|
-
</
|
|
521
|
+
</T>
|
|
469
522
|
</C>
|
|
470
523
|
</C>
|
|
471
524
|
|
|
472
|
-
{
|
|
473
|
-
{["
|
|
474
|
-
<
|
|
475
|
-
{r}
|
|
476
|
-
</
|
|
477
|
-
</
|
|
525
|
+
{R({icon:<Ar 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}}>
|
|
526
|
+
{["png","jpeg","webp"].map(r=>{const z=Re===r;return<B key={r}onPress={()=>{v("light"),Ne(r),I(`Screenshot format: ${r.toUpperCase()}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
527
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
528
|
+
{r.toUpperCase()}
|
|
529
|
+
</T>
|
|
530
|
+
</B>})}
|
|
478
531
|
</C>})}
|
|
479
532
|
|
|
480
|
-
{
|
|
481
|
-
<
|
|
482
|
-
{
|
|
483
|
-
</
|
|
484
|
-
</
|
|
533
|
+
{R({icon:<$e 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:()=>{v("light"),ae(r=>!r),I(`Auto-hide overlay: ${W?"OFF":"ON"}`)},right:<B onPress={()=>{v("light"),ae(r=>!r),I(`Auto-hide overlay: ${W?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:W?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:W?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
534
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:W?e.emerald500:e.grayText}}>
|
|
535
|
+
{W?w("settings.media.enabled","ON"):"OFF"}
|
|
536
|
+
</T>
|
|
537
|
+
</B>})}
|
|
485
538
|
</C>
|
|
486
539
|
|
|
487
540
|
|
|
488
541
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
489
542
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
490
543
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
491
|
-
|
|
544
|
+
<$r color={e.purple}size={16}/>
|
|
492
545
|
</C>
|
|
493
546
|
<C style={{flex:1}}>
|
|
494
|
-
<
|
|
547
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
495
548
|
{w("settings.media.videoCardTitle","Video Recording & GIF Conversion")}
|
|
496
|
-
</
|
|
497
|
-
<
|
|
549
|
+
</T>
|
|
550
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
498
551
|
{w("settings.media.videoCardDesc","ReplayKit hardware encoding, frame capture fallback and GIF generation")}
|
|
499
|
-
</
|
|
552
|
+
</T>
|
|
500
553
|
</C>
|
|
501
554
|
</C>
|
|
502
555
|
|
|
503
|
-
{
|
|
504
|
-
{["Muted","App","Mic"].map(r=>{const
|
|
505
|
-
<
|
|
506
|
-
{r}
|
|
507
|
-
</
|
|
508
|
-
</
|
|
556
|
+
{R({icon:<Wr 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}}>
|
|
557
|
+
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const z=je===r.key;return<B key={r.key}onPress={()=>{v("light"),Ge(r.key),I(`Audio source: ${r.label}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
558
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
559
|
+
{r.label}
|
|
560
|
+
</T>
|
|
561
|
+
</B>})}
|
|
509
562
|
</C>})}
|
|
510
563
|
|
|
511
|
-
{
|
|
512
|
-
{[
|
|
513
|
-
<
|
|
564
|
+
{R({icon:<Lr 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}}>
|
|
565
|
+
{[15,24,30,60].map(r=>{const z=Ue===r;return<B key={r}onPress={()=>{v("light"),qe(r),I(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
566
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
514
567
|
{r}fps
|
|
515
|
-
</
|
|
516
|
-
</
|
|
568
|
+
</T>
|
|
569
|
+
</B>})}
|
|
517
570
|
</C>})}
|
|
518
571
|
|
|
519
|
-
{
|
|
520
|
-
<
|
|
521
|
-
{
|
|
522
|
-
</
|
|
523
|
-
</
|
|
572
|
+
{R({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:()=>{v("light"),ne(r=>!r),I(`GIF optimization: ${A?"OFF":"ON"}`)},right:<B onPress={()=>{v("light"),ne(r=>!r),I(`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`}}>
|
|
573
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:A?e.emerald500:e.grayText}}>
|
|
574
|
+
{A?"ON":"OFF"}
|
|
575
|
+
</T>
|
|
576
|
+
</B>})}
|
|
524
577
|
</C>
|
|
525
578
|
|
|
526
579
|
|
|
527
580
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
528
|
-
{
|
|
529
|
-
<
|
|
581
|
+
{R({icon:<G 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:()=>{E.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 Pe.clearAllMedia(),I(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`}}>
|
|
582
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
530
583
|
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
531
|
-
</
|
|
584
|
+
</T>
|
|
532
585
|
</C>})}
|
|
533
586
|
</C>
|
|
534
587
|
</C>}
|
|
535
588
|
<C style={{height:48}}/>
|
|
536
|
-
</
|
|
589
|
+
</N>
|
|
537
590
|
|
|
538
591
|
|
|
539
|
-
{
|
|
592
|
+
{_==="module"&&<C style={{paddingHorizontal:16,paddingTop:12,paddingBottom:Ze.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}}>
|
|
540
593
|
<C style={{flex:1}}>
|
|
541
|
-
<
|
|
542
|
-
{
|
|
543
|
-
</
|
|
544
|
-
<
|
|
545
|
-
{w(
|
|
546
|
-
</
|
|
594
|
+
<T style={{fontFamily:S.interBold,fontSize:13,lineHeight:17,color:e.primaryBlack}}>
|
|
595
|
+
{Je} of {L.length} Modules Active
|
|
596
|
+
</T>
|
|
597
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:Q?e.purple:e.grayText,marginTop:1}}>
|
|
598
|
+
{w(Q?"settings.unsavedPending":"settings.allSynchronized")}
|
|
599
|
+
</T>
|
|
547
600
|
</C>
|
|
548
601
|
|
|
549
|
-
<
|
|
550
|
-
<
|
|
551
|
-
<
|
|
602
|
+
<B accessible={!0}accessibilityRole="button"accessibilityLabel="Save Changes"onPress={mo}style={{flexDirection:"row",alignItems:"center",gap:6,backgroundColor:Q?e.purple:`${e.purple}22`,paddingHorizontal:18,paddingVertical:10,borderRadius:10}}>
|
|
603
|
+
<K size={14}color={Q?e.white:e.purple}/>
|
|
604
|
+
<T style={{fontFamily:S.interBold,fontSize:13,lineHeight:17,color:Q?e.white:e.purple}}>
|
|
552
605
|
{w("settings.saveChanges")}
|
|
553
|
-
</
|
|
554
|
-
</
|
|
606
|
+
</T>
|
|
607
|
+
</B>
|
|
555
608
|
</C>}
|
|
556
|
-
</C>;let
|
|
609
|
+
</C>;let q=null;P==="apis"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
557
610
|
|
|
558
611
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
559
|
-
{
|
|
560
|
-
<
|
|
612
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("settings.apis.clearNetworkLogs"),description:w("settings.apis.clearNetworkLogsDescription",{count:ke.length}),isLast:!0,onPress:()=>{Fo(),io(null),E.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`}}>
|
|
613
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
561
614
|
{w("common.clear")}
|
|
562
|
-
</
|
|
615
|
+
</T>
|
|
563
616
|
</C>})}
|
|
564
617
|
</C>
|
|
565
618
|
<C style={{height:48}}/>
|
|
566
|
-
</
|
|
619
|
+
</N>:P==="logs"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
567
620
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
568
|
-
{
|
|
621
|
+
{R({icon:<Br color={e.purple}size={16}/>,label:w("settings.logs.maxConsoleLogs"),description:w("settings.logs.maxConsoleLogsDescription"),numericInput:{value:ze,onChange:Zr,min:10,max:100,placeholder:"Enter max logs (10-100)"}})}
|
|
569
622
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
570
|
-
<
|
|
623
|
+
<T style={{fontFamily:S.interBold,fontSize:13,lineHeight:17,color:e.primaryBlack,paddingTop:6}}>
|
|
571
624
|
{w("settings.logs.logLevels")}
|
|
572
|
-
</
|
|
573
|
-
{["info","warn","error"].map(r=>{const
|
|
574
|
-
{
|
|
625
|
+
</T>
|
|
626
|
+
{["info","warn","error"].map(r=>{const z=Qr?.[r],H=r==="error"?e.errorColor:r==="warn"?e.warningIconGold:e.skyBlue,D=w(r==="info"?"settings.logs.showInfo":r==="warn"?"settings.logs.showWarn":"settings.logs.showError"),O=w(r==="info"?"settings.logs.showInfoDesc":r==="warn"?"settings.logs.showWarnDesc":"settings.logs.showErrorDesc");return R({icon:<C style={{width:12,height:12,borderRadius:6,backgroundColor:H}}/>,label:D,description:O,isLast:r==="error",onPress:()=>Xr(F=>({...F,[r]:!F[r]})),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:z?e.purple:e.grayTextWeak,backgroundColor:z?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
627
|
+
{z&&<K size={12}color={e.purple}/>}
|
|
575
628
|
</C>})})}
|
|
576
629
|
</C>
|
|
577
630
|
|
|
578
631
|
|
|
579
632
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,overflow:"hidden",padding:16,gap:14}}>
|
|
580
|
-
<
|
|
633
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.grayTextWeak,letterSpacing:.8}}>
|
|
581
634
|
{w("settings.logFiltersDeduplication")}
|
|
582
|
-
</
|
|
635
|
+
</T>
|
|
583
636
|
|
|
584
637
|
|
|
585
638
|
<C style={{flexDirection:"row",alignItems:"center",justifyContent:"space-between"}}>
|
|
586
639
|
<C style={{flexDirection:"row",alignItems:"center",gap:10,flex:1}}>
|
|
587
640
|
<C style={{width:32,height:32,borderRadius:8,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
588
|
-
|
|
641
|
+
<$e color={e.purple}size={15}/>
|
|
589
642
|
</C>
|
|
590
643
|
<C style={{flex:1}}>
|
|
591
|
-
<
|
|
644
|
+
<T style={{fontFamily:S.interBold,fontSize:13.5,lineHeight:18,color:e.primaryBlack}}>
|
|
592
645
|
{w("settings.general.duplicateLogs")}
|
|
593
|
-
</
|
|
594
|
-
<
|
|
646
|
+
</T>
|
|
647
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
595
648
|
{w("settings.general.duplicateLogsDescription")}
|
|
596
|
-
</
|
|
649
|
+
</T>
|
|
597
650
|
</C>
|
|
598
651
|
</C>
|
|
599
652
|
|
|
600
|
-
<
|
|
653
|
+
<B accessible={!0}accessibilityRole="switch"accessibilityLabel="Toggle show duplicate logs"accessibilityState={{checked:we}}onPress={()=>_r(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"}}>
|
|
601
654
|
<C style={{width:20,height:20,borderRadius:10,backgroundColor:e.white,shadowColor:e.black,shadowOpacity:.18,shadowRadius:2,shadowOffset:{width:0,height:1}}}/>
|
|
602
|
-
</
|
|
655
|
+
</B>
|
|
603
656
|
</C>
|
|
604
657
|
</C>
|
|
605
658
|
|
|
606
659
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
607
|
-
{
|
|
608
|
-
<
|
|
660
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("settings.logs.clearConsoleLogs"),description:w("settings.logs.clearConsoleLogsDescription",{count:xe.length}),isLast:!0,onPress:()=>{Io(),E.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`}}>
|
|
661
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
609
662
|
{w("common.clear")}
|
|
610
|
-
</
|
|
663
|
+
</T>
|
|
611
664
|
</C>})}
|
|
612
665
|
</C>
|
|
613
666
|
<C style={{height:48}}/>
|
|
614
|
-
</
|
|
667
|
+
</N>:P==="analytics"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
615
668
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary}}>
|
|
616
|
-
{
|
|
669
|
+
{R({icon:<Vr color={e.purple}size={16}/>,label:w("settings.analytics.maxAnalyticsEvents"),description:w("settings.analytics.maxAnalyticsEventsDescription",{count:Te.length}),numericInput:{value:Oe,onChange:eo,min:10,max:75,placeholder:"Enter max events (10-75)"},isLast:!0})}
|
|
617
670
|
</C>
|
|
618
671
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
619
|
-
{
|
|
620
|
-
<
|
|
672
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("settings.analytics.clearAnalyticsEvents"),description:w("settings.analytics.clearAnalyticsEventsDescription"),isLast:!0,onPress:()=>{Ho(),lo(null),E.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`}}>
|
|
673
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
621
674
|
{w("common.clear")}
|
|
622
|
-
</
|
|
675
|
+
</T>
|
|
623
676
|
</C>})}
|
|
624
677
|
</C>
|
|
625
678
|
<C style={{height:48}}/>
|
|
626
|
-
</
|
|
679
|
+
</N>:P==="redux"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
627
680
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
628
|
-
{
|
|
629
|
-
{
|
|
681
|
+
{R({icon:<Fr color={e.purple}size={16}/>,label:w("settings.redux.autoRefresh"),description:w("settings.redux.autoRefreshDescription"),onPress:()=>oo(r=>!r),right:<C style={{width:22,height:22,borderRadius:6,borderWidth:2,borderColor:Ve?e.purple:e.grayTextWeak,backgroundColor:Ve?`${e.purple}1A`:"transparent",alignItems:"center",justifyContent:"center"}}>
|
|
682
|
+
{Ve&&<K size={12}color={e.purple}/>}
|
|
630
683
|
</C>})}
|
|
631
684
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
632
|
-
{
|
|
685
|
+
{R({icon:<X color={e.purple}size={16}/>,label:w("settings.redux.defaultJsonExpandDepth"),description:w("settings.redux.defaultJsonExpandDepthDescription"),picker:{options:[1,2,3,5],selectedValue:Me,onSelect:to},isLast:!0})}
|
|
633
686
|
</C>
|
|
634
687
|
|
|
635
688
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
636
|
-
{
|
|
637
|
-
<
|
|
689
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("settings.redux.clearReduxState"),description:w(ee?"settings.redux.clearReduxStateDescription":"settings.redux.clearReduxStateEmpty"),isLast:!0,onPress:()=>{ao(null),E.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`}}>
|
|
690
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
638
691
|
{w("common.clear")}
|
|
639
|
-
</
|
|
692
|
+
</T>
|
|
640
693
|
</C>})}
|
|
641
694
|
</C>
|
|
642
695
|
<C style={{height:48}}/>
|
|
643
|
-
</
|
|
696
|
+
</N>:P==="crash"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
644
697
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
645
|
-
{
|
|
698
|
+
{R({icon:<X color={e.purple}size={16}/>,label:w("settings.crash.maxCrashLogs"),description:w("settings.crash.maxCrashLogsDesc"),numericInput:{value:Ee,onChange:no,min:5,max:50,placeholder:"Enter max crashes (5-50)"}})}
|
|
646
699
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
647
|
-
{
|
|
648
|
-
<
|
|
700
|
+
{R({icon:<Ir 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`}}>
|
|
701
|
+
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
649
702
|
{w("settings.protectedBadge")}
|
|
650
|
-
</
|
|
703
|
+
</T>
|
|
651
704
|
</C>})}
|
|
652
705
|
</C>
|
|
653
706
|
|
|
654
707
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
655
|
-
{
|
|
656
|
-
<
|
|
708
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("settings.crash.clearHistory"),description:w("settings.crash.clearHistoryDesc",{count:re?.length||0}),isLast:!0,onPress:()=>{Do(),E.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`}}>
|
|
709
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
657
710
|
{w("common.clear")}
|
|
658
|
-
</
|
|
711
|
+
</T>
|
|
659
712
|
</C>})}
|
|
660
713
|
</C>
|
|
661
714
|
<C style={{height:48}}/>
|
|
662
|
-
</
|
|
715
|
+
</N>:P==="push"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
663
716
|
|
|
664
717
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
665
|
-
{
|
|
718
|
+
{R({icon:<X color={e.purple}size={16}/>,label:"Max Push Notification Logs",description:"Buffer size limit for recorded push payloads (10-200)",numericInput:{value:so,onChange:co,min:10,max:200,placeholder:"Enter max logs (10-200)"}})}
|
|
666
719
|
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
667
|
-
{
|
|
668
|
-
<
|
|
720
|
+
{R({icon:<Or 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`}}>
|
|
721
|
+
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
669
722
|
ACTIVE
|
|
670
|
-
</
|
|
723
|
+
</T>
|
|
671
724
|
</C>})}
|
|
672
725
|
</C>
|
|
673
726
|
|
|
674
727
|
|
|
675
728
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
676
|
-
<
|
|
677
|
-
|
|
678
|
-
|
|
729
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
730
|
+
<We size={13}color={e.amber500}/>
|
|
731
|
+
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
732
|
+
{w("settings.simulatePushTitle","SIMULATE TEST PUSH NOTIFICATIONS")}
|
|
733
|
+
</T>
|
|
734
|
+
</C>
|
|
679
735
|
|
|
680
736
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:6}}>
|
|
681
|
-
<
|
|
682
|
-
<
|
|
737
|
+
<B onPress={()=>{te("salesforce"),I(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}}>
|
|
738
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.sky600}}>
|
|
683
739
|
+ Salesforce MC
|
|
684
|
-
</
|
|
685
|
-
</
|
|
740
|
+
</T>
|
|
741
|
+
</B>
|
|
686
742
|
|
|
687
|
-
<
|
|
688
|
-
<
|
|
743
|
+
<B onPress={()=>{te("fcm"),I(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}}>
|
|
744
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.darkOrange}}>
|
|
689
745
|
+ Firebase FCM
|
|
690
|
-
</
|
|
691
|
-
</
|
|
746
|
+
</T>
|
|
747
|
+
</B>
|
|
692
748
|
|
|
693
|
-
<
|
|
694
|
-
<
|
|
749
|
+
<B onPress={()=>{te("apns"),I(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}}>
|
|
750
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.primaryBlack}}>
|
|
695
751
|
+ Apple APNs
|
|
696
|
-
</
|
|
697
|
-
</
|
|
752
|
+
</T>
|
|
753
|
+
</B>
|
|
698
754
|
|
|
699
|
-
<
|
|
700
|
-
<
|
|
755
|
+
<B onPress={()=>{te("deeplink"),I(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}}>
|
|
756
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.brandPurple}}>
|
|
701
757
|
+ Deep Link
|
|
702
|
-
</
|
|
703
|
-
</
|
|
758
|
+
</T>
|
|
759
|
+
</B>
|
|
704
760
|
</C>
|
|
705
761
|
</C>
|
|
706
762
|
|
|
707
763
|
|
|
708
764
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
709
|
-
{
|
|
710
|
-
<
|
|
765
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("push.clearTitle","Clear Push History"),description:`Permanently remove all ${oe?.length||0} recorded notifications`,isLast:!0,onPress:()=>{go(),E.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`}}>
|
|
766
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
711
767
|
{w("common.clear")}
|
|
712
|
-
</
|
|
768
|
+
</T>
|
|
713
769
|
</C>})}
|
|
714
770
|
</C>
|
|
715
771
|
<C style={{height:48}}/>
|
|
716
|
-
</
|
|
772
|
+
</N>:P==="socket"?q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
773
|
+
|
|
774
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:4}}>
|
|
775
|
+
{R({icon:<X color={e.purple}size={16}/>,label:"Max WebSocket Connections",description:"Ring buffer limit for active & closed socket sessions (10-200)",numericInput:{value:po,onChange:yo,min:10,max:200,placeholder:"Enter max sockets (10-200)"}})}
|
|
776
|
+
<C style={{height:1,backgroundColor:e.dividerColor}}/>
|
|
777
|
+
{R({icon:<Mr 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`}}>
|
|
778
|
+
<T style={{fontFamily:S.interBold,fontSize:10,lineHeight:13,color:e.greenColor}}>
|
|
779
|
+
ACTIVE
|
|
780
|
+
</T>
|
|
781
|
+
</C>})}
|
|
782
|
+
</C>
|
|
783
|
+
|
|
717
784
|
|
|
718
785
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
719
|
-
<
|
|
720
|
-
|
|
721
|
-
|
|
786
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
787
|
+
<We size={13}color={e.amber500}/>
|
|
788
|
+
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
789
|
+
{w("settings.simulateSocketTitle","SIMULATE TEST SOCKET CONNECTIONS")}
|
|
790
|
+
</T>
|
|
791
|
+
</C>
|
|
792
|
+
|
|
793
|
+
<C style={{flexDirection:"row",flexWrap:"wrap",gap:6}}>
|
|
794
|
+
<B onPress={()=>{le("chat"),I(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}}>
|
|
795
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.blue600}}>
|
|
796
|
+
+ Chat Room (WS)
|
|
797
|
+
</T>
|
|
798
|
+
</B>
|
|
799
|
+
|
|
800
|
+
<B onPress={()=>{le("crypto"),I(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}}>
|
|
801
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.emerald600}}>
|
|
802
|
+
+ Crypto Feed (WSS)
|
|
803
|
+
</T>
|
|
804
|
+
</B>
|
|
805
|
+
|
|
806
|
+
<B onPress={()=>{le("socketio"),I(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}}>
|
|
807
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.violet600}}>
|
|
808
|
+
+ Socket.IO Room
|
|
809
|
+
</T>
|
|
810
|
+
</B>
|
|
811
|
+
|
|
812
|
+
<B onPress={()=>{le("echo"),I(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}}>
|
|
813
|
+
<T style={{fontSize:11,fontFamily:S.interSemiBold,color:e.brandPurple}}>
|
|
814
|
+
+ Echo Test
|
|
815
|
+
</T>
|
|
816
|
+
</B>
|
|
817
|
+
</C>
|
|
818
|
+
</C>
|
|
819
|
+
|
|
820
|
+
|
|
821
|
+
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
822
|
+
{R({icon:<G color={e.errorColor}size={16}/>,label:w("socket.clearTitle","Clear All WebSocket Logs").replace("All WebSocket Logs","Socket History"),description:`Permanently remove all ${ie?.length||0} recorded sessions`,isLast:!0,onPress:()=>{uo(),E.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`}}>
|
|
823
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
824
|
+
{w("common.clear")}
|
|
825
|
+
</T>
|
|
826
|
+
</C>})}
|
|
827
|
+
</C>
|
|
828
|
+
<C style={{height:48}}/>
|
|
829
|
+
</N>:P==="media"&&(q=<N style={{flex:1}}contentContainerStyle={{padding:16,paddingBottom:100,gap:12}}>
|
|
830
|
+
|
|
831
|
+
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:8}}>
|
|
832
|
+
<C style={{flexDirection:"row",alignItems:"center",gap:6,marginBottom:4}}>
|
|
833
|
+
<We size={13}color={e.amber500}/>
|
|
834
|
+
<T style={{fontFamily:S.interBold,fontSize:12,color:e.primaryBlack}}>
|
|
835
|
+
{w("settings.directCaptureShortcuts","DIRECT CAPTURE SHORTCUTS")}
|
|
836
|
+
</T>
|
|
837
|
+
</C>
|
|
722
838
|
|
|
723
839
|
<C style={{flexDirection:"row",flexWrap:"wrap",gap:8}}>
|
|
724
|
-
<
|
|
840
|
+
<B onPress={async()=>{v("light"),await Pe.takeScreenshot({format:Re.toLowerCase(),quality:.9,hideInspector:W})&&(v("success"),I(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}}>
|
|
725
841
|
<Ce color={e.purple}size={14}/>
|
|
726
|
-
<
|
|
842
|
+
<T style={{fontSize:11,fontFamily:S.interBold,color:e.purple}}>
|
|
727
843
|
Take Screenshot
|
|
728
|
-
</
|
|
729
|
-
</
|
|
844
|
+
</T>
|
|
845
|
+
</B>
|
|
730
846
|
</C>
|
|
731
847
|
</C>
|
|
732
848
|
|
|
@@ -737,86 +853,89 @@ import{useMemo as Qe,useState as G,useEffect as Re,useRef as yo}from"react";impo
|
|
|
737
853
|
<Ce color={e.purple}size={16}/>
|
|
738
854
|
</C>
|
|
739
855
|
<C style={{flex:1}}>
|
|
740
|
-
<
|
|
856
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
741
857
|
{w("settings.media.screenshotCardTitle","Screenshot Capture Settings")}
|
|
742
|
-
</
|
|
743
|
-
<
|
|
858
|
+
</T>
|
|
859
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
744
860
|
{w("settings.media.screenshotCardDesc","Image encoding format, compression quality and overlay auto-hide")}
|
|
745
|
-
</
|
|
861
|
+
</T>
|
|
746
862
|
</C>
|
|
747
863
|
</C>
|
|
748
864
|
|
|
749
|
-
{
|
|
750
|
-
{["
|
|
751
|
-
<
|
|
752
|
-
{r}
|
|
753
|
-
</
|
|
754
|
-
</
|
|
865
|
+
{R({icon:<Ar 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}}>
|
|
866
|
+
{["png","jpeg","webp"].map(r=>{const z=Re===r;return<B key={r}onPress={()=>{v("light"),Ne(r),I(`Screenshot format: ${r.toUpperCase()}`)}}style={{paddingHorizontal:9,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
867
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
868
|
+
{r.toUpperCase()}
|
|
869
|
+
</T>
|
|
870
|
+
</B>})}
|
|
755
871
|
</C>})}
|
|
756
872
|
|
|
757
|
-
{
|
|
758
|
-
<
|
|
759
|
-
{
|
|
760
|
-
</
|
|
761
|
-
</
|
|
873
|
+
{R({icon:<$e 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:()=>{v("light"),ae(r=>!r),I(`Auto-hide overlay: ${W?"OFF":"ON"}`)},right:<B onPress={()=>{v("light"),ae(r=>!r),I(`Auto-hide overlay: ${W?"OFF":"ON"}`)}}style={{paddingHorizontal:10,paddingVertical:5,borderRadius:7,backgroundColor:W?`${e.emerald500}26`:`${e.grayText}20`,borderWidth:1,borderColor:W?`${e.emerald500}4D`:`${e.grayText}33`}}>
|
|
874
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:W?e.emerald500:e.grayText}}>
|
|
875
|
+
{W?w("settings.media.enabled","ON"):"OFF"}
|
|
876
|
+
</T>
|
|
877
|
+
</B>})}
|
|
762
878
|
</C>
|
|
763
879
|
|
|
764
880
|
|
|
765
881
|
<C style={{backgroundColor:e.primaryLight,padding:16,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,gap:12}}>
|
|
766
882
|
<C style={{flexDirection:"row",alignItems:"center",gap:10}}>
|
|
767
883
|
<C style={{width:36,height:36,borderRadius:10,backgroundColor:e.purpleShade50,alignItems:"center",justifyContent:"center"}}>
|
|
768
|
-
|
|
884
|
+
<$r color={e.purple}size={16}/>
|
|
769
885
|
</C>
|
|
770
886
|
<C style={{flex:1}}>
|
|
771
|
-
<
|
|
887
|
+
<T style={{fontFamily:S.interBold,fontSize:14,lineHeight:18,color:e.primaryBlack}}>
|
|
772
888
|
{w("settings.media.videoCardTitle","Video Recording & GIF Conversion")}
|
|
773
|
-
</
|
|
774
|
-
<
|
|
889
|
+
</T>
|
|
890
|
+
<T style={{fontFamily:S.interRegular,fontSize:11,lineHeight:15,color:e.grayText,marginTop:1}}>
|
|
775
891
|
{w("settings.media.videoCardDesc","ReplayKit hardware encoding, frame capture fallback and GIF generation")}
|
|
776
|
-
</
|
|
892
|
+
</T>
|
|
777
893
|
</C>
|
|
778
894
|
</C>
|
|
779
895
|
|
|
780
|
-
{
|
|
781
|
-
{["Muted","App","Mic"].map(r=>{const
|
|
782
|
-
<
|
|
783
|
-
{r}
|
|
784
|
-
</
|
|
785
|
-
</
|
|
896
|
+
{R({icon:<Wr 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}}>
|
|
897
|
+
{[{key:"none",label:"Muted"},{key:"app",label:"App"},{key:"mic",label:"Mic"}].map(r=>{const z=je===r.key;return<B key={r.key}onPress={()=>{v("light"),Ge(r.key),I(`Audio source: ${r.label}`)}}style={{paddingHorizontal:8,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
898
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
899
|
+
{r.label}
|
|
900
|
+
</T>
|
|
901
|
+
</B>})}
|
|
786
902
|
</C>})}
|
|
787
903
|
|
|
788
|
-
{
|
|
789
|
-
{[
|
|
790
|
-
<
|
|
904
|
+
{R({icon:<Lr 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}}>
|
|
905
|
+
{[15,24,30,60].map(r=>{const z=Ue===r;return<B key={r}onPress={()=>{v("light"),qe(r),I(`Recording FPS: ${r}`)}}style={{paddingHorizontal:7,paddingVertical:5,borderRadius:7,backgroundColor:z?e.purple:`${e.purple}14`,borderWidth:1,borderColor:z?e.purple:`${e.purple}2E`}}>
|
|
906
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:z?e.white:e.purple}}>
|
|
791
907
|
{r}fps
|
|
792
|
-
</
|
|
793
|
-
</
|
|
908
|
+
</T>
|
|
909
|
+
</B>})}
|
|
794
910
|
</C>})}
|
|
795
911
|
|
|
796
|
-
{
|
|
797
|
-
<
|
|
798
|
-
{
|
|
799
|
-
</
|
|
800
|
-
</
|
|
912
|
+
{R({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:()=>{v("light"),ne(r=>!r),I(`GIF optimization: ${A?"OFF":"ON"}`)},right:<B onPress={()=>{v("light"),ne(r=>!r),I(`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`}}>
|
|
913
|
+
<T style={{fontFamily:S.interBold,fontSize:10.5,color:A?e.emerald500:e.grayText}}>
|
|
914
|
+
{A?"ON":"OFF"}
|
|
915
|
+
</T>
|
|
916
|
+
</B>})}
|
|
801
917
|
</C>
|
|
802
918
|
|
|
803
919
|
|
|
804
920
|
<C style={{backgroundColor:e.primaryLight,borderRadius:14,borderWidth:1,borderColor:e.grayBorderSecondary,padding:16}}>
|
|
805
|
-
{
|
|
806
|
-
<
|
|
921
|
+
{R({icon:<G 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:()=>{E.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 Pe.clearAllMedia(),I(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`}}>
|
|
922
|
+
<T style={{fontFamily:S.interBold,fontSize:11,lineHeight:14,color:e.errorColor}}>
|
|
807
923
|
{w("settings.media.purgeCacheBtn","Purge All")}
|
|
808
|
-
</
|
|
924
|
+
</T>
|
|
809
925
|
</C>})}
|
|
810
926
|
</C>
|
|
811
927
|
<C style={{height:48}}/>
|
|
812
|
-
</
|
|
928
|
+
</N>);const pe=Co(new ve.Value(0)).current;return De(()=>{P!=="main"&&(pe.setValue(0),ve.spring(pe,{toValue:1,friction:8,tension:65,useNativeDriver:!0}).start())},[P]),<C style={{flex:1,backgroundColor:e.grayBackground}}>
|
|
813
929
|
|
|
814
|
-
<C style={[
|
|
815
|
-
{
|
|
930
|
+
<C style={[er.absoluteFill,P!=="main"&&{pointerEvents:"none"}]}>
|
|
931
|
+
{fo()}
|
|
816
932
|
</C>
|
|
817
933
|
|
|
818
934
|
|
|
819
|
-
{
|
|
820
|
-
{
|
|
821
|
-
</
|
|
822
|
-
|
|
935
|
+
{P!=="main"&&<ve.View style={[er.absoluteFill,{backgroundColor:e.grayBackground,opacity:pe,transform:[{translateX:pe.interpolate({inputRange:[0,1],outputRange:[30,0]})}]}]}>
|
|
936
|
+
{q}
|
|
937
|
+
</ve.View>}
|
|
938
|
+
|
|
939
|
+
|
|
940
|
+
<$o visible={ho}onClose={()=>_e(!1)}/>
|
|
941
|
+
</C>};export default Yo;
|