react-native-inapp-inspector 2.3.16 → 2.3.17
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/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +438 -7
- package/bin/cli.js +0 -0
- package/dist/commonjs/capture.d.ts +26 -0
- package/dist/commonjs/capture.js +32 -0
- package/dist/commonjs/components/AnalyticsEventCard.js +11 -11
- package/dist/commonjs/components/AnimatedEntrance.js +6 -70
- package/dist/commonjs/components/DomainHeader.js +3 -48
- package/dist/commonjs/components/EmptyState.js +2 -2
- package/dist/commonjs/components/HeadersSection.js +14 -34
- package/dist/commonjs/components/Inspector/AnalyticsTab.js +1 -2
- package/dist/commonjs/components/Inspector/ConsoleTab.js +1 -1
- package/dist/commonjs/components/Inspector/CrashTab.js +4 -2
- package/dist/commonjs/components/Inspector/DebuggingTab.js +2 -2
- package/dist/commonjs/components/Inspector/InspectorHeader.js +651 -313
- package/dist/commonjs/components/Inspector/MainScreen.js +25 -70
- package/dist/commonjs/components/Inspector/MediaGalleryTab.d.ts +2 -0
- package/dist/commonjs/components/Inspector/MediaGalleryTab.js +307 -0
- package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +11 -0
- package/dist/commonjs/components/Inspector/MediaPreviewModal.js +393 -0
- package/dist/commonjs/components/Inspector/NetworkTab.js +183 -182
- package/dist/commonjs/components/Inspector/NpmUpdateToast.js +4 -9
- package/dist/commonjs/components/Inspector/ReduxTab.js +4 -2
- package/dist/commonjs/components/Inspector/SettingsPanel.js +245 -0
- package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +2 -2
- package/dist/commonjs/components/Inspector/StorageTab.js +3 -3
- package/dist/commonjs/components/Inspector/TabBar.js +5 -10
- package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +5 -10
- package/dist/commonjs/components/JsonViewer.js +43 -20
- package/dist/commonjs/components/LogCard.js +5 -5
- package/dist/commonjs/components/MetaAccordion.js +78 -80
- package/dist/commonjs/components/NetworkIcons.d.ts +8 -0
- package/dist/commonjs/components/NetworkIcons.js +51 -1
- package/dist/commonjs/components/SectionHeader.js +3 -48
- package/dist/commonjs/components/SkeletonPlaceholder.js +2 -2
- package/dist/commonjs/components/SourcePageCard.js +43 -45
- package/dist/commonjs/components/Toast.js +4 -4
- package/dist/commonjs/components/TouchableScale.js +9 -65
- package/dist/commonjs/components/TreeNode.js +2 -14
- package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
- package/dist/commonjs/constants/telemetryConfig.js +3 -3
- package/dist/commonjs/constants/version.d.ts +1 -1
- package/dist/commonjs/constants/version.js +1 -1
- package/dist/commonjs/customHooks/useAccordion.d.ts +3 -8
- package/dist/commonjs/customHooks/useAccordion.js +6 -36
- package/dist/commonjs/helpers/index.d.ts +2 -1
- package/dist/commonjs/helpers/index.js +10 -1
- package/dist/commonjs/i18n/locales/en.json +66 -2
- package/dist/commonjs/index.d.ts +1 -0
- package/dist/commonjs/index.js +39 -22
- package/dist/commonjs/native/NativeInspector.d.ts +60 -0
- package/dist/commonjs/native/NativeInspector.js +109 -2
- package/dist/commonjs/native/NativeNetworkInspector.d.ts +8 -0
- package/dist/commonjs/styles/AppColors.d.ts +36 -0
- package/dist/commonjs/styles/AppColors.js +36 -0
- package/dist/commonjs/styles/index.d.ts +3 -1
- package/dist/commonjs/styles/index.js +3 -1
- package/dist/commonjs/types/enums.d.ts +1 -0
- package/dist/commonjs/types/enums.js +1 -0
- package/dist/commonjs/types/index.d.ts +2 -2
- package/dist/esm/capture.d.ts +26 -0
- package/dist/esm/capture.js +29 -0
- package/dist/esm/components/AnalyticsEventCard.js +11 -11
- package/dist/esm/components/AnimatedEntrance.js +4 -38
- package/dist/esm/components/DomainHeader.js +4 -16
- package/dist/esm/components/EmptyState.js +2 -2
- package/dist/esm/components/HeadersSection.js +16 -36
- package/dist/esm/components/Inspector/AnalyticsTab.js +2 -3
- package/dist/esm/components/Inspector/ConsoleTab.js +2 -2
- package/dist/esm/components/Inspector/CrashTab.js +5 -3
- package/dist/esm/components/Inspector/DebuggingTab.js +3 -3
- package/dist/esm/components/Inspector/InspectorHeader.js +654 -316
- package/dist/esm/components/Inspector/MainScreen.js +25 -70
- package/dist/esm/components/Inspector/MediaGalleryTab.d.ts +2 -0
- package/dist/esm/components/Inspector/MediaGalleryTab.js +267 -0
- package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +11 -0
- package/dist/esm/components/Inspector/MediaPreviewModal.js +353 -0
- package/dist/esm/components/Inspector/NetworkTab.js +185 -184
- package/dist/esm/components/Inspector/NpmUpdateToast.js +5 -10
- package/dist/esm/components/Inspector/ReduxTab.js +5 -3
- package/dist/esm/components/Inspector/SettingsPanel.js +246 -1
- package/dist/esm/components/Inspector/SkeletonPlaceholder.js +2 -2
- package/dist/esm/components/Inspector/StorageTab.js +3 -3
- package/dist/esm/components/Inspector/TabBar.js +6 -11
- package/dist/esm/components/Inspector/UpdateAvailableModal.js +6 -11
- package/dist/esm/components/JsonViewer.js +43 -20
- package/dist/esm/components/LogCard.js +5 -5
- package/dist/esm/components/MetaAccordion.js +79 -81
- package/dist/esm/components/NetworkIcons.d.ts +8 -0
- package/dist/esm/components/NetworkIcons.js +42 -0
- package/dist/esm/components/SectionHeader.js +4 -16
- package/dist/esm/components/SkeletonPlaceholder.js +2 -2
- package/dist/esm/components/SourcePageCard.js +44 -46
- package/dist/esm/components/Toast.js +4 -4
- package/dist/esm/components/TouchableScale.js +7 -33
- package/dist/esm/components/TreeNode.js +4 -16
- package/dist/esm/constants/telemetryConfig.d.ts +3 -3
- package/dist/esm/constants/telemetryConfig.js +3 -3
- package/dist/esm/constants/version.d.ts +1 -1
- package/dist/esm/constants/version.js +1 -1
- package/dist/esm/customHooks/useAccordion.d.ts +3 -8
- package/dist/esm/customHooks/useAccordion.js +7 -37
- package/dist/esm/helpers/index.d.ts +2 -1
- package/dist/esm/helpers/index.js +8 -0
- package/dist/esm/i18n/locales/en.json +66 -2
- package/dist/esm/index.d.ts +1 -0
- package/dist/esm/index.js +36 -21
- package/dist/esm/native/NativeInspector.d.ts +60 -0
- package/dist/esm/native/NativeInspector.js +100 -1
- package/dist/esm/native/NativeNetworkInspector.d.ts +8 -0
- package/dist/esm/styles/AppColors.d.ts +36 -0
- package/dist/esm/styles/AppColors.js +36 -0
- package/dist/esm/styles/index.d.ts +3 -1
- package/dist/esm/styles/index.js +3 -1
- package/dist/esm/types/enums.d.ts +1 -0
- package/dist/esm/types/enums.js +1 -0
- package/dist/esm/types/index.d.ts +2 -2
- package/ios/NetworkInspectorModule.h +1 -0
- package/ios/NetworkInspectorModule.mm +736 -7
- package/package.json +10 -2
- package/react-native-inapp-inspector.podspec +1 -0
- package/src/capture.ts +101 -0
- package/src/components/AnalyticsEventCard.tsx +15 -13
- package/src/components/AnimatedEntrance.tsx +3 -47
- package/src/components/DomainHeader.tsx +4 -17
- package/src/components/EmptyState.tsx +2 -2
- package/src/components/HeadersSection.tsx +31 -56
- package/src/components/Inspector/AnalyticsTab.tsx +2 -2
- package/src/components/Inspector/ConsoleTab.tsx +2 -1
- package/src/components/Inspector/CrashTab.tsx +4 -2
- package/src/components/Inspector/DebuggingTab.tsx +2 -2
- package/src/components/Inspector/InspectorHeader.tsx +1215 -789
- package/src/components/Inspector/MainScreen.tsx +44 -85
- package/src/components/Inspector/MediaGalleryTab.tsx +355 -0
- package/src/components/Inspector/MediaPreviewModal.tsx +435 -0
- package/src/components/Inspector/NetworkTab.tsx +14 -15
- package/src/components/Inspector/NpmUpdateToast.tsx +4 -9
- package/src/components/Inspector/ReduxTab.tsx +5 -2
- package/src/components/Inspector/SettingsPanel.tsx +303 -0
- package/src/components/Inspector/SkeletonPlaceholder.tsx +2 -2
- package/src/components/Inspector/StorageTab.tsx +3 -3
- package/src/components/Inspector/TabBar.tsx +6 -12
- package/src/components/Inspector/UpdateAvailableModal.tsx +6 -10
- package/src/components/JsonViewer.tsx +101 -60
- package/src/components/LogCard.tsx +10 -8
- package/src/components/MetaAccordion.tsx +6 -6
- package/src/components/NetworkIcons.tsx +150 -0
- package/src/components/SectionHeader.tsx +4 -16
- package/src/components/SkeletonPlaceholder.tsx +2 -2
- package/src/components/SourcePageCard.tsx +57 -55
- package/src/components/Toast.tsx +4 -4
- package/src/components/TouchableScale.tsx +8 -38
- package/src/components/TreeNode.tsx +5 -20
- package/src/constants/telemetryConfig.ts +3 -5
- package/src/constants/version.ts +1 -1
- package/src/customHooks/useAccordion.tsx +10 -43
- package/src/helpers/index.ts +10 -1
- package/src/i18n/locales/en.json +69 -2
- package/src/index.tsx +51 -23
- package/src/native/NativeInspector.ts +186 -1
- package/src/native/NativeNetworkInspector.ts +9 -0
- package/src/styles/AppColors.ts +38 -0
- package/src/styles/index.ts +3 -1
- package/src/types/enums.ts +3 -0
- package/src/types/index.ts +2 -2
- package/android/.gradle/8.9/checksums/checksums.lock +0 -0
- package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
- package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
- package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
- package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
- package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
- package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/8.9/gc.properties +0 -0
- package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
- package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
- package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
- package/android/.gradle/9.2.0/gc.properties +0 -0
- package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
- package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
- package/android/.gradle/vcs-1/gc.properties +0 -0
- package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/results.bin +0 -1
- package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/transformed/classes/classes_dex/classes.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/results.bin +0 -1
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
- package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
- package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +0 -10
- package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +0 -104
- package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
- package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +0 -128
- package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +0 -31
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +0 -22
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +0 -24
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +0 -16
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +0 -17
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +0 -19
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +0 -18
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +0 -177
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +0 -17
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +0 -23
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +0 -16
- package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +0 -20
- package/android/build/generated/source/codegen/schema.json +0 -1
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
- package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
- package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
- package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
- package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
- package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
- package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
- package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
- package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
- package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
- package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
- package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
- package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
- package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
- package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
- package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
- package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
- package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
- package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-inapp-inspector.jar +0 -0
- package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
- package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
- package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
- package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
- package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
- package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
- package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
- package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
- package/android/build/outputs/aar/react-native-inapp-inspector-debug.aar +0 -0
- package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
- package/android/build/reports/problems/problems-report.html +0 -659
- package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
- package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
- package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
|
@@ -64,7 +64,15 @@ import {
|
|
|
64
64
|
GitHubIcon,
|
|
65
65
|
InfoCircleIcon,
|
|
66
66
|
CopyIcon,
|
|
67
|
+
FilmIcon,
|
|
68
|
+
CameraIcon,
|
|
69
|
+
VideoCameraIcon,
|
|
70
|
+
MicrophoneIcon,
|
|
71
|
+
GifIcon,
|
|
72
|
+
ImageIcon,
|
|
67
73
|
} from '../NetworkIcons';
|
|
74
|
+
import {ScreenCapture} from '../../capture';
|
|
75
|
+
|
|
68
76
|
import {LIB_VERSION} from '../../constants';
|
|
69
77
|
import {
|
|
70
78
|
copyToClipboard,
|
|
@@ -270,6 +278,7 @@ const SettingsPanel = () => {
|
|
|
270
278
|
});
|
|
271
279
|
}, [tabVisibility]);
|
|
272
280
|
|
|
281
|
+
|
|
273
282
|
const hasUnsavedChanges = useMemo(() => {
|
|
274
283
|
return allModules.some(
|
|
275
284
|
m =>
|
|
@@ -306,6 +315,7 @@ const SettingsPanel = () => {
|
|
|
306
315
|
performance: Boolean(tabVisibility?.performance),
|
|
307
316
|
debugging: Boolean(tabVisibility?.debugging),
|
|
308
317
|
});
|
|
318
|
+
|
|
309
319
|
},
|
|
310
320
|
},
|
|
311
321
|
{
|
|
@@ -579,6 +589,11 @@ const SettingsPanel = () => {
|
|
|
579
589
|
label: t('settings.ramLimits', 'RAM & Limits'),
|
|
580
590
|
Icon: BrainIcon,
|
|
581
591
|
},
|
|
592
|
+
{
|
|
593
|
+
key: 'capture' as const,
|
|
594
|
+
label: t('settings.screenVideoCapture', 'Screen & Video Capture'),
|
|
595
|
+
Icon: CameraIcon,
|
|
596
|
+
},
|
|
582
597
|
{
|
|
583
598
|
key: 'about' as const,
|
|
584
599
|
label: t('settings.aboutAndSpecs', 'About & Specs'),
|
|
@@ -2284,6 +2299,293 @@ const SettingsPanel = () => {
|
|
|
2284
2299
|
</View>
|
|
2285
2300
|
</View>
|
|
2286
2301
|
)}
|
|
2302
|
+
{settingsActiveSubTab === 'capture' && (
|
|
2303
|
+
<View style={{gap: 12}}>
|
|
2304
|
+
{/* Screenshot Preferences Card */}
|
|
2305
|
+
<View
|
|
2306
|
+
style={{
|
|
2307
|
+
backgroundColor: AppColors.primaryLight,
|
|
2308
|
+
padding: 16,
|
|
2309
|
+
borderRadius: 14,
|
|
2310
|
+
borderWidth: 1,
|
|
2311
|
+
borderColor: AppColors.grayBorderSecondary,
|
|
2312
|
+
gap: 12,
|
|
2313
|
+
}}>
|
|
2314
|
+
<View style={{flexDirection: 'row', alignItems: 'center', gap: 10}}>
|
|
2315
|
+
<View
|
|
2316
|
+
style={{
|
|
2317
|
+
width: 36,
|
|
2318
|
+
height: 36,
|
|
2319
|
+
borderRadius: 10,
|
|
2320
|
+
backgroundColor: AppColors.purpleShade50,
|
|
2321
|
+
alignItems: 'center',
|
|
2322
|
+
justifyContent: 'center',
|
|
2323
|
+
}}>
|
|
2324
|
+
<CameraIcon color={AppColors.purple} size={16} />
|
|
2325
|
+
</View>
|
|
2326
|
+
<View style={{flex: 1}}>
|
|
2327
|
+
<Text
|
|
2328
|
+
style={{
|
|
2329
|
+
fontFamily: AppFonts.interBold,
|
|
2330
|
+
fontSize: 14,
|
|
2331
|
+
lineHeight: 18,
|
|
2332
|
+
color: AppColors.primaryBlack,
|
|
2333
|
+
}}>
|
|
2334
|
+
{t('settings.media.screenshotCardTitle', 'Screenshot Capture Settings')}
|
|
2335
|
+
</Text>
|
|
2336
|
+
<Text
|
|
2337
|
+
style={{
|
|
2338
|
+
fontFamily: AppFonts.interRegular,
|
|
2339
|
+
fontSize: 11,
|
|
2340
|
+
lineHeight: 15,
|
|
2341
|
+
color: AppColors.grayText,
|
|
2342
|
+
marginTop: 1,
|
|
2343
|
+
}}>
|
|
2344
|
+
{t('settings.media.screenshotCardDesc', 'Image encoding format, compression quality and overlay auto-hide')}
|
|
2345
|
+
</Text>
|
|
2346
|
+
</View>
|
|
2347
|
+
</View>
|
|
2348
|
+
|
|
2349
|
+
{renderSettingRow({
|
|
2350
|
+
icon: <ImageIcon color={AppColors.purple} size={16} />,
|
|
2351
|
+
label: t('settings.media.imageFormat', 'Image Format'),
|
|
2352
|
+
description: t('settings.media.imageFormatDesc', 'Export formats (PNG lossless, JPEG lossy, WebP)'),
|
|
2353
|
+
right: (
|
|
2354
|
+
<View style={{flexDirection: 'row', gap: 4}}>
|
|
2355
|
+
{['PNG', 'JPEG', 'WEBP'].map(fmt => (
|
|
2356
|
+
<View
|
|
2357
|
+
key={fmt}
|
|
2358
|
+
style={{
|
|
2359
|
+
paddingHorizontal: 8,
|
|
2360
|
+
paddingVertical: 4,
|
|
2361
|
+
borderRadius: 6,
|
|
2362
|
+
backgroundColor: fmt === 'PNG' ? AppColors.purple : `${AppColors.purple}1A`,
|
|
2363
|
+
}}>
|
|
2364
|
+
<Text
|
|
2365
|
+
style={{
|
|
2366
|
+
fontFamily: AppFonts.interBold,
|
|
2367
|
+
fontSize: 10,
|
|
2368
|
+
color: fmt === 'PNG' ? AppColors.white : AppColors.purple,
|
|
2369
|
+
}}>
|
|
2370
|
+
{fmt}
|
|
2371
|
+
</Text>
|
|
2372
|
+
</View>
|
|
2373
|
+
))}
|
|
2374
|
+
</View>
|
|
2375
|
+
),
|
|
2376
|
+
})}
|
|
2377
|
+
|
|
2378
|
+
{renderSettingRow({
|
|
2379
|
+
icon: <EyeIcon color={AppColors.purple} size={16} />,
|
|
2380
|
+
label: t('settings.media.autoHide', 'Auto-Hide Inspector During Capture'),
|
|
2381
|
+
description: t('settings.media.autoHideDesc', 'Temporarily hides the inspector overlay during screen capture'),
|
|
2382
|
+
isLast: true,
|
|
2383
|
+
right: (
|
|
2384
|
+
<View
|
|
2385
|
+
style={{
|
|
2386
|
+
paddingHorizontal: 8,
|
|
2387
|
+
paddingVertical: 4,
|
|
2388
|
+
borderRadius: 6,
|
|
2389
|
+
backgroundColor: `${AppColors.emerald500}26`,
|
|
2390
|
+
}}>
|
|
2391
|
+
<Text
|
|
2392
|
+
style={{
|
|
2393
|
+
fontFamily: AppFonts.interBold,
|
|
2394
|
+
fontSize: 10,
|
|
2395
|
+
color: AppColors.emerald500,
|
|
2396
|
+
}}>
|
|
2397
|
+
{t('settings.media.enabled', 'ON')}
|
|
2398
|
+
</Text>
|
|
2399
|
+
</View>
|
|
2400
|
+
),
|
|
2401
|
+
})}
|
|
2402
|
+
</View>
|
|
2403
|
+
|
|
2404
|
+
{/* Video & GIF Recording Card */}
|
|
2405
|
+
<View
|
|
2406
|
+
style={{
|
|
2407
|
+
backgroundColor: AppColors.primaryLight,
|
|
2408
|
+
padding: 16,
|
|
2409
|
+
borderRadius: 14,
|
|
2410
|
+
borderWidth: 1,
|
|
2411
|
+
borderColor: AppColors.grayBorderSecondary,
|
|
2412
|
+
gap: 12,
|
|
2413
|
+
}}>
|
|
2414
|
+
<View style={{flexDirection: 'row', alignItems: 'center', gap: 10}}>
|
|
2415
|
+
<View
|
|
2416
|
+
style={{
|
|
2417
|
+
width: 36,
|
|
2418
|
+
height: 36,
|
|
2419
|
+
borderRadius: 10,
|
|
2420
|
+
backgroundColor: AppColors.purpleShade50,
|
|
2421
|
+
alignItems: 'center',
|
|
2422
|
+
justifyContent: 'center',
|
|
2423
|
+
}}>
|
|
2424
|
+
<VideoCameraIcon color={AppColors.purple} size={16} />
|
|
2425
|
+
</View>
|
|
2426
|
+
<View style={{flex: 1}}>
|
|
2427
|
+
<Text
|
|
2428
|
+
style={{
|
|
2429
|
+
fontFamily: AppFonts.interBold,
|
|
2430
|
+
fontSize: 14,
|
|
2431
|
+
lineHeight: 18,
|
|
2432
|
+
color: AppColors.primaryBlack,
|
|
2433
|
+
}}>
|
|
2434
|
+
{t('settings.media.videoCardTitle', 'Video Recording & GIF Conversion')}
|
|
2435
|
+
</Text>
|
|
2436
|
+
<Text
|
|
2437
|
+
style={{
|
|
2438
|
+
fontFamily: AppFonts.interRegular,
|
|
2439
|
+
fontSize: 11,
|
|
2440
|
+
lineHeight: 15,
|
|
2441
|
+
color: AppColors.grayText,
|
|
2442
|
+
marginTop: 1,
|
|
2443
|
+
}}>
|
|
2444
|
+
{t('settings.media.videoCardDesc', 'ReplayKit hardware encoding, frame capture fallback and GIF generation')}
|
|
2445
|
+
</Text>
|
|
2446
|
+
</View>
|
|
2447
|
+
</View>
|
|
2448
|
+
|
|
2449
|
+
{renderSettingRow({
|
|
2450
|
+
icon: <MicrophoneIcon color={AppColors.purple} size={16} />,
|
|
2451
|
+
label: t('settings.media.audioMode', 'Audio Source'),
|
|
2452
|
+
description: t('settings.media.audioModeDesc', 'Record video with muted, app audio, or microphone commentary'),
|
|
2453
|
+
right: (
|
|
2454
|
+
<View style={{flexDirection: 'row', gap: 4}}>
|
|
2455
|
+
{['Muted', 'App', 'Mic'].map((aud, i) => (
|
|
2456
|
+
<View
|
|
2457
|
+
key={aud}
|
|
2458
|
+
style={{
|
|
2459
|
+
paddingHorizontal: 7,
|
|
2460
|
+
paddingVertical: 4,
|
|
2461
|
+
borderRadius: 6,
|
|
2462
|
+
backgroundColor: i === 0 ? AppColors.purple : `${AppColors.purple}1A`,
|
|
2463
|
+
}}>
|
|
2464
|
+
<Text
|
|
2465
|
+
style={{
|
|
2466
|
+
fontFamily: AppFonts.interBold,
|
|
2467
|
+
fontSize: 10,
|
|
2468
|
+
color: i === 0 ? AppColors.white : AppColors.purple,
|
|
2469
|
+
}}>
|
|
2470
|
+
{aud}
|
|
2471
|
+
</Text>
|
|
2472
|
+
</View>
|
|
2473
|
+
))}
|
|
2474
|
+
</View>
|
|
2475
|
+
),
|
|
2476
|
+
})}
|
|
2477
|
+
|
|
2478
|
+
{renderSettingRow({
|
|
2479
|
+
icon: <FilmIcon color={AppColors.purple} size={16} />,
|
|
2480
|
+
label: t('settings.media.frameRate', 'Recording Frame Rate (FPS)'),
|
|
2481
|
+
description: t('settings.media.frameRateDesc', 'Target video smoothness: 15, 24, 30, or 60 FPS'),
|
|
2482
|
+
right: (
|
|
2483
|
+
<View style={{flexDirection: 'row', gap: 4}}>
|
|
2484
|
+
{['15', '24', '30', '60'].map(fps => (
|
|
2485
|
+
<View
|
|
2486
|
+
key={fps}
|
|
2487
|
+
style={{
|
|
2488
|
+
paddingHorizontal: 6,
|
|
2489
|
+
paddingVertical: 4,
|
|
2490
|
+
borderRadius: 6,
|
|
2491
|
+
backgroundColor: fps === '24' ? AppColors.purple : `${AppColors.purple}1A`,
|
|
2492
|
+
}}>
|
|
2493
|
+
<Text
|
|
2494
|
+
style={{
|
|
2495
|
+
fontFamily: AppFonts.interBold,
|
|
2496
|
+
fontSize: 10,
|
|
2497
|
+
color: fps === '24' ? AppColors.white : AppColors.purple,
|
|
2498
|
+
}}>
|
|
2499
|
+
{fps}fps
|
|
2500
|
+
</Text>
|
|
2501
|
+
</View>
|
|
2502
|
+
))}
|
|
2503
|
+
</View>
|
|
2504
|
+
),
|
|
2505
|
+
})}
|
|
2506
|
+
|
|
2507
|
+
{renderSettingRow({
|
|
2508
|
+
icon: <GifIcon color={AppColors.purple} size={16} />,
|
|
2509
|
+
label: t('settings.media.gifAutoOpt', 'Auto GIF Optimization'),
|
|
2510
|
+
description: t('settings.media.gifAutoOptDesc', 'Automatic palette reduction and frame skip for lightweight animated GIFs'),
|
|
2511
|
+
isLast: true,
|
|
2512
|
+
right: (
|
|
2513
|
+
<View
|
|
2514
|
+
style={{
|
|
2515
|
+
paddingHorizontal: 8,
|
|
2516
|
+
paddingVertical: 4,
|
|
2517
|
+
borderRadius: 6,
|
|
2518
|
+
backgroundColor: `${AppColors.emerald500}26`,
|
|
2519
|
+
}}>
|
|
2520
|
+
<Text
|
|
2521
|
+
style={{
|
|
2522
|
+
fontFamily: AppFonts.interBold,
|
|
2523
|
+
fontSize: 10,
|
|
2524
|
+
color: AppColors.emerald500,
|
|
2525
|
+
}}>
|
|
2526
|
+
ON
|
|
2527
|
+
</Text>
|
|
2528
|
+
</View>
|
|
2529
|
+
),
|
|
2530
|
+
})}
|
|
2531
|
+
</View>
|
|
2532
|
+
|
|
2533
|
+
{/* Media Storage Cache Management */}
|
|
2534
|
+
<View
|
|
2535
|
+
style={{
|
|
2536
|
+
backgroundColor: AppColors.primaryLight,
|
|
2537
|
+
borderRadius: 14,
|
|
2538
|
+
borderWidth: 1,
|
|
2539
|
+
borderColor: AppColors.grayBorderSecondary,
|
|
2540
|
+
padding: 16,
|
|
2541
|
+
}}>
|
|
2542
|
+
{renderSettingRow({
|
|
2543
|
+
icon: <TrashIcon color={AppColors.errorColor} size={16} />,
|
|
2544
|
+
label: t('settings.media.purgeAll', 'Purge Captured Media Cache'),
|
|
2545
|
+
description: t('settings.media.purgeAllDesc', 'Delete all local screenshots, screen recordings and converted GIFs'),
|
|
2546
|
+
isLast: true,
|
|
2547
|
+
onPress: () => {
|
|
2548
|
+
Alert.alert(
|
|
2549
|
+
t('settings.media.purgeConfirmTitle', 'Purge Media Storage?'),
|
|
2550
|
+
t('settings.media.purgeConfirmMessage', 'This will permanently delete all captured screenshots and videos from disk.'),
|
|
2551
|
+
[
|
|
2552
|
+
{text: t('common.cancel', 'Cancel'), style: 'cancel'},
|
|
2553
|
+
{
|
|
2554
|
+
text: t('settings.media.purgeCacheBtn', 'Purge All'),
|
|
2555
|
+
style: 'destructive',
|
|
2556
|
+
onPress: async () => {
|
|
2557
|
+
await ScreenCapture.clearAllMedia();
|
|
2558
|
+
showToast(t('settings.media.purgedSuccess', 'Media cache cleared successfully'));
|
|
2559
|
+
},
|
|
2560
|
+
},
|
|
2561
|
+
],
|
|
2562
|
+
);
|
|
2563
|
+
},
|
|
2564
|
+
right: (
|
|
2565
|
+
<View
|
|
2566
|
+
style={{
|
|
2567
|
+
paddingHorizontal: 12,
|
|
2568
|
+
paddingVertical: 6,
|
|
2569
|
+
borderRadius: 8,
|
|
2570
|
+
backgroundColor: `${AppColors.errorColor}14`,
|
|
2571
|
+
borderWidth: 1,
|
|
2572
|
+
borderColor: `${AppColors.errorColor}33`,
|
|
2573
|
+
}}>
|
|
2574
|
+
<Text
|
|
2575
|
+
style={{
|
|
2576
|
+
fontFamily: AppFonts.interBold,
|
|
2577
|
+
fontSize: 11,
|
|
2578
|
+
lineHeight: 14,
|
|
2579
|
+
color: AppColors.errorColor,
|
|
2580
|
+
}}>
|
|
2581
|
+
{t('settings.media.purgeCacheBtn', 'Purge All')}
|
|
2582
|
+
</Text>
|
|
2583
|
+
</View>
|
|
2584
|
+
),
|
|
2585
|
+
})}
|
|
2586
|
+
</View>
|
|
2587
|
+
</View>
|
|
2588
|
+
)}
|
|
2287
2589
|
{settingsActiveSubTab === 'about' && (
|
|
2288
2590
|
<View style={{gap: 14}}>
|
|
2289
2591
|
{/* Header Hero Branding Card */}
|
|
@@ -4221,6 +4523,7 @@ const SettingsPanel = () => {
|
|
|
4221
4523
|
);
|
|
4222
4524
|
}
|
|
4223
4525
|
|
|
4526
|
+
|
|
4224
4527
|
const subPageAnim = useRef(new Animated.Value(0)).current;
|
|
4225
4528
|
useEffect(() => {
|
|
4226
4529
|
if (settingsPage !== 'main') {
|
|
@@ -17,12 +17,12 @@ export const SkeletonPlaceholder = React.memo(function SkeletonPlaceholder({
|
|
|
17
17
|
Animated.timing(shimmerAnim, {
|
|
18
18
|
toValue: 0.85,
|
|
19
19
|
duration: 750,
|
|
20
|
-
useNativeDriver:
|
|
20
|
+
useNativeDriver: false,
|
|
21
21
|
}),
|
|
22
22
|
Animated.timing(shimmerAnim, {
|
|
23
23
|
toValue: 0.35,
|
|
24
24
|
duration: 750,
|
|
25
|
-
useNativeDriver:
|
|
25
|
+
useNativeDriver: false,
|
|
26
26
|
}),
|
|
27
27
|
]),
|
|
28
28
|
);
|
|
@@ -949,7 +949,7 @@ const styles = StyleSheet.create({
|
|
|
949
949
|
borderColor: `${AppColors.grayBorderSecondary}80`,
|
|
950
950
|
},
|
|
951
951
|
valuePreviewText: {
|
|
952
|
-
fontFamily:
|
|
952
|
+
fontFamily: AppFonts.interRegular,
|
|
953
953
|
fontSize: 11,
|
|
954
954
|
color: AppColors.primaryBlack,
|
|
955
955
|
lineHeight: 16,
|
|
@@ -1014,7 +1014,7 @@ const styles = StyleSheet.create({
|
|
|
1014
1014
|
color: AppColors.purple,
|
|
1015
1015
|
},
|
|
1016
1016
|
connectGuideCode: {
|
|
1017
|
-
fontFamily:
|
|
1017
|
+
fontFamily: AppFonts.interRegular,
|
|
1018
1018
|
fontSize: 10,
|
|
1019
1019
|
color: AppColors.grayText,
|
|
1020
1020
|
lineHeight: 15,
|
|
@@ -1079,7 +1079,7 @@ const styles = StyleSheet.create({
|
|
|
1079
1079
|
textAreaInput: {
|
|
1080
1080
|
minHeight: 90,
|
|
1081
1081
|
maxHeight: 160,
|
|
1082
|
-
fontFamily:
|
|
1082
|
+
fontFamily: AppFonts.interRegular,
|
|
1083
1083
|
fontSize: 11,
|
|
1084
1084
|
},
|
|
1085
1085
|
typeSelectorStrip: {
|
|
@@ -148,14 +148,11 @@ const TabBar = React.memo(() => {
|
|
|
148
148
|
: tab.key === 'crash' && tab.count > 0
|
|
149
149
|
? AppColors.errorColor
|
|
150
150
|
: AppColors.grayText;
|
|
151
|
-
const countLabel =
|
|
152
|
-
tab.count > 9 ? '9+' : String(tab.count);
|
|
151
|
+
const countLabel = tab.count > 9 ? '9+' : String(tab.count);
|
|
153
152
|
const hasUnreadApis =
|
|
154
|
-
activeTab !== 'apis' &&
|
|
155
|
-
logs.length > lastReadApisCount;
|
|
153
|
+
activeTab !== 'apis' && logs.length > lastReadApisCount;
|
|
156
154
|
const hasUnreadLogs =
|
|
157
|
-
activeTab !== 'logs' &&
|
|
158
|
-
consoleLogs.length > lastReadLogsCount;
|
|
155
|
+
activeTab !== 'logs' && consoleLogs.length > lastReadLogsCount;
|
|
159
156
|
const hasUnreadCrashes =
|
|
160
157
|
activeTab !== 'crash' &&
|
|
161
158
|
(crashRecords?.length || 0) > (lastReadCrashesCount || 0);
|
|
@@ -236,16 +233,14 @@ const TabBar = React.memo(() => {
|
|
|
236
233
|
ellipsizeMode="tail"
|
|
237
234
|
style={[
|
|
238
235
|
styles.contentTabButtonText,
|
|
239
|
-
isActive &&
|
|
240
|
-
styles.contentTabButtonTextActive,
|
|
236
|
+
isActive && styles.contentTabButtonTextActive,
|
|
241
237
|
]}>
|
|
242
|
-
{tab.label}{
|
|
243
|
-
{tab.count > 0 ? `(${countLabel})` : ''}
|
|
238
|
+
{tab.label} {tab.count > 0 ? `(${countLabel})` : ''}
|
|
244
239
|
</Text>
|
|
245
240
|
{((tab.key === 'apis' && hasUnreadApis) ||
|
|
246
241
|
(tab.key === 'logs' && hasUnreadLogs) ||
|
|
247
242
|
(tab.key === 'crash' && hasUnreadCrashes)) && (
|
|
248
|
-
<
|
|
243
|
+
<View
|
|
249
244
|
style={{
|
|
250
245
|
width: 6,
|
|
251
246
|
height: 6,
|
|
@@ -253,7 +248,6 @@ const TabBar = React.memo(() => {
|
|
|
253
248
|
backgroundColor: AppColors.errorColor,
|
|
254
249
|
marginLeft: 4,
|
|
255
250
|
alignSelf: 'center',
|
|
256
|
-
transform: [{scale: unreadPulseAnim}],
|
|
257
251
|
}}
|
|
258
252
|
/>
|
|
259
253
|
)}
|
|
@@ -15,6 +15,8 @@ import {NpmIcon} from '../NetworkIcons';
|
|
|
15
15
|
import {LIB_VERSION} from '../../constants';
|
|
16
16
|
import {copyToClipboard} from '../../helpers';
|
|
17
17
|
import {showToast} from '../../helpers/toast';
|
|
18
|
+
import {AppFonts} from '../../styles/AppFonts';
|
|
19
|
+
import {AppColors} from '../../styles/AppColors';
|
|
18
20
|
|
|
19
21
|
// ─── Crisp SVG Icons ─────────────────────────────────────────────────────────
|
|
20
22
|
|
|
@@ -289,15 +291,9 @@ export const UpdateAvailableModal: React.FC<UpdateAvailableModalProps> = ({
|
|
|
289
291
|
);
|
|
290
292
|
};
|
|
291
293
|
|
|
292
|
-
const fontStack =
|
|
293
|
-
|
|
294
|
-
|
|
295
|
-
},
|
|
296
|
-
android: {
|
|
297
|
-
fontFamily: 'sans-serif',
|
|
298
|
-
},
|
|
299
|
-
default: {},
|
|
300
|
-
});
|
|
294
|
+
const fontStack = {
|
|
295
|
+
fontFamily: AppFonts.interRegular,
|
|
296
|
+
};
|
|
301
297
|
|
|
302
298
|
const styles = StyleSheet.create({
|
|
303
299
|
overlay: {
|
|
@@ -499,7 +495,7 @@ const styles = StyleSheet.create({
|
|
|
499
495
|
commandText: {
|
|
500
496
|
flex: 1,
|
|
501
497
|
fontSize: 11,
|
|
502
|
-
fontFamily:
|
|
498
|
+
fontFamily: AppFonts.interRegular,
|
|
503
499
|
color: '#38BDF8',
|
|
504
500
|
},
|
|
505
501
|
copyIconWrapper: {
|
|
@@ -293,89 +293,130 @@ const JsonViewer = React.memo(({
|
|
|
293
293
|
</Text>
|
|
294
294
|
</View>
|
|
295
295
|
) : (
|
|
296
|
-
|
|
297
|
-
|
|
298
|
-
|
|
299
|
-
|
|
300
|
-
|
|
301
|
-
|
|
302
|
-
<ScrollView style={scrollStyle} contentContainerStyle={{flexGrow: 1}}>
|
|
296
|
+
wrap ? (
|
|
297
|
+
fullHeight ? (
|
|
298
|
+
<ScrollView style={{flex: 1}} contentContainerStyle={{flexGrow: 1}}>
|
|
299
|
+
<View style={[styles.codeBlock, {width: '100%'}]}>{tree}</View>
|
|
300
|
+
</ScrollView>
|
|
301
|
+
) : (
|
|
303
302
|
<View style={[styles.codeBlock, {width: '100%'}]}>{tree}</View>
|
|
304
|
-
|
|
305
|
-
)
|
|
306
|
-
) : (
|
|
307
|
-
fullHeight ? (
|
|
308
|
-
<ScrollView style={{flex: 1}} contentContainerStyle={{flexGrow: 1}}>
|
|
309
|
-
<View style={styles.codeBlock}>{tree}</View>
|
|
310
|
-
</ScrollView>
|
|
303
|
+
)
|
|
311
304
|
) : (
|
|
312
|
-
|
|
305
|
+
fullHeight ? (
|
|
306
|
+
<ScrollView style={{flex: 1}} contentContainerStyle={{flexGrow: 1}}>
|
|
307
|
+
<ScrollView
|
|
308
|
+
horizontal
|
|
309
|
+
showsHorizontalScrollIndicator={true}
|
|
310
|
+
style={styles.codeBlockScroll}>
|
|
311
|
+
<View style={styles.codeBlock}>{tree}</View>
|
|
312
|
+
</ScrollView>
|
|
313
|
+
</ScrollView>
|
|
314
|
+
) : (
|
|
313
315
|
<ScrollView
|
|
314
316
|
horizontal
|
|
315
317
|
showsHorizontalScrollIndicator={true}
|
|
316
318
|
style={styles.codeBlockScroll}>
|
|
317
319
|
<View style={styles.codeBlock}>{tree}</View>
|
|
318
320
|
</ScrollView>
|
|
319
|
-
|
|
321
|
+
)
|
|
320
322
|
)
|
|
321
323
|
)
|
|
322
|
-
)
|
|
323
324
|
)}
|
|
324
325
|
|
|
325
326
|
{mode === 'raw' && (
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
332
|
-
|
|
333
|
-
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
|
|
337
|
-
|
|
338
|
-
|
|
339
|
-
|
|
340
|
-
|
|
341
|
-
|
|
342
|
-
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
style={{
|
|
348
|
-
marginTop: 10,
|
|
349
|
-
backgroundColor: `${AppColors.brandPurple}15`,
|
|
350
|
-
paddingVertical: 8,
|
|
351
|
-
paddingHorizontal: 12,
|
|
352
|
-
borderRadius: 6,
|
|
353
|
-
alignItems: 'center',
|
|
354
|
-
borderWidth: 1,
|
|
355
|
-
borderColor: `${AppColors.brandPurple}30`,
|
|
356
|
-
}}>
|
|
357
|
-
<Text
|
|
327
|
+
fullHeight ? (
|
|
328
|
+
<ScrollView
|
|
329
|
+
style={{flex: 1}}
|
|
330
|
+
contentContainerStyle={localStyles.rawContainer}
|
|
331
|
+
showsVerticalScrollIndicator={true}>
|
|
332
|
+
<HighlightText
|
|
333
|
+
text={displayRawText}
|
|
334
|
+
search={search}
|
|
335
|
+
detectLinks={rawText.length < 20000}
|
|
336
|
+
style={localStyles.rawPlainText}
|
|
337
|
+
selectable={true}
|
|
338
|
+
highlightStyle={{
|
|
339
|
+
backgroundColor: AppColors.yellowHighlight,
|
|
340
|
+
color: AppColors.primaryBlack,
|
|
341
|
+
borderRadius: 3,
|
|
342
|
+
paddingHorizontal: 2,
|
|
343
|
+
}}
|
|
344
|
+
/>
|
|
345
|
+
{isTruncated && (
|
|
346
|
+
<TouchableOpacity
|
|
347
|
+
onPress={() => setShowFullRaw(true)}
|
|
358
348
|
style={{
|
|
359
|
-
|
|
360
|
-
|
|
361
|
-
|
|
349
|
+
marginTop: 10,
|
|
350
|
+
backgroundColor: `${AppColors.brandPurple}15`,
|
|
351
|
+
paddingVertical: 8,
|
|
352
|
+
paddingHorizontal: 12,
|
|
353
|
+
borderRadius: 6,
|
|
354
|
+
alignItems: 'center',
|
|
355
|
+
borderWidth: 1,
|
|
356
|
+
borderColor: `${AppColors.brandPurple}30`,
|
|
362
357
|
}}>
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
358
|
+
<Text
|
|
359
|
+
style={{
|
|
360
|
+
fontFamily: AppFonts.interBold,
|
|
361
|
+
fontSize: 11,
|
|
362
|
+
color: AppColors.brandPurple,
|
|
363
|
+
}}>
|
|
364
|
+
Showing first 50 KB ({Math.round(rawText.length / 1024)} KB total) · Tap to load full
|
|
365
|
+
</Text>
|
|
366
|
+
</TouchableOpacity>
|
|
367
|
+
)}
|
|
368
|
+
</ScrollView>
|
|
369
|
+
) : (
|
|
370
|
+
<View style={localStyles.rawContainer}>
|
|
371
|
+
<HighlightText
|
|
372
|
+
text={displayRawText}
|
|
373
|
+
search={search}
|
|
374
|
+
detectLinks={rawText.length < 20000}
|
|
375
|
+
style={localStyles.rawPlainText}
|
|
376
|
+
selectable={true}
|
|
377
|
+
highlightStyle={{
|
|
378
|
+
backgroundColor: AppColors.yellowHighlight,
|
|
379
|
+
color: AppColors.primaryBlack,
|
|
380
|
+
borderRadius: 3,
|
|
381
|
+
paddingHorizontal: 2,
|
|
382
|
+
}}
|
|
383
|
+
/>
|
|
384
|
+
{isTruncated && (
|
|
385
|
+
<TouchableOpacity
|
|
386
|
+
onPress={() => setShowFullRaw(true)}
|
|
387
|
+
style={{
|
|
388
|
+
marginTop: 10,
|
|
389
|
+
backgroundColor: `${AppColors.brandPurple}15`,
|
|
390
|
+
paddingVertical: 8,
|
|
391
|
+
paddingHorizontal: 12,
|
|
392
|
+
borderRadius: 6,
|
|
393
|
+
alignItems: 'center',
|
|
394
|
+
borderWidth: 1,
|
|
395
|
+
borderColor: `${AppColors.brandPurple}30`,
|
|
396
|
+
}}>
|
|
397
|
+
<Text
|
|
398
|
+
style={{
|
|
399
|
+
fontFamily: AppFonts.interBold,
|
|
400
|
+
fontSize: 11,
|
|
401
|
+
color: AppColors.brandPurple,
|
|
402
|
+
}}>
|
|
403
|
+
Showing first 50 KB ({Math.round(rawText.length / 1024)} KB total) · Tap to load full
|
|
404
|
+
</Text>
|
|
405
|
+
</TouchableOpacity>
|
|
406
|
+
)}
|
|
407
|
+
</View>
|
|
408
|
+
)
|
|
368
409
|
)}
|
|
369
410
|
|
|
370
411
|
{mode === 'table' && (
|
|
371
412
|
fullHeight ? (
|
|
372
|
-
<ScrollView style={
|
|
413
|
+
<ScrollView style={{flex: 1}}>
|
|
373
414
|
{renderTableMode()}
|
|
374
415
|
</ScrollView>
|
|
375
416
|
) : (
|
|
376
|
-
<
|
|
417
|
+
<View style={localStyles.tableView}>
|
|
377
418
|
{renderTableMode()}
|
|
378
|
-
</
|
|
419
|
+
</View>
|
|
379
420
|
)
|
|
380
421
|
)}
|
|
381
422
|
</View>
|