react-native-inapp-inspector 2.3.15 → 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.
Files changed (381) hide show
  1. package/README.md +1 -0
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +438 -7
  3. package/bin/cli.js +0 -0
  4. package/dist/commonjs/capture.d.ts +26 -0
  5. package/dist/commonjs/capture.js +32 -0
  6. package/dist/commonjs/components/AnalyticsEventCard.js +11 -11
  7. package/dist/commonjs/components/AnimatedEntrance.js +6 -70
  8. package/dist/commonjs/components/DomainHeader.js +3 -48
  9. package/dist/commonjs/components/EmptyState.js +2 -2
  10. package/dist/commonjs/components/HeadersSection.js +14 -34
  11. package/dist/commonjs/components/Inspector/AnalyticsTab.js +1 -24
  12. package/dist/commonjs/components/Inspector/ConsoleTab.js +1 -23
  13. package/dist/commonjs/components/Inspector/CrashTab.js +4 -25
  14. package/dist/commonjs/components/Inspector/DebuggingTab.js +2 -2
  15. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +7 -0
  16. package/dist/commonjs/components/Inspector/FeedbackModal.js +552 -0
  17. package/dist/commonjs/components/Inspector/InspectorHeader.js +675 -285
  18. package/dist/commonjs/components/Inspector/MainScreen.js +66 -69
  19. package/dist/commonjs/components/Inspector/MediaGalleryTab.d.ts +2 -0
  20. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +307 -0
  21. package/dist/commonjs/components/Inspector/MediaPreviewModal.d.ts +11 -0
  22. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +393 -0
  23. package/dist/commonjs/components/Inspector/NetworkTab.js +196 -206
  24. package/dist/commonjs/components/Inspector/NpmStarPrompt.d.ts +3 -0
  25. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +494 -0
  26. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +4 -9
  27. package/dist/commonjs/components/Inspector/PerformanceTab.js +8 -1
  28. package/dist/commonjs/components/Inspector/ReduxTab.js +4 -24
  29. package/dist/commonjs/components/Inspector/SettingsPanel.js +1280 -173
  30. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +2 -2
  31. package/dist/commonjs/components/Inspector/StorageTab.js +3 -26
  32. package/dist/commonjs/components/Inspector/TabBar.js +55 -25
  33. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +5 -10
  34. package/dist/commonjs/components/JsonViewer.js +43 -20
  35. package/dist/commonjs/components/LogCard.js +5 -5
  36. package/dist/commonjs/components/MetaAccordion.js +78 -80
  37. package/dist/commonjs/components/NetworkIcons.d.ts +13 -0
  38. package/dist/commonjs/components/NetworkIcons.js +83 -2
  39. package/dist/commonjs/components/SectionHeader.js +3 -48
  40. package/dist/commonjs/components/SkeletonPlaceholder.js +2 -2
  41. package/dist/commonjs/components/SourcePageCard.js +43 -45
  42. package/dist/commonjs/components/Toast.js +4 -4
  43. package/dist/commonjs/components/TouchableScale.js +9 -65
  44. package/dist/commonjs/components/TreeNode.js +2 -14
  45. package/dist/commonjs/constants/telemetryConfig.d.ts +3 -3
  46. package/dist/commonjs/constants/telemetryConfig.js +3 -3
  47. package/dist/commonjs/constants/version.d.ts +1 -1
  48. package/dist/commonjs/constants/version.js +1 -1
  49. package/dist/commonjs/customHooks/useAccordion.d.ts +3 -8
  50. package/dist/commonjs/customHooks/useAccordion.js +6 -36
  51. package/dist/commonjs/helpers/index.d.ts +3 -1
  52. package/dist/commonjs/helpers/index.js +11 -1
  53. package/dist/commonjs/helpers/remoteConfig.d.ts +4 -0
  54. package/dist/commonjs/helpers/remoteConfig.js +165 -0
  55. package/dist/commonjs/helpers/searchQueryParser.js +2 -0
  56. package/dist/commonjs/helpers/telemetry.d.ts +5 -0
  57. package/dist/commonjs/helpers/telemetry.js +339 -8
  58. package/dist/commonjs/i18n/locales/en.json +66 -2
  59. package/dist/commonjs/index.d.ts +2 -0
  60. package/dist/commonjs/index.js +70 -23
  61. package/dist/commonjs/native/NativeInspector.d.ts +60 -0
  62. package/dist/commonjs/native/NativeInspector.js +109 -2
  63. package/dist/commonjs/native/NativeNetworkInspector.d.ts +8 -0
  64. package/dist/commonjs/styles/AppColors.d.ts +36 -0
  65. package/dist/commonjs/styles/AppColors.js +36 -0
  66. package/dist/commonjs/styles/AppFonts.d.ts +2 -0
  67. package/dist/commonjs/styles/AppFonts.js +1 -0
  68. package/dist/commonjs/styles/index.d.ts +25 -1
  69. package/dist/commonjs/styles/index.js +22 -1
  70. package/dist/commonjs/types/enums.d.ts +2 -0
  71. package/dist/commonjs/types/enums.js +2 -0
  72. package/dist/commonjs/types/index.d.ts +2 -2
  73. package/dist/commonjs/types/interfaces.d.ts +12 -0
  74. package/dist/esm/capture.d.ts +26 -0
  75. package/dist/esm/capture.js +29 -0
  76. package/dist/esm/components/AnalyticsEventCard.js +11 -11
  77. package/dist/esm/components/AnimatedEntrance.js +4 -38
  78. package/dist/esm/components/DomainHeader.js +4 -16
  79. package/dist/esm/components/EmptyState.js +2 -2
  80. package/dist/esm/components/HeadersSection.js +16 -36
  81. package/dist/esm/components/Inspector/AnalyticsTab.js +3 -26
  82. package/dist/esm/components/Inspector/ConsoleTab.js +3 -25
  83. package/dist/esm/components/Inspector/CrashTab.js +6 -27
  84. package/dist/esm/components/Inspector/DebuggingTab.js +3 -3
  85. package/dist/esm/components/Inspector/FeedbackModal.d.ts +7 -0
  86. package/dist/esm/components/Inspector/FeedbackModal.js +515 -0
  87. package/dist/esm/components/Inspector/InspectorHeader.js +678 -288
  88. package/dist/esm/components/Inspector/MainScreen.js +67 -70
  89. package/dist/esm/components/Inspector/MediaGalleryTab.d.ts +2 -0
  90. package/dist/esm/components/Inspector/MediaGalleryTab.js +267 -0
  91. package/dist/esm/components/Inspector/MediaPreviewModal.d.ts +11 -0
  92. package/dist/esm/components/Inspector/MediaPreviewModal.js +353 -0
  93. package/dist/esm/components/Inspector/NetworkTab.js +199 -209
  94. package/dist/esm/components/Inspector/NpmStarPrompt.d.ts +3 -0
  95. package/dist/esm/components/Inspector/NpmStarPrompt.js +454 -0
  96. package/dist/esm/components/Inspector/NpmUpdateToast.js +5 -10
  97. package/dist/esm/components/Inspector/PerformanceTab.js +8 -1
  98. package/dist/esm/components/Inspector/ReduxTab.js +6 -26
  99. package/dist/esm/components/Inspector/SettingsPanel.js +1283 -176
  100. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +2 -2
  101. package/dist/esm/components/Inspector/StorageTab.js +3 -26
  102. package/dist/esm/components/Inspector/TabBar.js +56 -26
  103. package/dist/esm/components/Inspector/UpdateAvailableModal.js +6 -11
  104. package/dist/esm/components/JsonViewer.js +43 -20
  105. package/dist/esm/components/LogCard.js +5 -5
  106. package/dist/esm/components/MetaAccordion.js +79 -81
  107. package/dist/esm/components/NetworkIcons.d.ts +13 -0
  108. package/dist/esm/components/NetworkIcons.js +68 -0
  109. package/dist/esm/components/SectionHeader.js +4 -16
  110. package/dist/esm/components/SkeletonPlaceholder.js +2 -2
  111. package/dist/esm/components/SourcePageCard.js +44 -46
  112. package/dist/esm/components/Toast.js +4 -4
  113. package/dist/esm/components/TouchableScale.js +7 -33
  114. package/dist/esm/components/TreeNode.js +4 -16
  115. package/dist/esm/constants/telemetryConfig.d.ts +3 -3
  116. package/dist/esm/constants/telemetryConfig.js +3 -3
  117. package/dist/esm/constants/version.d.ts +1 -1
  118. package/dist/esm/constants/version.js +1 -1
  119. package/dist/esm/customHooks/useAccordion.d.ts +3 -8
  120. package/dist/esm/customHooks/useAccordion.js +7 -37
  121. package/dist/esm/helpers/index.d.ts +3 -1
  122. package/dist/esm/helpers/index.js +9 -0
  123. package/dist/esm/helpers/remoteConfig.d.ts +4 -0
  124. package/dist/esm/helpers/remoteConfig.js +160 -0
  125. package/dist/esm/helpers/searchQueryParser.js +2 -0
  126. package/dist/esm/helpers/telemetry.d.ts +5 -0
  127. package/dist/esm/helpers/telemetry.js +332 -9
  128. package/dist/esm/i18n/locales/en.json +66 -2
  129. package/dist/esm/index.d.ts +2 -0
  130. package/dist/esm/index.js +66 -23
  131. package/dist/esm/native/NativeInspector.d.ts +60 -0
  132. package/dist/esm/native/NativeInspector.js +100 -1
  133. package/dist/esm/native/NativeNetworkInspector.d.ts +8 -0
  134. package/dist/esm/styles/AppColors.d.ts +36 -0
  135. package/dist/esm/styles/AppColors.js +36 -0
  136. package/dist/esm/styles/AppFonts.d.ts +2 -0
  137. package/dist/esm/styles/AppFonts.js +1 -0
  138. package/dist/esm/styles/index.d.ts +25 -1
  139. package/dist/esm/styles/index.js +22 -1
  140. package/dist/esm/types/enums.d.ts +2 -0
  141. package/dist/esm/types/enums.js +2 -0
  142. package/dist/esm/types/index.d.ts +2 -2
  143. package/dist/esm/types/interfaces.d.ts +12 -0
  144. package/ios/NetworkInspectorModule.h +1 -0
  145. package/ios/NetworkInspectorModule.mm +736 -7
  146. package/package.json +10 -2
  147. package/react-native-inapp-inspector.podspec +1 -0
  148. package/src/capture.ts +101 -0
  149. package/src/components/AnalyticsEventCard.tsx +15 -13
  150. package/src/components/AnimatedEntrance.tsx +3 -47
  151. package/src/components/DomainHeader.tsx +4 -17
  152. package/src/components/EmptyState.tsx +2 -2
  153. package/src/components/HeadersSection.tsx +31 -56
  154. package/src/components/Inspector/AnalyticsTab.tsx +2 -25
  155. package/src/components/Inspector/ConsoleTab.tsx +2 -24
  156. package/src/components/Inspector/CrashTab.tsx +4 -25
  157. package/src/components/Inspector/DebuggingTab.tsx +2 -2
  158. package/src/components/Inspector/FeedbackModal.tsx +626 -0
  159. package/src/components/Inspector/InspectorHeader.tsx +1230 -728
  160. package/src/components/Inspector/MainScreen.tsx +97 -82
  161. package/src/components/Inspector/MediaGalleryTab.tsx +355 -0
  162. package/src/components/Inspector/MediaPreviewModal.tsx +435 -0
  163. package/src/components/Inspector/NetworkTab.tsx +83 -93
  164. package/src/components/Inspector/NpmStarPrompt.tsx +532 -0
  165. package/src/components/Inspector/NpmUpdateToast.tsx +4 -9
  166. package/src/components/Inspector/PerformanceTab.tsx +8 -1
  167. package/src/components/Inspector/ReduxTab.tsx +5 -25
  168. package/src/components/Inspector/SettingsPanel.tsx +1493 -225
  169. package/src/components/Inspector/SkeletonPlaceholder.tsx +2 -2
  170. package/src/components/Inspector/StorageTab.tsx +3 -26
  171. package/src/components/Inspector/TabBar.tsx +63 -32
  172. package/src/components/Inspector/UpdateAvailableModal.tsx +6 -10
  173. package/src/components/JsonViewer.tsx +101 -60
  174. package/src/components/LogCard.tsx +10 -8
  175. package/src/components/MetaAccordion.tsx +6 -6
  176. package/src/components/NetworkIcons.tsx +242 -0
  177. package/src/components/SectionHeader.tsx +4 -16
  178. package/src/components/SkeletonPlaceholder.tsx +2 -2
  179. package/src/components/SourcePageCard.tsx +57 -55
  180. package/src/components/Toast.tsx +4 -4
  181. package/src/components/TouchableScale.tsx +8 -38
  182. package/src/components/TreeNode.tsx +5 -20
  183. package/src/constants/telemetryConfig.ts +3 -5
  184. package/src/constants/version.ts +1 -1
  185. package/src/customHooks/useAccordion.tsx +10 -43
  186. package/src/helpers/index.ts +11 -1
  187. package/src/helpers/remoteConfig.ts +212 -0
  188. package/src/helpers/searchQueryParser.ts +3 -0
  189. package/src/helpers/telemetry.ts +381 -10
  190. package/src/i18n/locales/en.json +69 -2
  191. package/src/index.tsx +93 -23
  192. package/src/native/NativeInspector.ts +186 -1
  193. package/src/native/NativeNetworkInspector.ts +9 -0
  194. package/src/styles/AppColors.ts +38 -0
  195. package/src/styles/AppFonts.ts +2 -0
  196. package/src/styles/index.ts +23 -2
  197. package/src/types/enums.ts +4 -0
  198. package/src/types/index.ts +2 -2
  199. package/src/types/interfaces.ts +12 -0
  200. package/android/.gradle/8.9/checksums/checksums.lock +0 -0
  201. package/android/.gradle/8.9/checksums/md5-checksums.bin +0 -0
  202. package/android/.gradle/8.9/checksums/sha1-checksums.bin +0 -0
  203. package/android/.gradle/8.9/dependencies-accessors/gc.properties +0 -0
  204. package/android/.gradle/8.9/executionHistory/executionHistory.lock +0 -0
  205. package/android/.gradle/8.9/fileChanges/last-build.bin +0 -0
  206. package/android/.gradle/8.9/fileHashes/fileHashes.lock +0 -0
  207. package/android/.gradle/8.9/gc.properties +0 -0
  208. package/android/.gradle/9.2.0/checksums/checksums.lock +0 -0
  209. package/android/.gradle/9.2.0/fileChanges/last-build.bin +0 -0
  210. package/android/.gradle/9.2.0/fileHashes/fileHashes.bin +0 -0
  211. package/android/.gradle/9.2.0/fileHashes/fileHashes.lock +0 -0
  212. package/android/.gradle/9.2.0/gc.properties +0 -0
  213. package/android/.gradle/buildOutputCleanup/buildOutputCleanup.lock +0 -0
  214. package/android/.gradle/buildOutputCleanup/cache.properties +0 -2
  215. package/android/.gradle/vcs-1/gc.properties +0 -0
  216. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/results.bin +0 -1
  217. package/android/build/.transforms/6683d6eeaa3e1dfa689c3385111a0386/transformed/classes/classes_dex/classes.dex +0 -0
  218. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/results.bin +0 -1
  219. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/BuildConfig.dex +0 -0
  220. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView$iconView$1.dex +0 -0
  221. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/InAppInspectorFloatingView.dex +0 -0
  222. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NativeNetworkInspectorSpec.dex +0 -0
  223. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$Companion.dex +0 -0
  224. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$frameCallback$1.dex +0 -0
  225. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule$shakeListener$1.dex +0 -0
  226. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorModule.dex +0 -0
  227. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/bundleLibRuntimeToDirDebug_dex/com/inappinspector/NetworkInspectorPackage.dex +0 -0
  228. package/android/build/.transforms/9d2a3e5e0f0ea07cafb0c0bf290630ee/transformed/bundleLibRuntimeToDirDebug/desugar_graph.bin +0 -0
  229. package/android/build/generated/source/buildConfig/debug/com/inappinspector/BuildConfig.java +0 -10
  230. package/android/build/generated/source/codegen/java/com/inappinspector/NativeNetworkInspectorSpec.java +0 -104
  231. package/android/build/generated/source/codegen/jni/CMakeLists.txt +0 -28
  232. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec-generated.cpp +0 -128
  233. package/android/build/generated/source/codegen/jni/RNInAppInspectorSpec.h +0 -31
  234. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.cpp +0 -22
  235. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ComponentDescriptors.h +0 -24
  236. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.cpp +0 -16
  237. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/EventEmitters.h +0 -17
  238. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.cpp +0 -19
  239. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/Props.h +0 -18
  240. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/RNInAppInspectorSpecJSI.h +0 -177
  241. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.cpp +0 -17
  242. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/ShadowNodes.h +0 -23
  243. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.cpp +0 -16
  244. package/android/build/generated/source/codegen/jni/react/renderer/components/RNInAppInspectorSpec/States.h +0 -20
  245. package/android/build/generated/source/codegen/schema.json +0 -1
  246. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/AndroidManifest.xml +0 -7
  247. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/processDebugManifest/aapt/output-metadata.json +0 -18
  248. package/android/build/intermediates/aar_main_jar/debug/syncDebugLibJars/classes.jar +0 -0
  249. package/android/build/intermediates/aar_metadata/debug/writeDebugAarMetadata/aar-metadata.properties +0 -6
  250. package/android/build/intermediates/annotation_processor_list/debug/javaPreCompileDebug/annotationProcessors.json +0 -1
  251. package/android/build/intermediates/annotations_typedef_file/debug/extractDebugAnnotations/typedefs.txt +0 -0
  252. package/android/build/intermediates/compile_library_classes_jar/debug/bundleLibCompileToJarDebug/classes.jar +0 -0
  253. package/android/build/intermediates/compile_r_class_jar/debug/generateDebugRFile/R.jar +0 -0
  254. package/android/build/intermediates/compile_symbol_list/debug/generateDebugRFile/R.txt +0 -0
  255. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +0 -1
  256. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +0 -2
  257. package/android/build/intermediates/incremental/debug-mergeJavaRes/merge-state +0 -0
  258. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +0 -2
  259. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +0 -2
  260. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +0 -2
  261. package/android/build/intermediates/java_res/debug/processDebugJavaRes/out/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  262. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/BuildConfig.class +0 -0
  263. package/android/build/intermediates/javac/debug/compileDebugJavaWithJavac/classes/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  264. package/android/build/intermediates/local_only_symbol_list/debug/parseDebugLocalResources/R-def.txt +0 -2
  265. package/android/build/intermediates/manifest_merge_blame_file/debug/processDebugManifest/manifest-merger-blame-debug-report.txt +0 -7
  266. package/android/build/intermediates/merged_java_res/debug/mergeDebugJavaResource/feature-react-native-inapp-inspector.jar +0 -0
  267. package/android/build/intermediates/merged_manifest/debug/processDebugManifest/AndroidManifest.xml +0 -7
  268. package/android/build/intermediates/navigation_json/debug/extractDeepLinksDebug/navigation.json +0 -1
  269. package/android/build/intermediates/nested_resources_validation_report/debug/generateDebugResources/nestedResourcesValidationReport.txt +0 -1
  270. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  271. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/BuildConfig.class +0 -0
  272. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  273. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  274. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NativeNetworkInspectorSpec.class +0 -0
  275. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  276. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  277. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  278. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorModule.class +0 -0
  279. package/android/build/intermediates/runtime_library_classes_dir/debug/bundleLibRuntimeToDirDebug/com/inappinspector/NetworkInspectorPackage.class +0 -0
  280. package/android/build/intermediates/runtime_library_classes_jar/debug/bundleLibRuntimeToJarDebug/classes.jar +0 -0
  281. package/android/build/intermediates/symbol_list_with_package_name/debug/generateDebugRFile/package-aware-r.txt +0 -1
  282. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  283. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  284. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  285. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  286. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  287. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  288. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  289. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  290. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  291. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  292. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  293. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  294. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  295. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  296. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  297. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  298. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  299. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  300. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  301. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  302. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  303. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  304. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  305. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  306. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  307. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  308. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  309. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  310. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  311. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  312. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  313. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  314. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  315. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  316. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  317. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  318. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  319. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  320. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  321. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  322. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  323. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  324. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  325. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  326. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  327. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  328. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  329. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  330. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  331. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  332. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  333. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  334. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  335. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  336. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  337. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  338. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  339. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  340. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  341. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  342. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  343. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  344. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  345. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +0 -2
  346. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  347. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  348. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  349. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  350. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  351. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  352. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  353. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  354. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  355. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  356. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  357. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  358. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  359. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  360. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  361. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  362. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  363. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  364. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  365. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  366. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  367. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  368. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  369. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  370. package/android/build/outputs/aar/react-native-inapp-inspector-debug.aar +0 -0
  371. package/android/build/outputs/logs/manifest-merger-debug-report.txt +0 -17
  372. package/android/build/reports/problems/problems-report.html +0 -659
  373. package/android/build/tmp/compileDebugJavaWithJavac/previous-compilation-data.bin +0 -0
  374. package/android/build/tmp/kotlin-classes/debug/META-INF/react-native-inapp-inspector_debug.kotlin_module +0 -0
  375. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView$iconView$1.class +0 -0
  376. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/InAppInspectorFloatingView.class +0 -0
  377. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$Companion.class +0 -0
  378. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$frameCallback$1.class +0 -0
  379. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule$shakeListener$1.class +0 -0
  380. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorModule.class +0 -0
  381. package/android/build/tmp/kotlin-classes/debug/com/inappinspector/NetworkInspectorPackage.class +0 -0
