react-native-inapp-inspector 2.5.1 → 2.5.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (308) hide show
  1. package/README.ar.md +151 -53
  2. package/README.de.md +150 -52
  3. package/README.es.md +139 -42
  4. package/README.fr.md +151 -53
  5. package/README.hi.md +141 -43
  6. package/README.ja.md +150 -69
  7. package/README.ko.md +153 -55
  8. package/README.md +73 -14
  9. package/README.pt-BR.md +152 -54
  10. package/README.ru.md +153 -55
  11. package/README.zh-CN.md +95 -219
  12. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  13. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  14. package/android/.gradle/buildOutputCleanup/cache.properties +1 -1
  15. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/results.bin +1 -0
  16. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  17. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  18. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  19. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  20. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  21. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$activityEventListener$1.dex +0 -0
  22. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  23. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.dex +0 -0
  24. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  25. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.dex +0 -0
  26. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  27. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  28. package/android/build/.transforms/ad628164ecef2a7cc593f0fd2f4050ce/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  29. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/results.bin +1 -0
  30. package/android/build/.transforms/c93e459e24d856bde563ebb048265732/transformed/classes/classes_dex/classes.dex +0 -0
  31. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +10 -0
  32. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +160 -0
  33. package/android/build/generated/source/codegen/jni/CMakeLists.txt +28 -0
  34. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +212 -0
  35. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +31 -0
  36. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +22 -0
  37. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +24 -0
  38. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +16 -0
  39. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +17 -0
  40. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +19 -0
  41. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +18 -0
  42. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +300 -0
  43. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +17 -0
  44. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +23 -0
  45. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +16 -0
  46. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +20 -0
  47. package/android/build/generated/source/codegen/schema.json +1 -0
  48. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +7 -0
  49. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +18 -0
  50. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +6 -0
  51. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +1 -0
  52. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  53. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  54. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  55. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  56. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  57. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  58. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  59. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  60. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  61. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  62. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  63. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +2 -0
  64. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +7 -0
  65. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +7 -0
  66. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +1 -0
  67. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +1 -0
  68. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  69. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  70. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  71. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  72. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  73. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  74. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  75. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  76. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  77. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  78. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  79. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  80. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  81. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  82. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +1 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  131. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  132. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  133. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  134. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  135. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  136. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  137. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  138. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  139. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  140. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  141. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  142. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  143. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  144. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  145. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  146. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  147. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  148. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  149. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  150. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  151. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  152. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  153. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  154. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  155. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  156. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  157. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  158. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  159. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  160. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  161. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  162. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  163. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  164. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  165. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  166. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  167. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  168. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  169. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  170. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  171. package/android/build/outputs/logs/manifest-merger-debug-report.txt +17 -0
  172. package/android/build/reports/problems/problems-report.html +659 -0
  173. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  174. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  175. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  176. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  177. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  178. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$activityEventListener$1.class +0 -0
  179. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  180. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$getCapturedMedia$lambda$57$$inlined$sortedByDescending$1.class +0 -0
  181. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  182. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$startVideoRecording$2$1.class +0 -0
  183. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  184. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  185. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +154 -9
  186. package/dist/commonjs/capture.d.ts +5 -2
  187. package/dist/commonjs/capture.js +1 -1
  188. package/dist/commonjs/components/CountryFlag.d.ts +10 -0
  189. package/dist/commonjs/components/CountryFlag.js +140 -0
  190. package/dist/commonjs/components/EmptyState.js +6 -6
  191. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +36 -36
  192. package/dist/commonjs/components/Inspector/FabLauncher.js +12 -12
  193. package/dist/commonjs/components/Inspector/FloatingCaptureWidget.js +23 -23
  194. package/dist/commonjs/components/Inspector/GlobalCrashScreenModal.js +24 -24
  195. package/dist/commonjs/components/Inspector/InspectorHeader.js +40 -42
  196. package/dist/commonjs/components/Inspector/LanguageSelectorModal.js +23 -18
  197. package/dist/commonjs/components/Inspector/MainScreen.js +17 -17
  198. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +52 -34
  199. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +20 -18
  200. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +742 -304
  201. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +21 -21
  202. package/dist/commonjs/components/Inspector/SecondaryTelemetryStrip.js +6 -6
  203. package/dist/commonjs/components/Inspector/SocketFilterModal.js +12 -12
  204. package/dist/commonjs/components/Inspector/TabBar.js +3 -3
  205. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +2 -2
  206. package/dist/commonjs/components/MetaAccordion.js +17 -17
  207. package/dist/commonjs/components/ModuleErrorBoundary.js +4 -4
  208. package/dist/commonjs/components/NetworkIcons.d.ts +19 -0
  209. package/dist/commonjs/components/NetworkIcons.js +87 -3
  210. package/dist/commonjs/components/SourcePageCard.js +9 -9
  211. package/dist/commonjs/constants/version.d.ts +1 -1
  212. package/dist/commonjs/constants/version.js +1 -1
  213. package/dist/commonjs/i18n/locales/ar.json +1 -1
  214. package/dist/commonjs/i18n/locales/bn.json +1 -1
  215. package/dist/commonjs/i18n/locales/de.json +1 -1
  216. package/dist/commonjs/i18n/locales/en.json +1 -1
  217. package/dist/commonjs/i18n/locales/es.json +1 -1
  218. package/dist/commonjs/i18n/locales/fr.json +1 -1
  219. package/dist/commonjs/i18n/locales/gu.json +1 -1
  220. package/dist/commonjs/i18n/locales/hi.json +1 -1
  221. package/dist/commonjs/i18n/locales/id.json +1 -1
  222. package/dist/commonjs/i18n/locales/it.json +1 -1
  223. package/dist/commonjs/i18n/locales/ja.json +1 -1
  224. package/dist/commonjs/i18n/locales/kn.json +1 -1
  225. package/dist/commonjs/i18n/locales/ko.json +1 -1
  226. package/dist/commonjs/i18n/locales/ml.json +1 -1
  227. package/dist/commonjs/i18n/locales/mr.json +1 -1
  228. package/dist/commonjs/i18n/locales/nl.json +1 -1
  229. package/dist/commonjs/i18n/locales/pa.json +1 -1
  230. package/dist/commonjs/i18n/locales/pl.json +1 -1
  231. package/dist/commonjs/i18n/locales/pt.json +1 -1
  232. package/dist/commonjs/i18n/locales/ru.json +1 -1
  233. package/dist/commonjs/i18n/locales/ta.json +1 -1
  234. package/dist/commonjs/i18n/locales/te.json +1 -1
  235. package/dist/commonjs/i18n/locales/tr.json +1 -1
  236. package/dist/commonjs/i18n/locales/vi.json +1 -1
  237. package/dist/commonjs/i18n/locales/zh.json +1 -1
  238. package/dist/commonjs/index.js +1 -1
  239. package/dist/commonjs/native/NativeInspector.d.ts +4 -0
  240. package/dist/commonjs/native/NativeInspector.js +1 -1
  241. package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
  242. package/dist/commonjs/styles/AppColors.d.ts +76 -0
  243. package/dist/commonjs/styles/AppColors.js +1 -1
  244. package/dist/commonjs/types/interfaces.d.ts +2 -0
  245. package/dist/esm/capture.d.ts +5 -2
  246. package/dist/esm/capture.js +1 -1
  247. package/dist/esm/components/CountryFlag.d.ts +10 -0
  248. package/dist/esm/components/CountryFlag.js +140 -0
  249. package/dist/esm/components/EmptyState.js +13 -13
  250. package/dist/esm/components/Inspector/DeviceInfoTab.js +176 -176
  251. package/dist/esm/components/Inspector/FabLauncher.js +37 -37
  252. package/dist/esm/components/Inspector/FloatingCaptureWidget.js +27 -27
  253. package/dist/esm/components/Inspector/GlobalCrashScreenModal.js +9 -9
  254. package/dist/esm/components/Inspector/InspectorHeader.js +43 -45
  255. package/dist/esm/components/Inspector/LanguageSelectorModal.js +107 -102
  256. package/dist/esm/components/Inspector/MainScreen.js +52 -52
  257. package/dist/esm/components/Inspector/MediaGalleryTab.js +100 -82
  258. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +20 -18
  259. package/dist/esm/components/Inspector/MediaPreviewModal.js +764 -326
  260. package/dist/esm/components/Inspector/NetworkFilterModal.js +37 -37
  261. package/dist/esm/components/Inspector/SecondaryTelemetryStrip.js +20 -20
  262. package/dist/esm/components/Inspector/SocketFilterModal.js +32 -32
  263. package/dist/esm/components/Inspector/TabBar.js +12 -12
  264. package/dist/esm/components/Inspector/UpdateAvailableModal.js +11 -11
  265. package/dist/esm/components/MetaAccordion.js +24 -24
  266. package/dist/esm/components/ModuleErrorBoundary.js +20 -20
  267. package/dist/esm/components/NetworkIcons.d.ts +19 -0
  268. package/dist/esm/components/NetworkIcons.js +89 -5
  269. package/dist/esm/components/SourcePageCard.js +21 -21
  270. package/dist/esm/constants/version.d.ts +1 -1
  271. package/dist/esm/constants/version.js +1 -1
  272. package/dist/esm/i18n/locales/ar.json +1 -1
  273. package/dist/esm/i18n/locales/bn.json +1 -1
  274. package/dist/esm/i18n/locales/de.json +1 -1
  275. package/dist/esm/i18n/locales/en.json +1 -1
  276. package/dist/esm/i18n/locales/es.json +1 -1
  277. package/dist/esm/i18n/locales/fr.json +1 -1
  278. package/dist/esm/i18n/locales/gu.json +1 -1
  279. package/dist/esm/i18n/locales/hi.json +1 -1
  280. package/dist/esm/i18n/locales/id.json +1 -1
  281. package/dist/esm/i18n/locales/it.json +1 -1
  282. package/dist/esm/i18n/locales/ja.json +1 -1
  283. package/dist/esm/i18n/locales/kn.json +1 -1
  284. package/dist/esm/i18n/locales/ko.json +1 -1
  285. package/dist/esm/i18n/locales/ml.json +1 -1
  286. package/dist/esm/i18n/locales/mr.json +1 -1
  287. package/dist/esm/i18n/locales/nl.json +1 -1
  288. package/dist/esm/i18n/locales/pa.json +1 -1
  289. package/dist/esm/i18n/locales/pl.json +1 -1
  290. package/dist/esm/i18n/locales/pt.json +1 -1
  291. package/dist/esm/i18n/locales/ru.json +1 -1
  292. package/dist/esm/i18n/locales/ta.json +1 -1
  293. package/dist/esm/i18n/locales/te.json +1 -1
  294. package/dist/esm/i18n/locales/tr.json +1 -1
  295. package/dist/esm/i18n/locales/vi.json +1 -1
  296. package/dist/esm/i18n/locales/zh.json +1 -1
  297. package/dist/esm/index.js +3 -3
  298. package/dist/esm/native/NativeInspector.d.ts +4 -0
  299. package/dist/esm/native/NativeInspector.js +1 -1
  300. package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
  301. package/dist/esm/styles/AppColors.d.ts +76 -0
  302. package/dist/esm/styles/AppColors.js +1 -1
  303. package/dist/esm/types/interfaces.d.ts +2 -0
  304. package/ios/NetworkInspectorModule.mm +487 -224
  305. package/package.json +1 -1
  306. package/react-native-inapp-inspector.podspec +1 -1
  307. package/src/native/NativeInspector.ts +22 -0
  308. package/src/native/NativeNetworkInspector.ts +1 -1