@@ -0,0 +1,552 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.FeedbackModal = void 0;
37
+ const react_1 = __importStar(require("react"));
38
+ const react_native_1 = require("react-native");
39
+ const AppColors_1 = require("../../styles/AppColors");
40
+ const AppFonts_1 = require("../../styles/AppFonts");
41
+ const version_1 = require("../../constants/version");
42
+ const helpers_1 = require("../../helpers");
43
+ const telemetry_1 = require("../../helpers/telemetry");
44
+ const NetworkIcons_1 = require("../NetworkIcons");
45
+ const DEVELOPER_EMAIL = 'vengatmacuser@gmail.com';
46
+ const CATEGORIES = [
47
+ { key: 'feedback', label: 'Feedback', icon: '💬' },
48
+ { key: 'bug', label: 'Bug Report', icon: '🐛' },
49
+ { key: 'feature', label: 'Feature Request', icon: '✨' },
50
+ { key: 'performance', label: 'Performance', icon: '⚡' },
51
+ { key: 'help', label: 'Support / Help', icon: '❓' },
52
+ ];
53
+ const RATING_LABELS = ['', 'Poor', 'Fair', 'Good', 'Very Good', 'Excellent!'];
54
+ const FeedbackModal = ({ onClose }) => {
55
+ const [category, setCategory] = (0, react_1.useState)('feedback');
56
+ const [rating, setRating] = (0, react_1.useState)(5);
57
+ const [subject, setSubject] = (0, react_1.useState)('');
58
+ const [message, setMessage] = (0, react_1.useState)('');
59
+ const [showDiagnostics, setShowDiagnostics] = (0, react_1.useState)(false);
60
+ const [isSending, setIsSending] = (0, react_1.useState)(false);
61
+ const [copiedDraft, setCopiedDraft] = (0, react_1.useState)(false);
62
+ (0, react_1.useEffect)(() => {
63
+ (0, telemetry_1.trackTelemetryEvent)('feedback_modal_opened', { category });
64
+ }, []);
65
+ const appName = (0, helpers_1.getAppName)() || 'React Native App';
66
+ const bundleId = (0, helpers_1.getBundleIdentifier)() || 'unknown';
67
+ const appVersion = (0, helpers_1.getAppVersionAndBuild)() || '1.0.0';
68
+ const { width, height } = react_native_1.Dimensions.get('window');
69
+ const getDiagnosticsText = () => {
70
+ return [
71
+ `• Package: react-native-inapp-inspector@${version_1.LIB_VERSION}`,
72
+ `• Platform: ${react_native_1.Platform.OS.toUpperCase()} (${react_native_1.Platform.Version})`,
73
+ `• App: ${appName} (${bundleId}) v${appVersion}`,
74
+ `• Screen: ${Math.round(width)} x ${Math.round(height)} (Scale ${react_native_1.PixelRatio.get()})`,
75
+ `• Timestamp: ${new Date().toISOString()}`,
76
+ ].join('\n');
77
+ };
78
+ const buildEmailDraft = () => {
79
+ const activeCat = CATEGORIES.find(c => c.key === category)?.label || category;
80
+ const emailSubject = `[In-App Inspector] [${activeCat}] ${subject.trim() || 'User Feedback'}`;
81
+ const bodyLines = [
82
+ `Category: ${activeCat}`,
83
+ `Rating: ${rating} / 5 (${RATING_LABELS[rating] || ''})`,
84
+ ...(subject.trim() ? [`Subject: ${subject.trim()}`] : []),
85
+ '',
86
+ 'Feedback / Message:',
87
+ message.trim() || '(No message provided)',
88
+ '',
89
+ '----------------------------------------',
90
+ 'System & Diagnostic Info:',
91
+ getDiagnosticsText(),
92
+ '----------------------------------------',
93
+ ];
94
+ return {
95
+ activeCat,
96
+ subject: emailSubject,
97
+ body: bodyLines.join('\n'),
98
+ };
99
+ };
100
+ const handleCopyDraft = () => {
101
+ const draft = buildEmailDraft();
102
+ const fullText = `To: ${DEVELOPER_EMAIL}\nSubject: ${draft.subject}\n\n${draft.body}`;
103
+ (0, helpers_1.copyToClipboard)(fullText, 'Email Draft & Diagnostics');
104
+ setCopiedDraft(true);
105
+ setTimeout(() => setCopiedDraft(false), 2000);
106
+ (0, helpers_1.showToast)('Feedback draft copied to clipboard');
107
+ };
108
+ const handleSendEmail = async () => {
109
+ if (isSending)
110
+ return;
111
+ setIsSending(true);
112
+ try {
113
+ const draft = buildEmailDraft();
114
+ const mailtoUrl = `mailto:${DEVELOPER_EMAIL}?subject=${encodeURIComponent(draft.subject)}&body=${encodeURIComponent(draft.body)}`;
115
+ (0, telemetry_1.trackTelemetryEvent)('feedback_submitted', {
116
+ category,
117
+ rating,
118
+ has_subject: Boolean(subject.trim()),
119
+ has_message: Boolean(message.trim()),
120
+ });
121
+ let opened = false;
122
+ try {
123
+ const canOpen = await react_native_1.Linking.canOpenURL(mailtoUrl);
124
+ if (canOpen) {
125
+ await react_native_1.Linking.openURL(mailtoUrl);
126
+ opened = true;
127
+ }
128
+ else {
129
+ await react_native_1.Linking.openURL(mailtoUrl);
130
+ opened = true;
131
+ }
132
+ }
133
+ catch (err) {
134
+ opened = false;
135
+ }
136
+ if (opened) {
137
+ (0, helpers_1.showToast)('Opening mail client...');
138
+ onClose();
139
+ }
140
+ else {
141
+ const fullDraft = `To: ${DEVELOPER_EMAIL}\nSubject: ${draft.subject}\n\n${draft.body}`;
142
+ (0, helpers_1.copyToClipboard)(fullDraft, 'Feedback Draft');
143
+ react_native_1.Alert.alert('Email Client Not Available', `Your feedback and diagnostics have been copied to the clipboard!\n\nYou can paste and send directly to:\n${DEVELOPER_EMAIL}`, [
144
+ {
145
+ text: 'Copy Email Address',
146
+ onPress: () => {
147
+ (0, helpers_1.copyToClipboard)(DEVELOPER_EMAIL, 'Email Address');
148
+ (0, helpers_1.showToast)('Email address copied!');
149
+ },
150
+ },
151
+ {
152
+ text: 'Done',
153
+ style: 'default',
154
+ onPress: onClose,
155
+ },
156
+ ]);
157
+ }
158
+ }
159
+ catch (err) {
160
+ console.warn('[FeedbackModal] Error sending email:', err);
161
+ }
162
+ finally {
163
+ setIsSending(false);
164
+ }
165
+ };
166
+ return (<react_native_1.View style={styles.container}>
167
+
168
+ <react_native_1.View style={styles.bannerBar}>
169
+ <react_native_1.View style={styles.bannerIconBox}>
170
+ <NetworkIcons_1.HeadphonesIcon size={18} color={AppColors_1.AppColors.purple}/>
171
+ </react_native_1.View>
172
+ <react_native_1.View style={{ flex: 1 }}>
173
+ <react_native_1.Text style={styles.bannerTitle}>Share your feedback or report an issue</react_native_1.Text>
174
+ <react_native_1.Text style={styles.bannerSub}>
175
+ Direct communication with the maintainers. Diagnostic info is auto-attached.
176
+ </react_native_1.Text>
177
+ </react_native_1.View>
178
+ </react_native_1.View>
179
+
180
+ <react_native_1.ScrollView style={styles.scrollContent} contentContainerStyle={styles.scrollInner} showsVerticalScrollIndicator={false} keyboardShouldPersistTaps="handled">
181
+
182
+ <react_native_1.Text style={styles.sectionLabel}>WHAT CAN WE HELP WITH?</react_native_1.Text>
183
+ <react_native_1.View style={styles.categoryGrid}>
184
+ {CATEGORIES.map(cat => {
185
+ const isSelected = category === cat.key;
186
+ return (<react_native_1.TouchableOpacity key={cat.key} activeOpacity={0.7} onPress={() => setCategory(cat.key)} style={[
187
+ styles.categoryChip,
188
+ isSelected && styles.categoryChipSelected,
189
+ ]}>
190
+ <react_native_1.Text style={styles.categoryIcon}>{cat.icon}</react_native_1.Text>
191
+ <react_native_1.Text style={[
192
+ styles.categoryText,
193
+ isSelected && styles.categoryTextSelected,
194
+ ]}>
195
+ {cat.label}
196
+ </react_native_1.Text>
197
+ </react_native_1.TouchableOpacity>);
198
+ })}
199
+ </react_native_1.View>
200
+
201
+
202
+ <react_native_1.View style={styles.ratingCard}>
203
+ <react_native_1.View style={styles.ratingHeader}>
204
+ <react_native_1.Text style={styles.ratingTitle}>Rate your experience</react_native_1.Text>
205
+ {rating > 0 && (<react_native_1.Text style={styles.ratingBadge}>
206
+ {RATING_LABELS[rating]}
207
+ </react_native_1.Text>)}
208
+ </react_native_1.View>
209
+ <react_native_1.View style={styles.starsRow}>
210
+ {[1, 2, 3, 4, 5].map(star => {
211
+ const filled = star <= rating;
212
+ return (<react_native_1.TouchableOpacity key={star} activeOpacity={0.7} onPress={() => setRating(star)} style={styles.starTouch}>
213
+ <NetworkIcons_1.StarIcon size={26} color={filled ? '#FFB800' : AppColors_1.AppColors.grayTextWeak}/>
214
+ </react_native_1.TouchableOpacity>);
215
+ })}
216
+ </react_native_1.View>
217
+ </react_native_1.View>
218
+
219
+
220
+ <react_native_1.Text style={styles.sectionLabel}>SUBJECT (OPTIONAL)</react_native_1.Text>
221
+ <react_native_1.View style={styles.inputWrapper}>
222
+ <react_native_1.TextInput style={styles.textInput} placeholder="Brief summary..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={subject} onChangeText={setSubject} maxLength={80}/>
223
+ </react_native_1.View>
224
+
225
+
226
+ <react_native_1.Text style={styles.sectionLabel}>YOUR MESSAGE / DETAILS</react_native_1.Text>
227
+ <react_native_1.View style={[styles.inputWrapper, styles.textareaWrapper]}>
228
+ <react_native_1.TextInput style={[styles.textInput, styles.textarea]} placeholder="Describe your issue, feature request, or suggestion in detail..." placeholderTextColor={AppColors_1.AppColors.grayTextWeak} value={message} onChangeText={setMessage} multiline numberOfLines={4} textAlignVertical="top"/>
229
+ </react_native_1.View>
230
+
231
+
232
+ <react_native_1.TouchableOpacity activeOpacity={0.8} onPress={() => setShowDiagnostics(!showDiagnostics)} style={styles.diagnosticsToggle}>
233
+ <react_native_1.View style={styles.diagnosticsHeader}>
234
+ <NetworkIcons_1.InfoCircleIcon size={14} color={AppColors_1.AppColors.purple}/>
235
+ <react_native_1.Text style={styles.diagnosticsTitle}>
236
+ Diagnostics & System Details (Auto-attached)
237
+ </react_native_1.Text>
238
+ </react_native_1.View>
239
+ <react_native_1.Text style={styles.diagnosticsArrow}>
240
+ {showDiagnostics ? '▲' : '▼'}
241
+ </react_native_1.Text>
242
+ </react_native_1.TouchableOpacity>
243
+
244
+ {showDiagnostics && (<react_native_1.View style={styles.diagnosticsBox}>
245
+ <react_native_1.Text style={styles.diagnosticsText}>
246
+ {getDiagnosticsText()}
247
+ </react_native_1.Text>
248
+ </react_native_1.View>)}
249
+
250
+
251
+ <react_native_1.View style={styles.recipientBadge}>
252
+ <react_native_1.Text style={styles.recipientText}>
253
+ 📧 Emails to: <react_native_1.Text style={styles.recipientHighlight}>{DEVELOPER_EMAIL}</react_native_1.Text>
254
+ </react_native_1.Text>
255
+ </react_native_1.View>
256
+ </react_native_1.ScrollView>
257
+
258
+
259
+ <react_native_1.View style={styles.footer}>
260
+ <react_native_1.TouchableOpacity activeOpacity={0.7} onPress={handleCopyDraft} style={styles.copyDraftBtn}>
261
+ {copiedDraft ? (<NetworkIcons_1.CheckIcon size={14} color={AppColors_1.AppColors.emerald500}/>) : (<NetworkIcons_1.CopyIcon size={14} color={AppColors_1.AppColors.grayText}/>)}
262
+ <react_native_1.Text style={[
263
+ styles.copyDraftBtnText,
264
+ copiedDraft && { color: AppColors_1.AppColors.emerald500 },
265
+ ]}>
266
+ {copiedDraft ? 'Copied!' : 'Copy Draft'}
267
+ </react_native_1.Text>
268
+ </react_native_1.TouchableOpacity>
269
+
270
+ <react_native_1.View style={styles.footerRight}>
271
+ <react_native_1.TouchableOpacity activeOpacity={0.7} onPress={onClose} style={styles.cancelBtn}>
272
+ <react_native_1.Text style={styles.cancelBtnText}>Cancel</react_native_1.Text>
273
+ </react_native_1.TouchableOpacity>
274
+
275
+ <react_native_1.TouchableOpacity activeOpacity={0.8} onPress={handleSendEmail} style={styles.submitBtn}>
276
+ <NetworkIcons_1.SendIcon size={16} color={AppColors_1.AppColors.white}/>
277
+ <react_native_1.Text style={styles.submitBtnText}>
278
+ {isSending ? 'Sending...' : 'Send via Email'}
279
+ </react_native_1.Text>
280
+ </react_native_1.TouchableOpacity>
281
+ </react_native_1.View>
282
+ </react_native_1.View>
283
+ </react_native_1.View>);
284
+ };
285
+ exports.FeedbackModal = FeedbackModal;
286
+ const styles = react_native_1.StyleSheet.create({
287
+ container: {
288
+ flex: 1,
289
+ backgroundColor: AppColors_1.AppColors.primaryLight,
290
+ },
291
+ bannerBar: {
292
+ flexDirection: 'row',
293
+ alignItems: 'center',
294
+ gap: 10,
295
+ backgroundColor: `${AppColors_1.AppColors.purple}12`,
296
+ paddingHorizontal: 14,
297
+ paddingVertical: 10,
298
+ borderBottomWidth: 1,
299
+ borderBottomColor: `${AppColors_1.AppColors.purple}20`,
300
+ },
301
+ bannerIconBox: {
302
+ width: 32,
303
+ height: 32,
304
+ borderRadius: 8,
305
+ backgroundColor: `${AppColors_1.AppColors.purple}20`,
306
+ alignItems: 'center',
307
+ justifyContent: 'center',
308
+ },
309
+ bannerTitle: {
310
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
311
+ fontSize: 12.5,
312
+ color: AppColors_1.AppColors.purple,
313
+ },
314
+ bannerSub: {
315
+ fontFamily: AppFonts_1.AppFonts.interRegular,
316
+ fontSize: 10.5,
317
+ color: AppColors_1.AppColors.grayText,
318
+ marginTop: 1,
319
+ },
320
+ scrollContent: {
321
+ flex: 1,
322
+ },
323
+ scrollInner: {
324
+ paddingHorizontal: 16,
325
+ paddingTop: 12,
326
+ paddingBottom: 20,
327
+ },
328
+ sectionLabel: {
329
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
330
+ fontSize: 10.5,
331
+ color: AppColors_1.AppColors.grayText,
332
+ letterSpacing: 0.8,
333
+ marginBottom: 8,
334
+ marginTop: 10,
335
+ },
336
+ categoryGrid: {
337
+ flexDirection: 'row',
338
+ flexWrap: 'wrap',
339
+ gap: 8,
340
+ paddingBottom: 4,
341
+ },
342
+ categoryChip: {
343
+ flexDirection: 'row',
344
+ alignItems: 'center',
345
+ gap: 6,
346
+ paddingVertical: 7,
347
+ paddingHorizontal: 12,
348
+ borderRadius: 8,
349
+ backgroundColor: AppColors_1.AppColors.grayBackground,
350
+ borderWidth: 1,
351
+ borderColor: AppColors_1.AppColors.dividerColor,
352
+ },
353
+ categoryChipSelected: {
354
+ backgroundColor: `${AppColors_1.AppColors.purple}15`,
355
+ borderColor: AppColors_1.AppColors.purple,
356
+ },
357
+ categoryIcon: {
358
+ fontSize: 13,
359
+ },
360
+ categoryText: {
361
+ fontFamily: AppFonts_1.AppFonts.interMedium,
362
+ fontSize: 12,
363
+ color: AppColors_1.AppColors.grayText,
364
+ },
365
+ categoryTextSelected: {
366
+ color: AppColors_1.AppColors.purple,
367
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
368
+ },
369
+ ratingCard: {
370
+ backgroundColor: AppColors_1.AppColors.grayBackground,
371
+ borderRadius: 12,
372
+ padding: 12,
373
+ marginTop: 12,
374
+ borderWidth: 1,
375
+ borderColor: AppColors_1.AppColors.dividerColor,
376
+ },
377
+ ratingHeader: {
378
+ flexDirection: 'row',
379
+ justifyContent: 'space-between',
380
+ alignItems: 'center',
381
+ marginBottom: 8,
382
+ },
383
+ ratingTitle: {
384
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
385
+ fontSize: 12.5,
386
+ color: AppColors_1.AppColors.primaryBlack,
387
+ },
388
+ ratingBadge: {
389
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
390
+ fontSize: 11,
391
+ color: '#D97706',
392
+ backgroundColor: '#FEF3C7',
393
+ paddingHorizontal: 8,
394
+ paddingVertical: 2,
395
+ borderRadius: 6,
396
+ },
397
+ starsRow: {
398
+ flexDirection: 'row',
399
+ alignItems: 'center',
400
+ gap: 12,
401
+ paddingVertical: 4,
402
+ },
403
+ starTouch: {
404
+ padding: 2,
405
+ },
406
+ inputWrapper: {
407
+ backgroundColor: AppColors_1.AppColors.grayBackground,
408
+ borderRadius: 10,
409
+ borderWidth: 1,
410
+ borderColor: AppColors_1.AppColors.dividerColor,
411
+ paddingHorizontal: 12,
412
+ paddingVertical: 8,
413
+ },
414
+ textareaWrapper: {
415
+ minHeight: 88,
416
+ paddingVertical: 10,
417
+ },
418
+ textInput: {
419
+ fontFamily: AppFonts_1.AppFonts.interRegular,
420
+ fontSize: 13,
421
+ color: AppColors_1.AppColors.primaryBlack,
422
+ padding: 0,
423
+ },
424
+ textarea: {
425
+ height: 72,
426
+ },
427
+ diagnosticsToggle: {
428
+ flexDirection: 'row',
429
+ alignItems: 'center',
430
+ justifyContent: 'space-between',
431
+ backgroundColor: `${AppColors_1.AppColors.purple}10`,
432
+ borderRadius: 8,
433
+ paddingHorizontal: 12,
434
+ paddingVertical: 9,
435
+ marginTop: 14,
436
+ borderWidth: 1,
437
+ borderColor: `${AppColors_1.AppColors.purple}25`,
438
+ },
439
+ diagnosticsHeader: {
440
+ flexDirection: 'row',
441
+ alignItems: 'center',
442
+ gap: 8,
443
+ flex: 1,
444
+ },
445
+ diagnosticsTitle: {
446
+ fontFamily: AppFonts_1.AppFonts.interMedium,
447
+ fontSize: 11.5,
448
+ color: AppColors_1.AppColors.purple,
449
+ },
450
+ diagnosticsArrow: {
451
+ fontSize: 10,
452
+ color: AppColors_1.AppColors.purple,
453
+ },
454
+ diagnosticsBox: {
455
+ backgroundColor: '#1E1B2E',
456
+ borderRadius: 8,
457
+ padding: 10,
458
+ marginTop: 6,
459
+ borderWidth: 1,
460
+ borderColor: AppColors_1.AppColors.dividerColor,
461
+ },
462
+ diagnosticsText: {
463
+ fontFamily: AppFonts_1.AppFonts.interRegular,
464
+ fontSize: 11,
465
+ color: '#E2DFEB',
466
+ lineHeight: 17,
467
+ },
468
+ recipientBadge: {
469
+ marginTop: 12,
470
+ paddingVertical: 6,
471
+ paddingHorizontal: 10,
472
+ borderRadius: 6,
473
+ backgroundColor: AppColors_1.AppColors.grayBackground,
474
+ borderWidth: 1,
475
+ borderColor: AppColors_1.AppColors.dividerColor,
476
+ alignSelf: 'flex-start',
477
+ },
478
+ recipientText: {
479
+ fontFamily: AppFonts_1.AppFonts.interRegular,
480
+ fontSize: 11,
481
+ color: AppColors_1.AppColors.grayText,
482
+ },
483
+ recipientHighlight: {
484
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
485
+ color: AppColors_1.AppColors.purple,
486
+ },
487
+ footer: {
488
+ flexDirection: 'row',
489
+ alignItems: 'center',
490
+ justifyContent: 'space-between',
491
+ paddingHorizontal: 14,
492
+ paddingTop: 10,
493
+ paddingBottom: 14,
494
+ borderTopWidth: 1,
495
+ borderTopColor: AppColors_1.AppColors.dividerColor,
496
+ backgroundColor: AppColors_1.AppColors.primaryLight,
497
+ },
498
+ copyDraftBtn: {
499
+ flexDirection: 'row',
500
+ alignItems: 'center',
501
+ gap: 5,
502
+ paddingVertical: 8,
503
+ paddingHorizontal: 10,
504
+ borderRadius: 8,
505
+ backgroundColor: AppColors_1.AppColors.grayBackground,
506
+ borderWidth: 1,
507
+ borderColor: AppColors_1.AppColors.dividerColor,
508
+ },
509
+ copyDraftBtnText: {
510
+ fontFamily: AppFonts_1.AppFonts.interMedium,
511
+ fontSize: 11.5,
512
+ color: AppColors_1.AppColors.grayText,
513
+ },
514
+ footerRight: {
515
+ flexDirection: 'row',
516
+ alignItems: 'center',
517
+ gap: 8,
518
+ },
519
+ cancelBtn: {
520
+ paddingVertical: 8,
521
+ paddingHorizontal: 14,
522
+ borderRadius: 8,
523
+ backgroundColor: AppColors_1.AppColors.grayBackground,
524
+ borderWidth: 1,
525
+ borderColor: AppColors_1.AppColors.dividerColor,
526
+ },
527
+ cancelBtnText: {
528
+ fontFamily: AppFonts_1.AppFonts.interMedium,
529
+ fontSize: 12.5,
530
+ color: AppColors_1.AppColors.grayText,
531
+ },
532
+ submitBtn: {
533
+ flexDirection: 'row',
534
+ alignItems: 'center',
535
+ gap: 6,
536
+ backgroundColor: AppColors_1.AppColors.purple,
537
+ paddingVertical: 8,
538
+ paddingHorizontal: 15,
539
+ borderRadius: 8,
540
+ shadowColor: AppColors_1.AppColors.purple,
541
+ shadowOffset: { width: 0, height: 2 },
542
+ shadowOpacity: 0.35,
543
+ shadowRadius: 6,
544
+ elevation: 4,
545
+ },
546
+ submitBtnText: {
547
+ fontFamily: AppFonts_1.AppFonts.interSemiBold,
548
+ fontSize: 12.5,
549
+ color: AppColors_1.AppColors.white,
550
+ },
551
+ });
552
+ exports.default = exports.FeedbackModal;