@@ -1,81 +1,81 @@
1
- import{useCallback as E,useEffect as G,useRef as d,useState as I}from"react";import{Animated as s,PanResponder as ae,Platform as b,StyleSheet as $e,Text as V,TouchableOpacity as We,useWindowDimensions as ke,View as S}from"react-native";import Ne from"react-native-linear-gradient";import{useInspector as _e}from"./InspectorContext";import F from"../TouchableScale";import Se from"../AppHeaderLogo";import{AndroidIcon as He,AppleIcon as Ye,ScreenshotCaptureIcon as Ge,ScreenRecordIcon as Xe,CloseWhite as Re,MaximizeIcon as Ze,NpmIcon as Ue}from"../NetworkIcons";import{ScreenCapture as P}from"../../capture";import{triggerNativeHaptic as u}from"../../native/NativeInspector";import{showToast as f}from"../../helpers/toast";import{getAppName as Je,getAppVersionAndBuild as Ke}from"../../helpers";import{LIB_VERSION as Qe}from"../../constants";import{AppColors as r}from"../../styles/AppColors";import{AppFonts as $}from"../../styles/AppFonts";import Ce from"../../styles";import{useTranslation as et}from"../../i18n";import{MediaPreviewModal as St}from"./MediaPreviewModal";const vt=()=>{const{setVisible:D,isMinimized:Te,setIsMinimized:W,dismissInspector:Ie,appIcon:K,fabPan:a,fabPanResponder:xt,fabDraggedRef:k,pulseAnim:Ve,fabShineAnim:Rt,refreshMediaCount:v,captureFps:Q,captureScale:ee,captureBitrate:X,captureMaxDurationSeconds:te,captureAudioMode:re}=_e(),{width:M,height:x}=ke(),{t:o}=et(),[Pe]=I(()=>Ke().formatted),[m,N]=I(!1),[De,Z]=I(0),R=d(null),[ie,O]=I(null),[Me,j]=I(!1),[q,z]=I(!1),p=d(!1),B=d(new s.Value(0)).current,_=d(new s.Value(1)).current,C=d({x:0,y:0});G(()=>{const e=a.x.addListener(n=>C.current.x=n.value),t=a.y.addListener(n=>C.current.y=n.value);return()=>{a.x.removeListener(e),a.y.removeListener(t)}},[a]);const l=68,H=8,Oe=E(()=>{const e=C.current.x,t=C.current.y,n=20,A=180,g=M-n-l/2+e,Y=x-A-l/2+t;let U=e,J=t,L=!1;g<H+l/2?(U=e+(H+l/2-g),L=!0):g>M-H-l/2&&(U=e-(g-(M-H-l/2)),L=!0);const ne=b.OS==="ios"?60:40,se=b.OS==="ios"?40:24;Y<ne+l/2?(J=t+(ne+l/2-Y),L=!0):Y>x-se-l/2&&(J=t-(Y-(x-se-l/2)),L=!0),L&&s.spring(a,{toValue:{x:U,y:J},useNativeDriver:!1,tension:80,friction:8}).start()},[a,M,x]),ze=d(ae.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{k.current=!0,a.setOffset({x:C.current.x,y:C.current.y}),a.setValue({x:0,y:0}),p.current=!1,z(!1),j(!0),_.setValue(1),s.spring(B,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{a.setValue({x:t.dx,y:t.dy});const n=t.moveY,A=t.moveX,g=n>x-140&&Math.abs(A-M/2)<85;g&&!p.current?(p.current=!0,z(!0),u("medium"),s.spring(_,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!g&&p.current&&(p.current=!1,z(!1),s.spring(_,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=p.current;a.flattenOffset(),s.timing(B,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{j(!1),z(!1),p.current=!1}),e?(u("heavy"),Ie(),f(o("common.inspectorDismissed","In-App Inspector closed for this session"))):Oe(),setTimeout(()=>{k.current=!1},100)},onPanResponderTerminate:()=>{a.flattenOffset(),k.current=!1,s.timing(B,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{j(!1),z(!1),p.current=!1})}})).current,c=d(new s.ValueXY({x:0,y:0})).current,T=d({x:0,y:0});G(()=>{const e=c.x.addListener(n=>T.current.x=n.value),t=c.y.addListener(n=>T.current.y=n.value);return()=>{c.x.removeListener(e),c.y.removeListener(t)}},[c]);const h=d(!1),Be=d(ae.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,c.setOffset({x:T.current.x,y:T.current.y}),c.setValue({x:0,y:0})},onPanResponderMove:s.event([null,{dx:c.x,dy:c.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{c.flattenOffset();const e=T.current.y,t=-(x-(b.OS==="ios"?34:18)-70),n=b.OS==="ios"?34:18;if(e<t||e>n){const A=Math.max(t,Math.min(n,e));s.spring(c,{toValue:{x:T.current.x,y:A},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{c.flattenOffset(),h.current=!1}})).current;G(()=>{P.isRecording().then(e=>{N(!!e)}).catch(()=>{})},[]),G(()=>(m?(Z(0),R.current=setInterval(()=>{Z(e=>e+1)},1e3)):(R.current&&(clearInterval(R.current),R.current=null),Z(0)),()=>{R.current&&clearInterval(R.current)}),[m]);const Ae=E(async()=>{if(!h.current)try{u("light");const e=await P.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){u("success");const t={id:`screenshot_${e.timestamp}.png`,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`screenshot_${e.timestamp}.png`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};O(t),v?.().catch(()=>{}),f(o("header.screenshotCaptured","Screenshot captured"))}else f(o("header.screenshotFailed","Failed to capture screenshot"))}catch{f(o("header.screenshotError","Error capturing screenshot"))}},[v,o]),Le=E(async()=>{if(!h.current)try{if(m){u("medium");const e=await P.stopRecording();if(N(!1),e){u("success");const t={id:`video_${e.timestamp}.${e.format}`,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`video_${e.timestamp}.${e.format}`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};O(t),v?.().catch(()=>{}),f(o("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else u("medium"),await P.startRecording({fps:Q,scale:ee,audioSource:re,bitrate:X>0?X:void 0,maxDurationSeconds:te})?(N(!0),f(o("header.recordingStarted","Recording started"))):f(o("header.recordingStartFailed","Failed to start recording"))}catch{f(o("header.recordingError","Error during screen recording")),N(!1)}},[m,Q,ee,X,te,re,v,o]),oe=E(()=>{h.current||(u("light"),W?.(!1),D(!0))},[W,D]),Ee=E(()=>{h.current||(u("light"),W?.(!1),D(!1))},[W,D]),Fe=e=>{const t=Math.floor(e/60),n=e%60;return`${t}:${n<10?"0":""}${n}`};return<>
1
+ import{useCallback as L,useEffect as X,useRef as d,useState as E}from"react";import{Animated as s,PanResponder as ce,Platform as b,StyleSheet as We,Text as I,TouchableOpacity as Ne,useWindowDimensions as He,View as S}from"react-native";import Ye from"react-native-linear-gradient";import{useInspector as $e}from"./InspectorContext";import F from"../TouchableScale";import Se from"../AppHeaderLogo";import{AndroidIcon as Ge,AppleIcon as Xe,ScreenshotCaptureIcon as Ze,ScreenRecordIcon as _e,CloseWhite as Re,MaximizeIcon as Ue,NpmIcon as Je}from"../NetworkIcons";import{ScreenCapture as V,generateCaptureId as K}from"../../capture";import{triggerNativeHaptic as u}from"../../native/NativeInspector";import{showToast as m}from"../../helpers/toast";import{getAppName as Ke,getAppVersionAndBuild as Qe}from"../../helpers";import{LIB_VERSION as et}from"../../constants";import{AppColors as o}from"../../styles/AppColors";import{AppFonts as W}from"../../styles/AppFonts";import Ce from"../../styles";import{useTranslation as tt}from"../../i18n";import{MediaPreviewModal as St}from"./MediaPreviewModal";const vt=()=>{const{setVisible:P,isMinimized:Te,setIsMinimized:k,dismissInspector:Ie,appIcon:Q,fabPan:a,fabPanResponder:xt,fabDraggedRef:N,pulseAnim:Ve,fabShineAnim:Rt,refreshMediaCount:v,captureFps:ee,captureScale:te,captureBitrate:Z,captureMaxDurationSeconds:re,captureAudioMode:oe,previewMediaItem:ie,setPreviewMediaItem:D}=$e(),{width:M,height:x}=He(),{t:n}=tt(),[Pe]=E(()=>Qe().formatted),[p,H]=E(!1),[De,j]=E(0),R=d(null),[Me,_]=E(!1),[q,O]=E(!1),f=d(!1),z=d(new s.Value(0)).current,Y=d(new s.Value(1)).current,C=d({x:0,y:0});X(()=>{const e=a.x.addListener(r=>C.current.x=r.value),t=a.y.addListener(r=>C.current.y=r.value);return()=>{a.x.removeListener(e),a.y.removeListener(t)}},[a]);const l=68,$=8,Oe=L(()=>{const e=C.current.x,t=C.current.y,r=20,B=180,g=M-r-l/2+e,G=x-B-l/2+t;let U=e,J=t,A=!1;g<$+l/2?(U=e+($+l/2-g),A=!0):g>M-$-l/2&&(U=e-(g-(M-$-l/2)),A=!0);const se=b.OS==="ios"?60:40,ae=b.OS==="ios"?40:24;G<se+l/2?(J=t+(se+l/2-G),A=!0):G>x-ae-l/2&&(J=t-(G-(x-ae-l/2)),A=!0),A&&s.spring(a,{toValue:{x:U,y:J},useNativeDriver:!1,tension:80,friction:8}).start()},[a,M,x]),ze=d(ce.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{N.current=!0,a.setOffset({x:C.current.x,y:C.current.y}),a.setValue({x:0,y:0}),f.current=!1,O(!1),_(!0),Y.setValue(1),s.spring(z,{toValue:1,useNativeDriver:!0,tension:80,friction:8}).start()},onPanResponderMove:(e,t)=>{a.setValue({x:t.dx,y:t.dy});const r=t.moveY,B=t.moveX,g=r>x-140&&Math.abs(B-M/2)<85;g&&!f.current?(f.current=!0,O(!0),u("medium"),s.spring(Y,{toValue:1.25,useNativeDriver:!0,tension:100,friction:6}).start()):!g&&f.current&&(f.current=!1,O(!1),s.spring(Y,{toValue:1,useNativeDriver:!0,tension:100,friction:6}).start())},onPanResponderRelease:()=>{const e=f.current;a.flattenOffset(),s.timing(z,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{_(!1),O(!1),f.current=!1}),e?(u("heavy"),Ie(),m(n("common.inspectorDismissed","In-App Inspector closed for this session"))):Oe(),setTimeout(()=>{N.current=!1},100)},onPanResponderTerminate:()=>{a.flattenOffset(),N.current=!1,s.timing(z,{toValue:0,duration:180,useNativeDriver:!0}).start(()=>{_(!1),O(!1),f.current=!1})}})).current,c=d(new s.ValueXY({x:0,y:0})).current,T=d({x:0,y:0});X(()=>{const e=c.x.addListener(r=>T.current.x=r.value),t=c.y.addListener(r=>T.current.y=r.value);return()=>{c.x.removeListener(e),c.y.removeListener(t)}},[c]);const h=d(!1),Be=d(ce.create({onStartShouldSetPanResponder:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{h.current=!0,c.setOffset({x:T.current.x,y:T.current.y}),c.setValue({x:0,y:0})},onPanResponderMove:s.event([null,{dx:c.x,dy:c.y}],{useNativeDriver:!1}),onPanResponderRelease:()=>{c.flattenOffset();const e=T.current.y,t=-(x-(b.OS==="ios"?34:18)-70),r=b.OS==="ios"?34:18;if(e<t||e>r){const B=Math.max(t,Math.min(r,e));s.spring(c,{toValue:{x:T.current.x,y:B},useNativeDriver:!1,tension:80,friction:8}).start()}setTimeout(()=>{h.current=!1},50)},onPanResponderTerminate:()=>{c.flattenOffset(),h.current=!1}})).current;X(()=>{V.isRecording().then(e=>{H(!!e)}).catch(()=>{})},[]),X(()=>(p?(j(0),R.current=setInterval(()=>{j(e=>e+1)},1e3)):(R.current&&(clearInterval(R.current),R.current=null),j(0)),()=>{R.current&&clearInterval(R.current)}),[p]);const Ae=L(async()=>{if(!h.current)try{u("light");const e=await V.takeScreenshot({format:"png",quality:.9,hideInspector:!0});if(e){u("success");const t=K("screenshot",e.format||"png"),r={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};D(r),v?.().catch(()=>{}),m(n("header.screenshotCaptured","Screenshot captured"))}else m(n("header.screenshotFailed","Failed to capture screenshot"))}catch{m(n("header.screenshotError","Error capturing screenshot"))}},[v,n]),Le=L(async()=>{if(!h.current)try{if(p){u("medium");const e=await V.stopRecording();if(H(!1),e){u("success");const t=K("video",e.format),r={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};D(r),v?.().catch(()=>{}),m(n("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else u("medium"),await V.startRecording({fps:ee,scale:te,audioSource:oe,bitrate:Z>0?Z:void 0,maxDurationSeconds:re})?(H(!0),m(n("header.recordingStarted","Recording started"))):m(n("header.recordingStartFailed","Failed to start recording"))}catch{m(n("header.recordingError","Error during screen recording")),H(!1)}},[p,ee,te,Z,re,oe,v,n]),ne=L(()=>{h.current||(u("light"),k?.(!1),P(!0))},[k,P]),Ee=L(()=>{h.current||(u("light"),k?.(!1),P(!1))},[k,P]),Fe=e=>{const t=Math.floor(e/60),r=e%60;return`${t}:${r<10?"0":""}${r}`};return<>
2
2
 
3
3
  {Te?<s.View style={[i.playerContainer,{transform:c.getTranslateTransform()}]}{...Be.panHandlers}>
4
4
 
5
- <Ne colors={[r.indigo600,r.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={i.gradientBg}pointerEvents="none"/>
5
+ <Ye colors={[o.indigo600,o.violet600]}start={{x:0,y:0}}end={{x:1,y:1}}style={i.gradientBg}pointerEvents="none"/>
6
6
 
7
7
 
8
- <We activeOpacity={.75}onPress={oe}style={i.brandSection}accessibilityRole="button"accessibilityLabel={o("mediaGallery.expand","Expand Inspector")}>
9
- <Se size={36}customIcon={K}shape="circle"/>
8
+ <Ne activeOpacity={.75}onPress={ne}style={i.brandSection}accessibilityRole="button"accessibilityLabel={n("mediaGallery.expand","Expand Inspector")}>
9
+ <Se size={36}customIcon={Q}shape="circle"/>
10
10
  <S style={i.titleWrapper}>
11
- <V style={i.appTitle}numberOfLines={1}>
12
- {Je()}
13
- </V>
11
+ <I style={i.appTitle}numberOfLines={1}>
12
+ {Ke()}
13
+ </I>
14
14
  <S style={i.versionRow}>
15
15
 
16
16
  <S style={i.versionChip}>
17
- {b.OS==="ios"?<Ye color={`${r.white}E6`}size={9}/>:<He color={`${r.white}E6`}size={9}/>}
18
- <V style={i.versionChipText}numberOfLines={1}>
17
+ {b.OS==="ios"?<Xe color={`${o.white}E6`}size={9}/>:<Ge color={`${o.white}E6`}size={9}/>}
18
+ <I style={i.versionChipText}numberOfLines={1}>
19
19
  {Pe}
20
- </V>
20
+ </I>
21
21
  </S>
22
22
 
23
23
 
24
24
  <S style={i.versionChip}>
25
- <Ue size={9}color={r.npmRedLight}/>
26
- <V style={i.versionChipText}numberOfLines={1}>
27
- v{Qe}
28
- </V>
25
+ <Je size={9}color={o.npmRedLight}/>
26
+ <I style={i.versionChipText}numberOfLines={1}>
27
+ v{et}
28
+ </I>
29
29
  </S>
30
30
  </S>
31
31
  </S>
32
- </We>
32
+ </Ne>
33
33
 
34
34
 
35
35
  <S style={i.actionsRow}>
36
36
 
37
37
  <F onPress={Ae}hitSlop={{top:6,bottom:6,left:4,right:4}}style={i.actionBtn}>
38
- <Ge size={12}color={r.white}/>
39
- <V style={i.actionText}>
40
- {o("header.photo","Photo")}
41
- </V>
38
+ <Ze size={12}color={o.white}/>
39
+ <I style={i.actionText}>
40
+ {n("header.photo","Photo")}
41
+ </I>
42
42
  </F>
43
43
 
44
44
 
45
- <F onPress={Le}hitSlop={{top:6,bottom:6,left:4,right:4}}style={[i.actionBtn,m&&i.recordingBtnActive]}>
46
- {m?<S style={i.recordingDot}/>:<Xe size={12}color={r.white}/>}
47
- <V style={[i.actionText,m&&{color:r.red300}]}>
48
- {m?`${o("header.rec","REC")} ${Fe(De)}`:o("header.record","Record")}
49
- </V>
45
+ <F onPress={Le}hitSlop={{top:6,bottom:6,left:4,right:4}}style={[i.actionBtn,p&&i.recordingBtnActive]}>
46
+ {p?<S style={i.recordingDot}/>:<_e size={12}color={o.white}/>}
47
+ <I style={[i.actionText,p&&{color:o.red300}]}>
48
+ {p?`${n("header.rec","REC")} ${Fe(De)}`:n("header.record","Record")}
49
+ </I>
50
50
  </F>
51
51
 
52
52
 
53
- <F onPress={oe}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={o("common.expand","Expand")}style={i.actionBtnSquare}>
54
- <Ze size={12}color={r.white}/>
53
+ <F onPress={ne}hitSlop={{top:6,bottom:6,left:4,right:4}}accessibilityRole="button"accessibilityLabel={n("common.expand","Expand")}style={i.actionBtnSquare}>
54
+ <Ue size={12}color={o.white}/>
55
55
  </F>
56
56
 
57
57
 
58
- <F onPress={Ee}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={o("common.close","Close")}style={i.actionBtnSquare}>
59
- <Re size={10}color={r.white}/>
58
+ <F onPress={Ee}hitSlop={{top:6,bottom:6,left:4,right:6}}accessibilityRole="button"accessibilityLabel={n("common.close","Close")}style={i.actionBtnSquare}>
59
+ <Re size={10}color={o.white}/>
60
60
  </F>
61
61
  </S>
62
62
  </s.View>:<s.View style={[Ce.fabWrapper,{transform:a.getTranslateTransform()}]}{...ze.panHandlers}>
63
- <F style={{alignItems:"center",justifyContent:"center"}}onPress={()=>{k.current||(u("light"),D(!0))}}hitSlop={10}>
63
+ <F style={{alignItems:"center",justifyContent:"center"}}onPress={()=>{N.current||(u("light"),P(!0))}}hitSlop={10}>
64
64
  <s.View style={[Ce.fabPulseRing,{transform:[{scale:Ve}]}]}/>
65
- <Se size={68}customIcon={K}shape="circle"/>
65
+ <Se size={68}customIcon={Q}shape="circle"/>
66
66
  </F>
67
67
  </s.View>}
68
68
 
69
69
 
70
- {Me&&<s.View pointerEvents="none"style={[i.dismissTargetContainer,{opacity:B,transform:[{translateY:B.interpolate({inputRange:[0,1],outputRange:[30,0]})},{scale:_}]}]}>
70
+ {Me&&<s.View pointerEvents="none"style={[i.dismissTargetContainer,{opacity:z,transform:[{translateY:z.interpolate({inputRange:[0,1],outputRange:[30,0]})},{scale:Y}]}]}>
71
71
  <S style={[i.dismissTargetCircle,q&&i.dismissTargetCircleActive]}>
72
- <Re size={18}color={r.white}/>
72
+ <Re size={18}color={o.white}/>
73
73
  </S>
74
- <V style={[i.dismissTargetLabel,q&&i.dismissTargetLabelActive]}>
75
- {q?o("common.releaseToHide","Release to hide"):o("common.dragToHide","Drag here to hide")}
76
- </V>
74
+ <I style={[i.dismissTargetLabel,q&&i.dismissTargetLabelActive]}>
75
+ {q?n("common.releaseToHide","Release to hide"):n("common.dragToHide","Drag here to hide")}
76
+ </I>
77
77
  </s.View>}
78
78
 
79
79
 
80
- <St item={ie}visible={!!ie}onClose={()=>O(null)}onDelete={async e=>{await P.deleteMedia(e.uri),v?.().catch(()=>{}),O(null)}}onConvertToGif={async e=>{const t=await P.convertToGif(e.uri,{fps:12,width:480});t&&(v?.().catch(()=>{}),O({id:`anim_${t.timestamp}.gif`,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||`anim_${t.timestamp}.gif`,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs}))}}/>
81
- </>},i=$e.create({dismissTargetContainer:{position:"absolute",bottom:b.OS==="ios"?42:26,left:0,right:0,alignItems:"center",justifyContent:"center",zIndex:999998},dismissTargetCircle:{width:54,height:54,borderRadius:27,backgroundColor:"rgba(23, 23, 37, 0.82)",borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",shadowColor:r.black,shadowOffset:{width:0,height:6},shadowOpacity:.4,shadowRadius:10,elevation:16},dismissTargetCircleActive:{backgroundColor:r.red600,borderColor:r.red300,shadowColor:r.red600,shadowOpacity:.65,shadowRadius:18,transform:[{scale:1.06}]},dismissTargetLabel:{marginTop:6,fontFamily:$.interSemiBold,fontSize:11,color:"rgba(255, 255, 255, 0.85)",textShadowColor:"rgba(0, 0, 0, 0.6)",textShadowOffset:{width:0,height:1},textShadowRadius:3},dismissTargetLabelActive:{color:r.red300,fontFamily:$.interBold},playerContainer:{position:"absolute",bottom:b.OS==="ios"?34:18,left:12,right:12,minHeight:58,flexDirection:"row",alignItems:"center",justifyContent:"space-between",borderRadius:16,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.28)",paddingHorizontal:12,paddingVertical:7,gap:8,zIndex:99999,elevation:25,shadowColor:r.indigo600,shadowOffset:{width:0,height:8},shadowOpacity:.45,shadowRadius:14,overflow:"hidden"},gradientBg:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16},playerShineClip:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16,overflow:"hidden"},playerShineStreak:{position:"absolute",top:-60,width:75,height:200},brandSection:{flexDirection:"row",alignItems:"center",gap:9,flex:1,minWidth:0,paddingVertical:2,overflow:"hidden"},titleWrapper:{flex:1,minWidth:0,justifyContent:"center",gap:2},appTitle:{fontFamily:$.interBold,fontSize:13.5,color:r.white,letterSpacing:-.2},versionRow:{flexDirection:"row",alignItems:"center",gap:4,minWidth:0},versionChip:{flexDirection:"row",alignItems:"center",backgroundColor:`${r.white}1F`,borderRadius:5,paddingHorizontal:5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${r.white}2E`,flexShrink:1,minWidth:0},versionChipText:{fontFamily:$.interMedium,fontSize:8.5,color:`${r.white}EB`,letterSpacing:.1},actionsRow:{flexDirection:"row",alignItems:"center",gap:4.5,flexShrink:0},actionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"rgba(255, 255, 255, 0.22)",paddingHorizontal:8,paddingVertical:5.5,borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},actionBtnSquare:{alignItems:"center",justifyContent:"center",width:27,height:27,backgroundColor:"rgba(255, 255, 255, 0.22)",borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},recordingBtnActive:{backgroundColor:"rgba(239, 68, 68, 0.32)",borderColor:r.red500},recordingDot:{width:6,height:6,borderRadius:3,backgroundColor:r.red500},actionText:{fontFamily:$.interSemiBold,fontSize:10.5,color:r.white}});export default vt;
80
+ <St item={ie}visible={!!ie}onClose={()=>D(null)}onDelete={async e=>{await V.deleteMedia(e.uri),v?.().catch(()=>{}),D(null)}}onConvertToGif={async e=>{const t=await V.convertToGif(e.uri,{fps:12,width:480});if(t){v?.().catch(()=>{});const r=K("anim","gif");D({id:r,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||r,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs})}}}/>
81
+ </>},i=We.create({dismissTargetContainer:{position:"absolute",bottom:b.OS==="ios"?42:26,left:0,right:0,alignItems:"center",justifyContent:"center",zIndex:999998},dismissTargetCircle:{width:54,height:54,borderRadius:27,backgroundColor:"rgba(23, 23, 37, 0.82)",borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",shadowColor:o.black,shadowOffset:{width:0,height:6},shadowOpacity:.4,shadowRadius:10,elevation:16},dismissTargetCircleActive:{backgroundColor:o.red600,borderColor:o.red300,shadowColor:o.red600,shadowOpacity:.65,shadowRadius:18,transform:[{scale:1.06}]},dismissTargetLabel:{marginTop:6,fontFamily:W.interSemiBold,fontSize:11,color:"rgba(255, 255, 255, 0.85)",textShadowColor:"rgba(0, 0, 0, 0.6)",textShadowOffset:{width:0,height:1},textShadowRadius:3},dismissTargetLabelActive:{color:o.red300,fontFamily:W.interBold},playerContainer:{position:"absolute",bottom:b.OS==="ios"?34:18,left:12,right:12,minHeight:58,flexDirection:"row",alignItems:"center",justifyContent:"space-between",borderRadius:16,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.28)",paddingHorizontal:12,paddingVertical:7,gap:8,zIndex:99999,elevation:25,shadowColor:o.indigo600,shadowOffset:{width:0,height:8},shadowOpacity:.45,shadowRadius:14,overflow:"hidden"},gradientBg:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16},playerShineClip:{position:"absolute",top:0,left:0,right:0,bottom:0,borderRadius:16,overflow:"hidden"},playerShineStreak:{position:"absolute",top:-60,width:75,height:200},brandSection:{flexDirection:"row",alignItems:"center",gap:9,flex:1,minWidth:0,paddingVertical:2,overflow:"hidden"},titleWrapper:{flex:1,minWidth:0,justifyContent:"center",gap:2},appTitle:{fontFamily:W.interBold,fontSize:13.5,color:o.white,letterSpacing:-.2},versionRow:{flexDirection:"row",alignItems:"center",gap:4,minWidth:0},versionChip:{flexDirection:"row",alignItems:"center",backgroundColor:`${o.white}1F`,borderRadius:5,paddingHorizontal:5,paddingVertical:1.5,gap:3,borderWidth:1,borderColor:`${o.white}2E`,flexShrink:1,minWidth:0},versionChipText:{fontFamily:W.interMedium,fontSize:8.5,color:`${o.white}EB`,letterSpacing:.1},actionsRow:{flexDirection:"row",alignItems:"center",gap:4.5,flexShrink:0},actionBtn:{flexDirection:"row",alignItems:"center",gap:4,backgroundColor:"rgba(255, 255, 255, 0.22)",paddingHorizontal:8,paddingVertical:5.5,borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},actionBtnSquare:{alignItems:"center",justifyContent:"center",width:27,height:27,backgroundColor:"rgba(255, 255, 255, 0.22)",borderRadius:7,borderWidth:1,borderColor:"rgba(255, 255, 255, 0.32)"},recordingBtnActive:{backgroundColor:"rgba(239, 68, 68, 0.32)",borderColor:o.red500},recordingDot:{width:6,height:6,borderRadius:3,backgroundColor:o.red500},actionText:{fontFamily:W.interSemiBold,fontSize:10.5,color:o.white}});export default vt;
@@ -1,54 +1,54 @@
1
- import{useCallback as Z,useEffect as G,useRef as x,useState as E}from"react";import{Animated as o,Dimensions as Be,PanResponder as De,Platform as _,StyleSheet as ee,Text as W,View as S}from"react-native";import Se from"react-native-linear-gradient";import{useInspector as ze}from"./InspectorContext";import N from"../TouchableScale";import{GripVerticalIcon as Ee,ScreenshotCaptureIcon as Fe,ScreenRecordIcon as $e}from"../NetworkIcons";import{ScreenCapture as V}from"../../capture";import{triggerNativeHaptic as B}from"../../native/NativeInspector";import{showToast as v}from"../../helpers/toast";import{AppColors as s}from"../../styles/AppColors";import{AppFonts as xe}from"../../styles/AppFonts";import{useTranslation as Ae}from"../../i18n";import{MediaPreviewModal as Le}from"./MediaPreviewModal";export const FloatingCaptureWidget=()=>{const{refreshMediaCount:R,captureFps:X,captureScale:Y,captureBitrate:F,captureMaxDurationSeconds:j,captureAudioMode:q,activeTab:ve,settingsPage:Re,peekMode:Oe}=ze(),{t:n}=Ae(),[M,D]=E(!1),[Ie,$]=E(!1),[Ce,A]=E(0),I=x(null),[H,T]=E(null),k=x(new o.Value(1)).current,z=x(new o.Value(0)).current,i=x(new o.ValueXY({x:0,y:0})).current,C=x({x:0,y:0});G(()=>{const e=i.x.addListener(a=>C.current.x=a.value),t=i.y.addListener(a=>C.current.y=a.value);return()=>{i.x.removeListener(e),i.y.removeListener(t)}},[i]);const P=x(!1),Ve=x(De.create({onStartShouldSetPanResponder:()=>!1,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onPanResponderGrant:()=>{P.current=!0,i.setOffset({x:C.current.x,y:C.current.y}),i.setValue({x:0,y:0})},onPanResponderMove:(e,t)=>{i.setValue({x:t.dx,y:t.dy})},onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{i.flattenOffset(),setTimeout(()=>{P.current=!1},150);const{width:e,height:t}=Be.get("window"),a=e/2-30,J=-a,K=20,Q=-(t-120),L=C.current.x,O=C.current.y;if(L<J||L>a||O<Q||O>K){const ke=Math.min(Math.max(L,J),a),Pe=Math.min(Math.max(O,Q),K);o.spring(i,{toValue:{x:ke,y:Pe},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{i.flattenOffset(),P.current=!1}})).current;G(()=>{V.isRecording().then(e=>{D(e)}).catch(()=>{})},[]),G(()=>{let e=null;return M?(A(0),I.current=setInterval(()=>{A(t=>t+1)},1e3),e=o.loop(o.sequence([o.timing(k,{toValue:1.15,duration:500,useNativeDriver:!0}),o.timing(k,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(I.current&&(clearInterval(I.current),I.current=null),A(0),k.setValue(1)),()=>{I.current&&clearInterval(I.current),e&&e.stop()}},[M,k]);const Me=Z(async()=>{if(!P.current)try{B("light"),$(!0),await new Promise(t=>setTimeout(t,60));const e=await V.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if($(!1),o.sequence([o.timing(z,{toValue:.65,duration:70,useNativeDriver:!0}),o.timing(z,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){B("success");const t={id:`screenshot_${e.timestamp}.png`,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`screenshot_${e.timestamp}.png`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};T(t),R?.().catch(()=>{}),v(n("header.screenshotCaptured","Screenshot captured"))}else v(n("header.screenshotFailed","Failed to capture screenshot"))}catch{$(!1),v(n("header.screenshotError","Error capturing screenshot"))}},[R,z,n]),U=Z(async()=>{if(!P.current)try{if(M){B("medium");const e=await V.stopRecording();if(D(!1),e){B("success");const t={id:`video_${e.timestamp}.${e.format}`,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||`video_${e.timestamp}.${e.format}`,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};T(t),R?.().catch(()=>{}),v(n("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else B("medium"),await V.startRecording({fps:X,scale:Y,audioSource:q,bitrate:F>0?F:void 0,maxDurationSeconds:j})?(D(!0),v(n("header.recordingStarted","Recording started"))):v(n("header.recordingStartFailed","Failed to start recording"))}catch{v(n("header.recordingError","Error during screen recording")),D(!1)}},[M,X,Y,F,j,q,R,n]),Te=e=>{const t=Math.floor(e/60),a=e%60;return`${t<10?"0":""}${t}:${a<10?"0":""}${a}`};return ve==="media"||Re==="media"?null:<>
1
+ import{useCallback as Z,useEffect as G,useRef as v,useState as j}from"react";import{Animated as n,Dimensions as Pe,PanResponder as De,Platform as N,StyleSheet as ee,Text as W,View as S}from"react-native";import Se from"react-native-linear-gradient";import{useInspector as Fe}from"./InspectorContext";import $ from"../TouchableScale";import{GripVerticalIcon as Be,ScreenshotCaptureIcon as Le,ScreenRecordIcon as Ae}from"../NetworkIcons";import{ScreenCapture as C,generateCaptureId as q}from"../../capture";import{triggerNativeHaptic as D}from"../../native/NativeInspector";import{showToast as b}from"../../helpers/toast";import{AppColors as i}from"../../styles/AppColors";import{AppFonts as ve}from"../../styles/AppFonts";import{useTranslation as Oe}from"../../i18n";import{MediaPreviewModal as Ee}from"./MediaPreviewModal";export const FloatingCaptureWidget=()=>{const{refreshMediaCount:x,captureFps:X,captureScale:Y,captureBitrate:B,captureMaxDurationSeconds:H,captureAudioMode:U,activeTab:be,settingsPage:xe,peekMode:Ge,previewMediaItem:z,setPreviewMediaItem:T}=Fe(),{t:s}=Oe(),[M,V]=j(!1),[Ie,L]=j(!1),[Re,A]=j(0),I=v(null),k=v(new n.Value(1)).current,F=v(new n.Value(0)).current,a=v(new n.ValueXY({x:0,y:0})).current,R=v({x:0,y:0});G(()=>{const e=a.x.addListener(o=>R.current.x=o.value),t=a.y.addListener(o=>R.current.y=o.value);return()=>{a.x.removeListener(e),a.y.removeListener(t)}},[a]);const P=v(!1),Ce=v(De.create({onStartShouldSetPanResponder:()=>!0,onStartShouldSetPanResponderCapture:()=>!1,onMoveShouldSetPanResponder:(e,t)=>Math.abs(t.dx)>2||Math.abs(t.dy)>2,onMoveShouldSetPanResponderCapture:(e,t)=>Math.abs(t.dx)>4||Math.abs(t.dy)>4,onPanResponderGrant:()=>{P.current=!0,a.setOffset({x:R.current.x,y:R.current.y}),a.setValue({x:0,y:0})},onPanResponderMove:n.event([null,{dx:a.x,dy:a.y}],{useNativeDriver:!1}),onPanResponderTerminationRequest:()=>!1,onShouldBlockNativeResponder:()=>!0,onPanResponderRelease:()=>{a.flattenOffset(),setTimeout(()=>{P.current=!1},100);const{width:e,height:t}=Pe.get("window"),o=e/2-20,J=-o,K=20,Q=-(t-140),O=R.current.x,E=R.current.y;if(O<J||O>o||E<Q||E>K){const Ve=Math.min(Math.max(O,J),o),ke=Math.min(Math.max(E,Q),K);n.spring(a,{toValue:{x:Ve,y:ke},friction:7,tension:50,useNativeDriver:!1}).start()}},onPanResponderTerminate:()=>{a.flattenOffset(),P.current=!1}})).current;G(()=>{C.isRecording().then(e=>{V(e)}).catch(()=>{})},[]),G(()=>{let e=null;return M?(A(0),I.current=setInterval(()=>{A(t=>t+1)},1e3),e=n.loop(n.sequence([n.timing(k,{toValue:1.15,duration:500,useNativeDriver:!0}),n.timing(k,{toValue:1,duration:500,useNativeDriver:!0})])),e.start()):(I.current&&(clearInterval(I.current),I.current=null),A(0),k.setValue(1)),()=>{I.current&&clearInterval(I.current),e&&e.stop()}},[M,k]);const Te=Z(async()=>{if(!P.current)try{D("light"),L(!0),await new Promise(t=>setTimeout(t,60));const e=await C.takeScreenshot({format:"png",quality:.9,hideInspector:!1});if(L(!1),n.sequence([n.timing(F,{toValue:.65,duration:70,useNativeDriver:!0}),n.timing(F,{toValue:0,duration:200,useNativeDriver:!0})]).start(),e){D("success");const t=q("screenshot",e.format||"png"),o={id:t,type:"image",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,width:e.width,height:e.height};T(o),x?.().catch(()=>{}),b(s("header.screenshotCaptured","Screenshot captured"))}else b(s("header.screenshotFailed","Failed to capture screenshot"))}catch{L(!1),b(s("header.screenshotError","Error capturing screenshot"))}},[x,F,s]),_=Z(async()=>{if(!P.current)try{if(M){D("medium");const e=await C.stopRecording();if(V(!1),e){D("success");const t=q("video",e.format),o={id:t,type:e.format==="gif"?"gif":"video",format:e.format,uri:e.uri,filename:e.uri.split("/").pop()||t,sizeBytes:e.sizeBytes,timestamp:e.timestamp,durationMs:e.durationMs,width:e.width,height:e.height,hasAudio:e.hasAudio,thumbnailUri:e.thumbnailUri};T(o),x?.().catch(()=>{}),b(s("header.recordingSaved",{duration:(e.durationMs/1e3).toFixed(1),defaultValue:`Recording saved (${(e.durationMs/1e3).toFixed(1)}s)`}))}}else D("medium"),V(!0),await C.startRecording({fps:X,scale:Y,audioSource:U,bitrate:B>0?B:void 0,maxDurationSeconds:H})?b(s("header.recordingStarted","Recording started")):(V(!1),b(s("header.recordingStartFailed","Failed to start recording")))}catch{b(s("header.recordingError","Error during screen recording")),V(!1)}},[M,X,Y,B,H,U,x,s]),Me=e=>{const t=Math.floor(e/60),o=e%60;return`${t<10?"0":""}${t}:${o<10?"0":""}${o}`};return be==="media"||xe==="media"?null:<>
2
2
 
3
- <o.View pointerEvents="none"style={[r.flashOverlay,{opacity:z}]}/>
3
+ <n.View pointerEvents="none"style={[r.flashOverlay,{opacity:F}]}/>
4
4
 
5
- {!Ie&&<o.View{...Ve.panHandlers}style={[r.container,{transform:[{translateX:i.x},{translateY:i.y}]}]}>
5
+ {!Ie&&!z&&<n.View{...Ce.panHandlers}style={[r.container,{transform:a.getTranslateTransform()}]}>
6
6
 
7
7
  {M?<S style={r.recordingShadowWrapper}>
8
- <N onPress={U}style={r.recordingPillWrapper}>
9
- <Se colors={["#E11D48","#BE123C"]}start={{x:0,y:0}}end={{x:1,y:0}}style={r.recordingPill}>
10
- <o.View style={[r.recordingDot,{transform:[{scale:k}]}]}/>
8
+ <$ onPress={_}style={r.recordingPillWrapper}>
9
+ <Se colors={[i.rose600,i.rose700]}start={{x:0,y:0}}end={{x:1,y:0}}style={r.recordingPill}>
10
+ <n.View style={[r.recordingDot,{transform:[{scale:k}]}]}/>
11
11
  <W style={r.recordingText}>
12
- REC {Te(Ce)}
12
+ REC {Me(Re)}
13
13
  </W>
14
14
  <S style={r.stopIconBadge}>
15
15
  <S style={r.stopIconSquare}/>
16
16
  </S>
17
17
  </Se>
18
- </N>
18
+ </$>
19
19
  </S>:<S style={r.dockShadowWrapper}>
20
- <Se colors={["#0E1326","#1A1E38","#0E1326"]}start={{x:0,y:0}}end={{x:1,y:0}}style={r.dockBar}>
20
+ <Se colors={[i.navy900,i.navy800,i.navy900]}start={{x:0,y:0}}end={{x:1,y:0}}style={r.dockBar}>
21
21
 
22
- <S style={r.dragGripArea}pointerEvents="none">
23
- <Ee size={13}color="rgba(255, 255, 255, 0.45)"/>
24
- </S>
25
-
26
-
27
- <N onPress={Me}style={r.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
28
- <S style={[r.menuItemIconCircle,{backgroundColor:"rgba(56, 189, 248, 0.22)"}]}>
29
- <Fe size={14}color={s.sky400}/>
22
+ <$ onPress={Te}style={r.menuItemBtn}accessible={!0}accessibilityLabel="Take Screenshot">
23
+ <S style={[r.menuItemIconCircle,{backgroundColor:`${i.sky400}38`}]}>
24
+ <Le size={14}color={i.sky400}/>
30
25
  </S>
31
26
  <W style={r.menuItemText}>
32
- {n("header.screenshot","Screenshot")}
27
+ {s("header.screenshot","Screenshot")}
33
28
  </W>
34
- </N>
29
+ </$>
35
30
 
36
31
 
37
32
  <S style={r.dockDivider}/>
38
33
 
39
34
 
40
- <N onPress={U}style={r.menuItemBtn}accessible={!0}accessibilityLabel={n("header.recordScreen","Record Screen")}>
41
- <S style={[r.menuItemIconCircle,{backgroundColor:"rgba(244, 63, 94, 0.24)"}]}>
42
- <$e size={14}color={s.rose400||"#FB7185"}/>
35
+ <$ onPress={_}style={r.menuItemBtn}accessible={!0}accessibilityLabel={s("header.recordScreen","Record Screen")}>
36
+ <S style={[r.menuItemIconCircle,{backgroundColor:`${i.rose500}3D`}]}>
37
+ <Ae size={14}color={i.rose400}/>
43
38
  </S>
44
39
  <W style={r.menuItemText}>
45
- {n("header.record","Record")}
40
+ {s("header.record","Record")}
46
41
  </W>
47
- </N>
42
+ </$>
43
+
44
+
45
+ <S style={r.dragGripArea}>
46
+ <Be size={14}color="rgba(255, 255, 255, 0.55)"/>
47
+ </S>
48
48
  </Se>
49
49
  </S>}
50
- </o.View>}
50
+ </n.View>}
51
51
 
52
52
 
53
- <Le item={H}visible={!!H}onClose={()=>T(null)}onDelete={async e=>{await V.deleteMedia(e.uri),R?.().catch(()=>{}),T(null)}}onConvertToGif={async e=>{const t=await V.convertToGif(e.uri,{fps:12,width:480});t&&(R?.().catch(()=>{}),T({id:`anim_${t.timestamp}.gif`,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||`anim_${t.timestamp}.gif`,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs}))}}/>
54
- </>};const r=ee.create({flashOverlay:{...ee.absoluteFillObject,backgroundColor:s.white,zIndex:999999},container:{position:"absolute",bottom:_.OS==="ios"?22:16,alignSelf:"center",alignItems:"center",justifyContent:"center",zIndex:999999,elevation:999999},dockShadowWrapper:{borderRadius:24,backgroundColor:"#0D1120",..._.select({ios:{shadowColor:s.black,shadowOffset:{width:0,height:6},shadowOpacity:.45,shadowRadius:14},android:{elevation:16}})},dockBar:{flexDirection:"row",alignItems:"center",borderRadius:24,width:272,paddingVertical:0,paddingHorizontal:0,overflow:"hidden"},dragGripArea:{paddingLeft:10,paddingRight:2,paddingVertical:10,alignItems:"center",justifyContent:"center"},dockDivider:{width:1,height:20,backgroundColor:"rgba(255, 255, 255, 0.12)"},menuItemBtn:{flex:1,flexDirection:"row",alignItems:"center",justifyContent:"center",gap:7,paddingVertical:9,paddingHorizontal:10},menuItemIconCircle:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},menuItemText:{fontFamily:xe.interSemiBold,fontSize:12,color:s.white,letterSpacing:.1},recordingShadowWrapper:{borderRadius:20,..._.select({ios:{shadowColor:s.black,shadowOffset:{width:0,height:4},shadowOpacity:.4,shadowRadius:10},android:{elevation:12}})},recordingPillWrapper:{borderRadius:20,overflow:"hidden"},recordingPill:{flexDirection:"row",alignItems:"center",gap:7,paddingVertical:6.5,paddingHorizontal:12,borderRadius:20,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.35)"},recordingDot:{width:7,height:7,borderRadius:3.5,backgroundColor:s.white},recordingText:{fontFamily:xe.interBold,fontSize:11,color:s.white,letterSpacing:.3},stopIconBadge:{width:16,height:16,borderRadius:8,backgroundColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",marginLeft:2},stopIconSquare:{width:5.5,height:5.5,borderRadius:1,backgroundColor:s.white}});export default FloatingCaptureWidget;
53
+ <Ee item={z}visible={!!z}onClose={()=>T(null)}onDelete={async e=>{await C.deleteMedia(e.uri),x?.().catch(()=>{}),T(null)}}onConvertToGif={async e=>{const t=await C.convertToGif(e.uri,{fps:12,width:480});if(t){x?.().catch(()=>{});const o=q("anim","gif");T({id:o,type:"gif",format:"gif",uri:t.uri,filename:t.uri.split("/").pop()||o,sizeBytes:t.sizeBytes,timestamp:t.timestamp,durationMs:t.durationMs})}}}/>
54
+ </>};const r=ee.create({flashOverlay:{...ee.absoluteFillObject,backgroundColor:i.white,zIndex:999999},container:{position:"absolute",bottom:N.OS==="ios"?22:16,alignSelf:"center",alignItems:"center",justifyContent:"center",zIndex:999999,elevation:999999},dockShadowWrapper:{borderRadius:24,backgroundColor:"#0D1120",...N.select({ios:{shadowColor:i.black,shadowOffset:{width:0,height:6},shadowOpacity:.45,shadowRadius:14},android:{elevation:16}})},dockBar:{flexDirection:"row",alignItems:"center",borderRadius:24,overflow:"hidden"},dragGripArea:{paddingLeft:6,paddingRight:12,paddingVertical:10,alignItems:"center",justifyContent:"center"},dockDivider:{width:1,height:18,backgroundColor:"rgba(255, 255, 255, 0.14)"},menuItemBtn:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:7,paddingVertical:8.5,paddingHorizontal:12},menuItemIconCircle:{width:24,height:24,borderRadius:12,alignItems:"center",justifyContent:"center"},menuItemText:{fontFamily:ve.interSemiBold,fontSize:12,color:i.white,letterSpacing:.1},recordingShadowWrapper:{borderRadius:22,alignItems:"center",justifyContent:"center",...N.select({ios:{shadowColor:"#E11D48",shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:12},android:{elevation:14}})},recordingPillWrapper:{borderRadius:22,overflow:"hidden"},recordingPill:{flexDirection:"row",alignItems:"center",justifyContent:"center",gap:8,height:38,paddingHorizontal:14,borderRadius:22,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.45)"},recordingDot:{width:8,height:8,borderRadius:4,backgroundColor:"#FFFFFF"},recordingText:{fontFamily:ve.interBold,fontSize:12,color:i.white,letterSpacing:.4},stopIconBadge:{width:18,height:18,borderRadius:9,backgroundColor:"rgba(255, 255, 255, 0.28)",alignItems:"center",justifyContent:"center",marginLeft:3},stopIconSquare:{width:6,height:6,borderRadius:1.5,backgroundColor:i.white}});export default FloatingCaptureWidget;
@@ -1,4 +1,4 @@
1
- import j,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,View as C,ScrollView as Y,SafeAreaView as K,Platform as X}from"react-native";import E from"react-native-linear-gradient";import F from"../TouchableScale";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{exportCrashReport as Q}from"../../customHooks/crashHandler";import{copyToClipboard as Z}from"../../helpers";import{showToast as _}from"../../helpers/toast";import{useTranslation as ee}from"../../i18n";import{WarningTriangleIcon as Te,CopyIcon as Ce,RefreshCcwIcon as Se,CloseWhite as Be,CircleAlertIcon as Ve,TerminalIcon as Re,CodeBracketsIcon as Ie,RepeatIcon as Fe,ShieldAlertIcon as W,FlameIcon as He,ChipIcon as Le,LayoutIcon as D,HourglassIcon as Ae,JsIcon as Me}from"../NetworkIcons";export const GlobalCrashScreenModal=j.memo(({visible:H,crash:h,onDismiss:L,onOpenInspector:O,onRetry:A})=>{const{t:B}=ee(),M=G(()=>h?Q(h,"markdown"):"",[h]);if(!H||!h)return null;const z=h.isFatal,P=h.type||"js",R=h.parsedStack&&h.parsedStack.length>0?h.parsedStack.find(V=>V.isAppCode)||h.parsedStack[0]:null,N=()=>{M&&(Z(M,B("errors.errorReport","Crash Report")),_(B("common.copied","Copied crash diagnostics to clipboard")))},v=()=>{switch(P){case"native":return<Le size={12}color={e.cyan600}/>;case"render":return<D size={12}color={e.purple400}/>;case"promise":return<Ae size={12}color={e.amber400}/>;default:return<Me size={12}color={e.yellow400}/>}};return<U visible={H}transparent={!1}animationType="fade"statusBarTranslucent={!0}onRequestClose={L}>
1
+ import $,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,View as C,ScrollView as Y,SafeAreaView as K,Platform as X}from"react-native";import E from"react-native-linear-gradient";import F from"../TouchableScale";import{AppColors as e}from"../../styles/AppColors";import{AppFonts as S}from"../../styles/AppFonts";import{exportCrashReport as Q}from"../../customHooks/crashHandler";import{copyToClipboard as Z}from"../../helpers";import{showToast as _}from"../../helpers/toast";import{useTranslation as ee}from"../../i18n";import{WarningTriangleIcon as Te,CopyIcon as Ce,RefreshCcwIcon as Se,CloseWhite as Be,CircleAlertIcon as Ve,TerminalIcon as Re,CodeBracketsIcon as Ie,RepeatIcon as Fe,ShieldAlertIcon as W,FlameIcon as He,ChipIcon as Le,LayoutIcon as D,HourglassIcon as Ae,JsIcon as Me}from"../NetworkIcons";export const GlobalCrashScreenModal=$.memo(({visible:H,crash:h,onDismiss:L,onOpenInspector:O,onRetry:A})=>{const{t:B}=ee(),M=G(()=>h?Q(h,"markdown"):"",[h]);if(!H||!h)return null;const z=h.isFatal,P=h.type||"js",R=h.parsedStack&&h.parsedStack.length>0?h.parsedStack.find(V=>V.isAppCode)||h.parsedStack[0]:null,N=()=>{M&&(Z(M,B("errors.errorReport","Crash Report")),_(B("common.copied","Copied crash diagnostics to clipboard")))},v=()=>{switch(P){case"native":return<Le size={12}color={e.cyan600}/>;case"render":return<D size={12}color={e.purple400}/>;case"promise":return<Ae size={12}color={e.amber400}/>;default:return<Me size={12}color={e.yellow400}/>}};return<U visible={H}transparent={!1}animationType="fade"statusBarTranslucent={!0}onRequestClose={L}>
2
2
  <K style={t.safeArea}>
3
3
  <C style={t.container}>
4
4
 
@@ -120,7 +120,7 @@ import j,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,V
120
120
  </T>
121
121
  </C>
122
122
  {V.isAppCode&&<C style={t.appTag}>
123
- <T style={t.appTagText}>APP</T>
123
+ <T style={t.appTagText}>{B("modals.appTag","APP")}</T>
124
124
  </C>}
125
125
  </C>)}
126
126
  </C>}
@@ -150,7 +150,7 @@ import j,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,V
150
150
  </T>
151
151
  </C>
152
152
 
153
- {h.breadcrumbs.slice(0,6).map((V,I)=>{const $=new Date(V.timestamp).toLocaleTimeString();return<C key={I}style={t.breadcrumbItem}>
153
+ {h.breadcrumbs.slice(0,6).map((V,I)=>{const j=new Date(V.timestamp).toLocaleTimeString();return<C key={I}style={t.breadcrumbItem}>
154
154
  <C style={t.breadcrumbTag}>
155
155
  <T style={t.breadcrumbTagText}>
156
156
  {V.type.toUpperCase()}
@@ -159,7 +159,7 @@ import j,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,V
159
159
  <T style={t.breadcrumbMsg}numberOfLines={2}>
160
160
  {V.message}
161
161
  </T>
162
- <T style={t.breadcrumbTime}>{$}</T>
162
+ <T style={t.breadcrumbTime}>{j}</T>
163
163
  </C>})}
164
164
  </C>}
165
165
 
@@ -170,32 +170,32 @@ import j,{useMemo as G}from"react";import{Modal as U,StyleSheet as J,Text as T,V
170
170
  </T>
171
171
  <C style={t.telemetryGrid}>
172
172
  <C style={t.telemetryPill}>
173
- <T style={t.telemetryLabel}>OS</T>
173
+ <T style={t.telemetryLabel}>{B("modals.os","OS")}</T>
174
174
  <T style={t.telemetryValue}>
175
175
  {h.deviceInfo.platform?.toUpperCase()}{" "}
176
176
  {h.deviceInfo.osVersion}
177
177
  </T>
178
178
  </C>
179
179
  <C style={t.telemetryPill}>
180
- <T style={t.telemetryLabel}>RN Version</T>
180
+ <T style={t.telemetryLabel}>{B("modals.rnVersion","RN Version")}</T>
181
181
  <T style={t.telemetryValue}>
182
182
  {h.deviceInfo.rnVersion||"N/A"}
183
183
  </T>
184
184
  </C>
185
185
  <C style={t.telemetryPill}>
186
- <T style={t.telemetryLabel}>Engine</T>
186
+ <T style={t.telemetryLabel}>{B("modals.engine","Engine")}</T>
187
187
  <T style={t.telemetryValue}>
188
188
  {h.deviceInfo.isHermes?"Hermes":"JSC"}
189
189
  </T>
190
190
  </C>
191
191
  <C style={t.telemetryPill}>
192
- <T style={t.telemetryLabel}>Architecture</T>
192
+ <T style={t.telemetryLabel}>{B("modals.architecture","Architecture")}</T>
193
193
  <T style={t.telemetryValue}>
194
194
  {h.deviceInfo.isFabric?"Fabric (New)":"Paper"}
195
195
  </T>
196
196
  </C>
197
197
  {h.memoryInfo&&<C style={t.telemetryPill}>
198
- <T style={t.telemetryLabel}>JS Heap</T>
198
+ <T style={t.telemetryLabel}>{B("modals.jsHeap","JS Heap")}</T>
199
199
  <T style={t.telemetryValue}>
200
200
  {h.memoryInfo.usedJSHeapSize} / {h.memoryInfo.totalJSHeapSize} MB
201
201
  </T>