react-native-inapp-inspector 2.3.18 → 2.3.20

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 (358) hide show
  1. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +57 -0
  2. package/dist/commonjs/analytics.js +1 -24
  3. package/dist/commonjs/bundle.js +1 -16
  4. package/dist/commonjs/capture.d.ts +2 -0
  5. package/dist/commonjs/capture.js +1 -32
  6. package/dist/commonjs/components/AnalyticsDetail.js +92 -623
  7. package/dist/commonjs/components/AnalyticsEventCard.js +54 -350
  8. package/dist/commonjs/components/AnalyticsGraph.js +70 -370
  9. package/dist/commonjs/components/AnimatedEntrance.js +1 -11
  10. package/dist/commonjs/components/AppHeaderLogo.js +7 -134
  11. package/dist/commonjs/components/BrandCircleIcon.js +73 -118
  12. package/dist/commonjs/components/BrandSquareIcon.js +63 -108
  13. package/dist/commonjs/components/CodeSnippet.js +48 -623
  14. package/dist/commonjs/components/ConsoleLogCard.js +63 -537
  15. package/dist/commonjs/components/CopyButton.js +3 -89
  16. package/dist/commonjs/components/DiffViewer.js +19 -83
  17. package/dist/commonjs/components/DomainHeader.js +27 -127
  18. package/dist/commonjs/components/EmptyState.d.ts +1 -0
  19. package/dist/commonjs/components/EmptyState.js +10 -87
  20. package/dist/commonjs/components/EndOfListFooter.js +7 -81
  21. package/dist/commonjs/components/ErrorBoundary.js +72 -566
  22. package/dist/commonjs/components/HeadersSection.js +31 -110
  23. package/dist/commonjs/components/HighlightText.js +17 -58
  24. package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
  25. package/dist/commonjs/components/Inspector/AboutModal.js +351 -0
  26. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
  27. package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
  28. package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
  29. package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
  30. package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
  31. package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
  32. package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
  33. package/dist/commonjs/components/Inspector/DebuggingTab.js +64 -871
  34. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
  35. package/dist/commonjs/components/Inspector/FabLauncher.js +85 -54
  36. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
  37. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +9 -0
  38. package/dist/commonjs/components/Inspector/FeedbackModal.js +167 -521
  39. package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
  40. package/dist/commonjs/components/Inspector/InspectorHeader.js +219 -1093
  41. package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
  42. package/dist/commonjs/components/Inspector/MainScreen.js +60 -332
  43. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +136 -278
  44. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +134 -361
  45. package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
  46. package/dist/commonjs/components/Inspector/NetworkDetail.js +96 -432
  47. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
  48. package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
  49. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +17 -433
  50. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
  51. package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
  52. package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
  53. package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
  54. package/dist/commonjs/components/Inspector/SettingsPanel.js +431 -3431
  55. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
  56. package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
  57. package/dist/commonjs/components/Inspector/TabBar.js +47 -183
  58. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +34 -408
  59. package/dist/commonjs/components/JsonViewer.js +168 -380
  60. package/dist/commonjs/components/LogCard.js +57 -567
  61. package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
  62. package/dist/commonjs/components/MetaAccordion.js +69 -238
  63. package/dist/commonjs/components/MiniBarChart.js +3 -56
  64. package/dist/commonjs/components/MiniLineChart.js +3 -58
  65. package/dist/commonjs/components/NetworkIcons.d.ts +7 -0
  66. package/dist/commonjs/components/NetworkIcons.js +479 -997
  67. package/dist/commonjs/components/QRCodeView.js +5 -79
  68. package/dist/commonjs/components/SectionHeader.js +15 -37
  69. package/dist/commonjs/components/SegmentedTabs.js +7 -61
  70. package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
  71. package/dist/commonjs/components/Slider.js +15 -243
  72. package/dist/commonjs/components/SourcePageCard.js +30 -89
  73. package/dist/commonjs/components/Toast.js +5 -147
  74. package/dist/commonjs/components/TouchableScale.js +3 -24
  75. package/dist/commonjs/components/TreeNode.js +55 -130
  76. package/dist/commonjs/console.js +1 -16
  77. package/dist/commonjs/constants/index.js +1 -32
  78. package/dist/commonjs/constants/telemetryConfig.js +1 -6
  79. package/dist/commonjs/constants/version.d.ts +1 -1
  80. package/dist/commonjs/constants/version.js +1 -4
  81. package/dist/commonjs/crash.js +1 -23
  82. package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
  83. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
  84. package/dist/commonjs/customHooks/consoleLogger.js +6 -445
  85. package/dist/commonjs/customHooks/crashHandler.js +7 -656
  86. package/dist/commonjs/customHooks/logFilters.js +1 -23
  87. package/dist/commonjs/customHooks/networkLogger.js +2 -536
  88. package/dist/commonjs/customHooks/performanceTracker.js +63 -750
  89. package/dist/commonjs/customHooks/reduxLogger.js +2 -313
  90. package/dist/commonjs/customHooks/storageInspector.js +1 -435
  91. package/dist/commonjs/customHooks/useAccordion.js +1 -18
  92. package/dist/commonjs/decorators/index.js +1 -100
  93. package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
  94. package/dist/commonjs/helpers/index.js +8 -921
  95. package/dist/commonjs/helpers/memoryManager.js +1 -99
  96. package/dist/commonjs/helpers/qrGenerator.js +1 -367
  97. package/dist/commonjs/helpers/remoteConfig.js +1 -165
  98. package/dist/commonjs/helpers/searchQueryParser.js +1 -62
  99. package/dist/commonjs/helpers/settingsStore.js +1 -144
  100. package/dist/commonjs/helpers/telemetry.js +1 -501
  101. package/dist/commonjs/helpers/toast.js +1 -20
  102. package/dist/commonjs/i18n/index.js +1 -90
  103. package/dist/commonjs/i18n/locales/en.json +1 -1122
  104. package/dist/commonjs/index.js +5 -2153
  105. package/dist/commonjs/metro.js +6 -468
  106. package/dist/commonjs/native/NativeInspector.d.ts +3 -0
  107. package/dist/commonjs/native/NativeInspector.js +1 -402
  108. package/dist/commonjs/native/NativeNetworkInspector.d.ts +1 -0
  109. package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
  110. package/dist/commonjs/network.js +1 -13
  111. package/dist/commonjs/performance.js +1 -29
  112. package/dist/commonjs/redux.js +1 -20
  113. package/dist/commonjs/storage.js +1 -14
  114. package/dist/commonjs/styles/AppColors.js +1 -423
  115. package/dist/commonjs/styles/AppFonts.js +1 -17
  116. package/dist/commonjs/styles/common.js +1 -190
  117. package/dist/commonjs/styles/index.d.ts +6 -0
  118. package/dist/commonjs/styles/index.js +1 -1589
  119. package/dist/commonjs/types/enums.d.ts +2 -1
  120. package/dist/commonjs/types/enums.js +1 -150
  121. package/dist/commonjs/types/index.js +1 -18
  122. package/dist/commonjs/types/interfaces.d.ts +7 -0
  123. package/dist/commonjs/types/interfaces.js +1 -2
  124. package/dist/esm/analytics.js +1 -2
  125. package/dist/esm/bundle.js +1 -2
  126. package/dist/esm/capture.d.ts +2 -0
  127. package/dist/esm/capture.js +1 -29
  128. package/dist/esm/components/AnalyticsDetail.js +171 -664
  129. package/dist/esm/components/AnalyticsEventCard.js +77 -335
  130. package/dist/esm/components/AnalyticsGraph.js +95 -357
  131. package/dist/esm/components/AnimatedEntrance.js +1 -6
  132. package/dist/esm/components/AppHeaderLogo.js +7 -94
  133. package/dist/esm/components/BrandCircleIcon.js +114 -119
  134. package/dist/esm/components/BrandSquareIcon.js +73 -78
  135. package/dist/esm/components/CodeSnippet.js +58 -595
  136. package/dist/esm/components/ConsoleLogCard.js +91 -526
  137. package/dist/esm/components/CopyButton.js +3 -51
  138. package/dist/esm/components/DiffViewer.js +22 -48
  139. package/dist/esm/components/DomainHeader.js +43 -138
  140. package/dist/esm/components/EmptyState.d.ts +1 -0
  141. package/dist/esm/components/EmptyState.js +17 -56
  142. package/dist/esm/components/EndOfListFooter.js +15 -83
  143. package/dist/esm/components/ErrorBoundary.js +125 -582
  144. package/dist/esm/components/HeadersSection.js +52 -93
  145. package/dist/esm/components/HighlightText.js +17 -53
  146. package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
  147. package/dist/esm/components/Inspector/AboutModal.js +351 -0
  148. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
  149. package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
  150. package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
  151. package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
  152. package/dist/esm/components/Inspector/CrashDetail.js +236 -747
  153. package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
  154. package/dist/esm/components/Inspector/CrashTab.js +177 -711
  155. package/dist/esm/components/Inspector/DebuggingTab.js +156 -923
  156. package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
  157. package/dist/esm/components/Inspector/FabLauncher.js +85 -49
  158. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
  159. package/dist/esm/components/Inspector/FeedbackModal.d.ts +9 -0
  160. package/dist/esm/components/Inspector/FeedbackModal.js +182 -499
  161. package/dist/esm/components/Inspector/InspectorContext.js +1 -12
  162. package/dist/esm/components/Inspector/InspectorHeader.js +309 -1145
  163. package/dist/esm/components/Inspector/LogDetail.js +235 -1023
  164. package/dist/esm/components/Inspector/MainScreen.js +86 -320
  165. package/dist/esm/components/Inspector/MediaGalleryTab.js +157 -259
  166. package/dist/esm/components/Inspector/MediaPreviewModal.js +153 -340
  167. package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
  168. package/dist/esm/components/Inspector/NetworkDetail.js +141 -472
  169. package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
  170. package/dist/esm/components/Inspector/NetworkTab.js +125 -517
  171. package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
  172. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
  173. package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
  174. package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
  175. package/dist/esm/components/Inspector/ReduxTab.js +144 -722
  176. package/dist/esm/components/Inspector/SettingsPanel.js +647 -3609
  177. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
  178. package/dist/esm/components/Inspector/StorageTab.js +172 -866
  179. package/dist/esm/components/Inspector/TabBar.js +52 -183
  180. package/dist/esm/components/Inspector/UpdateAvailableModal.js +79 -416
  181. package/dist/esm/components/JsonViewer.js +179 -353
  182. package/dist/esm/components/LogCard.js +93 -565
  183. package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
  184. package/dist/esm/components/MetaAccordion.js +136 -267
  185. package/dist/esm/components/MiniBarChart.js +3 -18
  186. package/dist/esm/components/MiniLineChart.js +3 -20
  187. package/dist/esm/components/NetworkIcons.d.ts +7 -0
  188. package/dist/esm/components/NetworkIcons.js +481 -817
  189. package/dist/esm/components/QRCodeView.js +8 -45
  190. package/dist/esm/components/SectionHeader.js +22 -39
  191. package/dist/esm/components/SegmentedTabs.js +8 -57
  192. package/dist/esm/components/SkeletonPlaceholder.js +30 -163
  193. package/dist/esm/components/Slider.js +24 -213
  194. package/dist/esm/components/SourcePageCard.js +65 -86
  195. package/dist/esm/components/Toast.js +10 -117
  196. package/dist/esm/components/TouchableScale.js +3 -19
  197. package/dist/esm/components/TreeNode.js +58 -95
  198. package/dist/esm/console.js +1 -2
  199. package/dist/esm/constants/index.js +1 -28
  200. package/dist/esm/constants/telemetryConfig.js +1 -3
  201. package/dist/esm/constants/version.d.ts +1 -1
  202. package/dist/esm/constants/version.js +1 -1
  203. package/dist/esm/crash.js +1 -2
  204. package/dist/esm/customHooks/analyticsLogger.js +1 -230
  205. package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
  206. package/dist/esm/customHooks/consoleLogger.js +6 -432
  207. package/dist/esm/customHooks/crashHandler.js +7 -630
  208. package/dist/esm/customHooks/logFilters.js +1 -20
  209. package/dist/esm/customHooks/networkLogger.js +2 -519
  210. package/dist/esm/customHooks/performanceTracker.js +63 -723
  211. package/dist/esm/customHooks/reduxLogger.js +2 -293
  212. package/dist/esm/customHooks/storageInspector.js +1 -418
  213. package/dist/esm/customHooks/useAccordion.js +1 -16
  214. package/dist/esm/decorators/index.js +1 -95
  215. package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
  216. package/dist/esm/helpers/index.js +8 -861
  217. package/dist/esm/helpers/memoryManager.js +1 -91
  218. package/dist/esm/helpers/qrGenerator.js +1 -364
  219. package/dist/esm/helpers/remoteConfig.js +1 -160
  220. package/dist/esm/helpers/searchQueryParser.js +1 -59
  221. package/dist/esm/helpers/settingsStore.js +1 -134
  222. package/dist/esm/helpers/telemetry.js +1 -489
  223. package/dist/esm/helpers/toast.js +1 -15
  224. package/dist/esm/i18n/index.js +1 -78
  225. package/dist/esm/i18n/locales/en.json +1 -1122
  226. package/dist/esm/index.js +7 -1967
  227. package/dist/esm/metro.js +6 -459
  228. package/dist/esm/native/NativeInspector.d.ts +3 -0
  229. package/dist/esm/native/NativeInspector.js +1 -370
  230. package/dist/esm/native/NativeNetworkInspector.d.ts +1 -0
  231. package/dist/esm/native/NativeNetworkInspector.js +1 -2
  232. package/dist/esm/network.js +1 -1
  233. package/dist/esm/performance.js +1 -2
  234. package/dist/esm/redux.js +1 -1
  235. package/dist/esm/storage.js +1 -1
  236. package/dist/esm/styles/AppColors.js +1 -417
  237. package/dist/esm/styles/AppFonts.js +1 -13
  238. package/dist/esm/styles/common.js +1 -186
  239. package/dist/esm/styles/index.d.ts +6 -0
  240. package/dist/esm/styles/index.js +1 -1551
  241. package/dist/esm/types/enums.d.ts +2 -1
  242. package/dist/esm/types/enums.js +1 -147
  243. package/dist/esm/types/index.js +1 -2
  244. package/dist/esm/types/interfaces.d.ts +7 -0
  245. package/dist/esm/types/interfaces.js +1 -1
  246. package/ios/NetworkInspectorModule.mm +253 -136
  247. package/package.json +5 -3
  248. package/react-native-inapp-inspector.podspec +1 -1
  249. package/src/native/NativeInspector.ts +17 -0
  250. package/src/native/NativeNetworkInspector.ts +1 -0
  251. package/src/analytics.ts +0 -35
  252. package/src/bundle.ts +0 -25
  253. package/src/capture.ts +0 -101
  254. package/src/components/AnalyticsDetail.tsx +0 -870
  255. package/src/components/AnalyticsEventCard.tsx +0 -444
  256. package/src/components/AnalyticsGraph.tsx +0 -583
  257. package/src/components/AnimatedEntrance.tsx +0 -20
  258. package/src/components/AppHeaderLogo.tsx +0 -143
  259. package/src/components/BrandCircleIcon.tsx +0 -144
  260. package/src/components/BrandSquareIcon.tsx +0 -184
  261. package/src/components/CodeSnippet.tsx +0 -725
  262. package/src/components/ConsoleLogCard.tsx +0 -679
  263. package/src/components/CopyButton.tsx +0 -87
  264. package/src/components/DiffViewer.tsx +0 -82
  265. package/src/components/DomainHeader.tsx +0 -224
  266. package/src/components/EmptyState.tsx +0 -95
  267. package/src/components/EndOfListFooter.tsx +0 -100
  268. package/src/components/ErrorBoundary.tsx +0 -688
  269. package/src/components/HeadersSection.tsx +0 -172
  270. package/src/components/HighlightText.tsx +0 -100
  271. package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
  272. package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
  273. package/src/components/Inspector/BundleTab.tsx +0 -4768
  274. package/src/components/Inspector/ConsoleTab.tsx +0 -726
  275. package/src/components/Inspector/CrashDetail.tsx +0 -997
  276. package/src/components/Inspector/CrashFilterModal.tsx +0 -721
  277. package/src/components/Inspector/CrashTab.tsx +0 -933
  278. package/src/components/Inspector/DebuggingTab.tsx +0 -1103
  279. package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
  280. package/src/components/Inspector/FabLauncher.tsx +0 -80
  281. package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
  282. package/src/components/Inspector/FeedbackModal.tsx +0 -626
  283. package/src/components/Inspector/InspectorContext.tsx +0 -28
  284. package/src/components/Inspector/InspectorHeader.tsx +0 -1545
  285. package/src/components/Inspector/LogDetail.tsx +0 -1431
  286. package/src/components/Inspector/MainScreen.tsx +0 -459
  287. package/src/components/Inspector/MediaGalleryTab.tsx +0 -355
  288. package/src/components/Inspector/MediaPreviewModal.tsx +0 -435
  289. package/src/components/Inspector/NavigationTracker.tsx +0 -13
  290. package/src/components/Inspector/NetworkDetail.tsx +0 -795
  291. package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
  292. package/src/components/Inspector/NetworkTab.tsx +0 -820
  293. package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
  294. package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
  295. package/src/components/Inspector/PerformanceTab.tsx +0 -1967
  296. package/src/components/Inspector/ReduxDetail.tsx +0 -1651
  297. package/src/components/Inspector/ReduxTab.tsx +0 -987
  298. package/src/components/Inspector/SettingsPanel.tsx +0 -4580
  299. package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
  300. package/src/components/Inspector/StorageTab.tsx +0 -1159
  301. package/src/components/Inspector/TabBar.tsx +0 -263
  302. package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
  303. package/src/components/JsonViewer.tsx +0 -547
  304. package/src/components/LogCard.tsx +0 -694
  305. package/src/components/LogSyntaxHighlighter.tsx +0 -178
  306. package/src/components/MetaAccordion.tsx +0 -355
  307. package/src/components/MiniBarChart.tsx +0 -42
  308. package/src/components/MiniLineChart.tsx +0 -33
  309. package/src/components/NetworkIcons.tsx +0 -2599
  310. package/src/components/QRCodeView.tsx +0 -75
  311. package/src/components/SectionHeader.tsx +0 -101
  312. package/src/components/SegmentedTabs.tsx +0 -83
  313. package/src/components/SkeletonPlaceholder.tsx +0 -206
  314. package/src/components/Slider.tsx +0 -300
  315. package/src/components/SourcePageCard.tsx +0 -150
  316. package/src/components/Toast.tsx +0 -131
  317. package/src/components/TouchableScale.tsx +0 -61
  318. package/src/components/TreeNode.tsx +0 -171
  319. package/src/console.ts +0 -24
  320. package/src/constants/index.ts +0 -41
  321. package/src/constants/telemetryConfig.ts +0 -4
  322. package/src/constants/version.ts +0 -3
  323. package/src/crash.ts +0 -32
  324. package/src/customHooks/analyticsLogger.ts +0 -336
  325. package/src/customHooks/bundleAnalyzer.ts +0 -1256
  326. package/src/customHooks/consoleLogger.ts +0 -530
  327. package/src/customHooks/crashHandler.ts +0 -944
  328. package/src/customHooks/logFilters.ts +0 -32
  329. package/src/customHooks/networkLogger.ts +0 -624
  330. package/src/customHooks/performanceTracker.ts +0 -1014
  331. package/src/customHooks/reduxLogger.ts +0 -406
  332. package/src/customHooks/storageInspector.ts +0 -513
  333. package/src/customHooks/useAccordion.tsx +0 -27
  334. package/src/decorators/index.ts +0 -184
  335. package/src/helpers/gaAnalyticsRegistry.ts +0 -204
  336. package/src/helpers/index.ts +0 -1092
  337. package/src/helpers/memoryManager.ts +0 -138
  338. package/src/helpers/qrGenerator.ts +0 -430
  339. package/src/helpers/remoteConfig.ts +0 -212
  340. package/src/helpers/searchQueryParser.ts +0 -84
  341. package/src/helpers/settingsStore.ts +0 -171
  342. package/src/helpers/telemetry.ts +0 -568
  343. package/src/helpers/toast.ts +0 -17
  344. package/src/i18n/index.ts +0 -104
  345. package/src/i18n/locales/en.json +0 -1125
  346. package/src/index.tsx +0 -2635
  347. package/src/metro.ts +0 -598
  348. package/src/network.ts +0 -22
  349. package/src/performance.ts +0 -38
  350. package/src/redux.ts +0 -23
  351. package/src/storage.ts +0 -18
  352. package/src/styles/AppColors.ts +0 -455
  353. package/src/styles/AppFonts.ts +0 -26
  354. package/src/styles/common.ts +0 -209
  355. package/src/styles/index.ts +0 -1606
  356. package/src/types/enums.ts +0 -208
  357. package/src/types/index.ts +0 -34
  358. package/src/types/interfaces.ts +0 -530
@@ -1,307 +1,165 @@
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
- var __importDefault = (this && this.__importDefault) || function (mod) {
36
- return (mod && mod.__esModule) ? mod : { "default": mod };
37
- };
38
- Object.defineProperty(exports, "__esModule", { value: true });
39
- exports.MediaGalleryTab = void 0;
40
- const react_1 = __importStar(require("react"));
41
- const react_native_1 = require("react-native");
42
- const AppColors_1 = require("../../styles/AppColors");
43
- const AppFonts_1 = require("../../styles/AppFonts");
44
- const TouchableScale_1 = __importDefault(require("../TouchableScale"));
45
- const EmptyState_1 = __importDefault(require("../EmptyState"));
46
- const NetworkIcons_1 = require("../NetworkIcons");
47
- const MediaPreviewModal_1 = require("./MediaPreviewModal");
48
- const capture_1 = require("../../capture");
49
- const helpers_1 = require("../../helpers");
50
- const toast_1 = require("../../helpers/toast");
51
- const i18n_1 = require("../../i18n");
52
- const MediaGalleryTab = () => {
53
- const { t } = (0, i18n_1.useTranslation)();
54
- const [mediaList, setMediaList] = (0, react_1.useState)([]);
55
- const [refreshing, setRefreshing] = (0, react_1.useState)(false);
56
- const [selectedFilter, setSelectedFilter] = (0, react_1.useState)('all');
57
- const [selectedItem, setSelectedItem] = (0, react_1.useState)(null);
58
- const loadMedia = (0, react_1.useCallback)(async () => {
59
- try {
60
- const items = await capture_1.ScreenCapture.getMediaList();
61
- setMediaList(items);
62
- }
63
- catch {
64
- setMediaList([]);
65
- }
66
- }, []);
67
- (0, react_1.useEffect)(() => {
68
- loadMedia();
69
- }, [loadMedia]);
70
- const onRefresh = async () => {
71
- setRefreshing(true);
72
- await loadMedia();
73
- setRefreshing(false);
74
- };
75
- const filteredMedia = (0, react_1.useMemo)(() => {
76
- if (selectedFilter === 'all')
77
- return mediaList;
78
- return mediaList.filter(item => item.type === selectedFilter);
79
- }, [mediaList, selectedFilter]);
80
- const totalStorageBytes = (0, react_1.useMemo)(() => {
81
- return mediaList.reduce((sum, item) => sum + (item.sizeBytes || 0), 0);
82
- }, [mediaList]);
83
- const handleDeleteItem = async (item) => {
84
- await capture_1.ScreenCapture.deleteMedia(item.uri);
85
- await loadMedia();
86
- (0, toast_1.showToast)(t('mediaGallery.deleted'));
87
- };
88
- const handleClearAll = () => {
89
- react_native_1.Alert.alert(t('mediaGallery.purgeTitle'), t('mediaGallery.purgeMessage', { count: mediaList.length, size: (0, helpers_1.formatBytes)(totalStorageBytes) }), [
90
- { text: t('common.cancel'), style: 'cancel' },
91
- {
92
- text: t('common.clearAll'),
93
- style: 'destructive',
94
- onPress: async () => {
95
- await capture_1.ScreenCapture.clearAllMedia();
96
- await loadMedia();
97
- (0, toast_1.showToast)(t('mediaGallery.allPurged'));
98
- },
99
- },
100
- ]);
101
- };
102
- const handleConvertToGif = async (item) => {
103
- const gifResult = await capture_1.ScreenCapture.convertToGif(item.uri, { fps: 12, width: 480 });
104
- if (gifResult) {
105
- await loadMedia();
106
- }
107
- };
108
- const renderItem = ({ item }) => {
109
- const isVideo = item.type === 'video';
110
- const isGif = item.type === 'gif';
111
- return (<TouchableScale_1.default onPress={() => setSelectedItem(item)} style={galleryStyles.card}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(t,i,n,r){r===void 0&&(r=n);var s=Object.getOwnPropertyDescriptor(i,n);(!s||("get"in s?!i.__esModule:s.writable||s.configurable))&&(s={enumerable:!0,get:function(){return i[n]}}),Object.defineProperty(t,r,s)}):(function(t,i,n,r){r===void 0&&(r=n),t[r]=i[n]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(t,i){Object.defineProperty(t,"default",{enumerable:!0,value:i})}):function(t,i){t.default=i}),__importStar=this&&this.__importStar||(function(){var t=function(i){return t=Object.getOwnPropertyNames||function(n){var r=[];for(var s in n)Object.prototype.hasOwnProperty.call(n,s)&&(r[r.length]=s);return r},t(i)};return function(i){if(i&&i.__esModule)return i;var n={};if(i!=null)for(var r=t(i),s=0;s<r.length;s++)r[s]!=="default"&&__createBinding(n,i,r[s]);return __setModuleDefault(n,i),n}})(),__importDefault=this&&this.__importDefault||function(t){return t&&t.__esModule?t:{default:t}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaGalleryTab=void 0;const react_1=__importStar(require("react")),react_native_1=require("react-native"),AppColors_1=require("../../styles/AppColors"),AppFonts_1=require("../../styles/AppFonts"),TouchableScale_1=__importDefault(require("../TouchableScale")),EmptyState_1=__importDefault(require("../EmptyState")),NetworkIcons_1=require("../NetworkIcons"),MediaPreviewModal_1=require("./MediaPreviewModal"),capture_1=require("../../capture"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),i18n_1=require("../../i18n"),InspectorContext_1=require("./InspectorContext"),MediaGalleryTab=()=>{const{t}=(0,i18n_1.useTranslation)(),{refreshMediaCount:i,switchActiveTab:n}=(0,InspectorContext_1.useInspector)(),[r,s]=(0,react_1.useState)([]),[v,C]=(0,react_1.useState)(!1),[g,S]=(0,react_1.useState)("all"),[f,b]=(0,react_1.useState)(null),[c,y]=(0,react_1.useState)(new Set),[d,w]=(0,react_1.useState)("grid"),u=(0,react_1.useCallback)(async()=>{try{const e=await capture_1.ScreenCapture.getMediaList();s(e),i?.().catch(()=>{})}catch{s([])}},[i]);(0,react_1.useEffect)(()=>{u()},[u]);const x=async()=>{C(!0),await u(),C(!1)},p=(0,react_1.useMemo)(()=>g==="all"?r:r.filter(e=>e.type===g),[r,g]),m=(0,react_1.useMemo)(()=>r.reduce((e,o)=>e+(o.sizeBytes||0),0),[r]),_=(0,react_1.useCallback)(e=>{y(o=>{const l=new Set(o);return l.has(e)?l.delete(e):l.add(e),l})},[]),A=async e=>{await capture_1.ScreenCapture.deleteMedia(e.uri),y(l=>{const a=new Set(l);return a.delete(e.id),a}),await u(),await i?.()===0&&n("apis"),(0,toast_1.showToast)(t("mediaGallery.deleted"))},T=e=>{e?.uri&&((0,helpers_1.copyToClipboard)(e.uri,e.filename||"File URI"),(0,toast_1.showToast)(t("mediaGallery.uriCopied","File URI copied to clipboard")))},I=()=>{const e=r.filter(l=>c.has(l.id));if(e.length===0)return;const o=e.map(l=>l.uri).join(`
2
+ `);(0,helpers_1.copyToClipboard)(o,`${e.length} Media URIs`),(0,toast_1.showToast)(`${e.length} file URIs copied to clipboard`)},z=async e=>{try{const o=e.uri.startsWith("file://")||e.uri.startsWith("content://")||e.uri.startsWith("http")?e.uri:`file://${e.uri}`;await react_native_1.Share.share({url:o,title:e.filename,message:e.filename})}catch{(0,toast_1.showToast)(t("mediaGallery.shareUnavailable","Sharing not available on this device"))}},B=async()=>{const e=r.filter(o=>c.has(o.id));if(e.length!==0)try{const o=e[0],l=o.uri.startsWith("file://")||o.uri.startsWith("content://")||o.uri.startsWith("http")?o.uri:`file://${o.uri}`;await react_native_1.Share.share({url:l,title:o.filename,message:e.length===1?o.filename:`${e.length} items: ${e.map(a=>a.filename).join(", ")}`})}catch{(0,toast_1.showToast)(t("mediaGallery.shareUnavailable","Sharing not available on this device"))}},k=()=>{const e=c.size;e!==0&&react_native_1.Alert.alert(t("mediaGallery.deleteSelectedTitle"),t("mediaGallery.deleteSelectedMessage",{count:e}),[{text:t("common.cancel"),style:"cancel"},{text:t("mediaGallery.delete"),style:"destructive",onPress:async()=>{const o=r.filter(a=>c.has(a.id));for(const a of o)await capture_1.ScreenCapture.deleteMedia(a.uri);y(new Set),await u(),await i?.()===0&&n("apis"),(0,toast_1.showToast)(t("mediaGallery.deletedCount",{count:o.length}))}}])},V=()=>{react_native_1.Alert.alert(t("mediaGallery.purgeTitle"),t("mediaGallery.purgeMessage",{count:r.length,size:(0,helpers_1.formatBytes)(m)}),[{text:t("common.cancel"),style:"cancel"},{text:t("common.clearAll"),style:"destructive",onPress:async()=>{await capture_1.ScreenCapture.clearAllMedia(),y(new Set),await u(),await i?.(),n("apis"),(0,toast_1.showToast)(t("mediaGallery.allPurged"))}}])},M=async e=>{await capture_1.ScreenCapture.convertToGif(e.uri,{fps:12,width:480})&&(await u(),i?.().catch(()=>{}))},G=(e,o)=>{const l=o?AppColors_1.AppColors.sky400:AppColors_1.AppColors.slate400,a=12;switch(e){case"all":return<NetworkIcons_1.ScreencastIcon size={a}color={l}/>;case"image":return<NetworkIcons_1.ImageIcon size={a}color={l}/>;case"video":return<NetworkIcons_1.FilmIcon size={a}color={l}/>;case"gif":return<NetworkIcons_1.GifIcon size={a}color={l}/>}},R=({item:e})=>{const o=e.type==="video",l=e.type==="gif",a=o?e.thumbnailUri:e.uri,h=c.has(e.id);return<TouchableScale_1.default onPress={()=>b(e)}style={[galleryStyles.card,h&&galleryStyles.cardSelected]}>
112
3
  <react_native_1.View style={galleryStyles.thumbnailContainer}>
113
- <react_native_1.Image source={{ uri: item.uri }} style={galleryStyles.thumbnail} resizeMode="cover"/>
4
+ {a?<react_native_1.Image source={{uri:a}}style={galleryStyles.thumbnail}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.thumbnailFallback}>
5
+ {o?<NetworkIcons_1.FilmIcon size={26}color={AppColors_1.AppColors.sky400}/>:<NetworkIcons_1.ImageIcon size={26}color={AppColors_1.AppColors.slate400}/>}
6
+ </react_native_1.View>}
7
+
8
+
9
+ <react_native_1.TouchableOpacity onPress={()=>_(e.id)}style={[galleryStyles.checkbox,h&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
10
+ {h&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.white}/>}
11
+ </react_native_1.TouchableOpacity>
12
+
13
+ {o&&<react_native_1.View style={galleryStyles.miniPlayCircle}>
14
+ <NetworkIcons_1.PlayIcon size={14}color={AppColors_1.AppColors.white}/>
15
+ </react_native_1.View>}
114
16
  <react_native_1.View style={galleryStyles.typeBadge}>
115
- {isVideo ? (<NetworkIcons_1.FilmIcon size={11} color={AppColors_1.AppColors.sky400}/>) : isGif ? (<NetworkIcons_1.GifIcon size={11} color={AppColors_1.AppColors.warningAmber}/>) : (<NetworkIcons_1.ImageIcon size={11} color={AppColors_1.AppColors.emerald500}/>)}
17
+ {o?<NetworkIcons_1.FilmIcon size={11}color={AppColors_1.AppColors.sky400}/>:l?<NetworkIcons_1.GifIcon size={11}color={AppColors_1.AppColors.warningAmber}/>:<NetworkIcons_1.ImageIcon size={11}color={AppColors_1.AppColors.emerald500}/>}
116
18
  <react_native_1.Text style={galleryStyles.typeBadgeText}>
117
- {item.format.toUpperCase()}
19
+ {e.format.toUpperCase()}
118
20
  </react_native_1.Text>
119
21
  </react_native_1.View>
120
22
  </react_native_1.View>
121
23
 
122
24
  <react_native_1.View style={galleryStyles.cardInfo}>
123
- <react_native_1.Text style={galleryStyles.cardTitle} numberOfLines={1}>
124
- {item.filename}
25
+ <react_native_1.Text style={galleryStyles.cardTitle}numberOfLines={1}>
26
+ {e.filename}
125
27
  </react_native_1.Text>
126
28
  <react_native_1.View style={galleryStyles.cardMetaRow}>
29
+ <react_native_1.View style={{flexDirection:"row",alignItems:"center",gap:4,flex:1,minWidth:0}}>
30
+ <react_native_1.Text style={galleryStyles.cardMeta}numberOfLines={1}>
31
+ {(0,helpers_1.formatBytes)(e.sizeBytes)}
32
+ </react_native_1.Text>
33
+ <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
34
+ <react_native_1.Text style={galleryStyles.cardMeta}numberOfLines={1}>
35
+ {new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}
36
+ </react_native_1.Text>
37
+ </react_native_1.View>
38
+ <react_native_1.TouchableOpacity onPress={()=>T(e)}style={galleryStyles.gridCopyBtn}hitSlop={{top:6,bottom:6,left:6,right:6}}>
39
+ <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.slate400}/>
40
+ </react_native_1.TouchableOpacity>
41
+ </react_native_1.View>
42
+ </react_native_1.View>
43
+ </TouchableScale_1.default>},D=({item:e})=>{const o=e.type==="video",l=e.type==="gif",a=o?e.thumbnailUri:e.uri,h=c.has(e.id);return<TouchableScale_1.default onPress={()=>b(e)}style={[galleryStyles.listRow,h&&galleryStyles.listRowSelected]}>
44
+
45
+ <react_native_1.TouchableOpacity onPress={()=>_(e.id)}style={[galleryStyles.listCheckbox,h&&galleryStyles.checkboxSelected]}hitSlop={{top:8,bottom:8,left:8,right:8}}>
46
+ {h&&<NetworkIcons_1.CheckIcon size={12}color={AppColors_1.AppColors.white}/>}
47
+ </react_native_1.TouchableOpacity>
48
+
49
+
50
+ <react_native_1.View style={galleryStyles.listThumbContainer}>
51
+ {a?<react_native_1.Image source={{uri:a}}style={galleryStyles.listThumb}resizeMode="cover"/>:<react_native_1.View style={galleryStyles.listThumbFallback}>
52
+ {o?<NetworkIcons_1.FilmIcon size={18}color={AppColors_1.AppColors.sky400}/>:<NetworkIcons_1.ImageIcon size={18}color={AppColors_1.AppColors.slate400}/>}
53
+ </react_native_1.View>}
54
+ {o&&<react_native_1.View style={galleryStyles.listMiniPlay}>
55
+ <NetworkIcons_1.PlayIcon size={10}color={AppColors_1.AppColors.white}/>
56
+ </react_native_1.View>}
57
+ </react_native_1.View>
58
+
59
+
60
+ <react_native_1.View style={galleryStyles.listInfo}>
61
+ <react_native_1.Text style={galleryStyles.listTitle}numberOfLines={1}>
62
+ {e.filename}
63
+ </react_native_1.Text>
64
+ <react_native_1.View style={galleryStyles.listMetaRow}>
65
+ <react_native_1.View style={galleryStyles.listBadge}>
66
+ {o?<NetworkIcons_1.FilmIcon size={10}color={AppColors_1.AppColors.sky400}/>:l?<NetworkIcons_1.GifIcon size={10}color={AppColors_1.AppColors.warningAmber}/>:<NetworkIcons_1.ImageIcon size={10}color={AppColors_1.AppColors.emerald500}/>}
67
+ <react_native_1.Text style={galleryStyles.listBadgeText}>
68
+ {e.format.toUpperCase()}
69
+ </react_native_1.Text>
70
+ </react_native_1.View>
127
71
  <react_native_1.Text style={galleryStyles.cardMeta}>
128
- {(0, helpers_1.formatBytes)(item.sizeBytes)}
72
+ {(0,helpers_1.formatBytes)(e.sizeBytes)}
129
73
  </react_native_1.Text>
130
74
  <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
131
75
  <react_native_1.Text style={galleryStyles.cardMeta}>
132
- {new Date(item.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}
76
+ {new Date(e.timestamp).toLocaleDateString([],{month:"short",day:"numeric"})}{" "}
77
+ {new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit"})}
133
78
  </react_native_1.Text>
134
79
  </react_native_1.View>
135
80
  </react_native_1.View>
136
- </TouchableScale_1.default>);
137
- };
138
- return (<react_native_1.View style={galleryStyles.container}>
81
+
82
+
83
+ <react_native_1.View style={galleryStyles.listActionsRow}>
84
+ <react_native_1.TouchableOpacity onPress={()=>T(e)}style={galleryStyles.listCopyBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
85
+ <NetworkIcons_1.CopyIcon size={13}color={AppColors_1.AppColors.slate200}/>
86
+ </react_native_1.TouchableOpacity>
87
+
88
+ <react_native_1.TouchableOpacity onPress={()=>z(e)}style={galleryStyles.listShareBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
89
+ <NetworkIcons_1.ShareIcon size={13}color={AppColors_1.AppColors.sky400}/>
90
+ </react_native_1.TouchableOpacity>
91
+
92
+ <react_native_1.TouchableOpacity onPress={()=>A(e)}style={galleryStyles.listDeleteBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
93
+ <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
94
+ </react_native_1.TouchableOpacity>
95
+ </react_native_1.View>
96
+ </TouchableScale_1.default>};return<react_native_1.View style={galleryStyles.container}>
139
97
 
140
98
  <react_native_1.View style={galleryStyles.filterBar}>
141
99
  <react_native_1.View style={galleryStyles.chipGroup}>
142
- {['all', 'image', 'video', 'gif'].map(filterKey => {
143
- const isActive = selectedFilter === filterKey;
144
- const label = filterKey === 'all'
145
- ? t('mediaGallery.all', { count: mediaList.length })
146
- : filterKey === 'image'
147
- ? t('mediaGallery.photos')
148
- : filterKey === 'video'
149
- ? t('mediaGallery.videos')
150
- : t('mediaGallery.gifs');
151
- return (<react_native_1.TouchableOpacity key={filterKey} onPress={() => setSelectedFilter(filterKey)} style={[
152
- galleryStyles.chip,
153
- isActive && galleryStyles.chipActive,
154
- ]}>
155
- <react_native_1.Text style={[
156
- galleryStyles.chipText,
157
- isActive && galleryStyles.chipTextActive,
158
- ]}>
159
- {label}
100
+ {["all","image","video","gif"].map(e=>{const o=g===e,l=e==="all"?t("mediaGallery.all",{count:r.length}):t(e==="image"?"mediaGallery.photos":e==="video"?"mediaGallery.videos":"mediaGallery.gifs");return<react_native_1.TouchableOpacity key={e}onPress={()=>S(e)}style={[galleryStyles.chip,o&&galleryStyles.chipActive]}>
101
+ {G(e,o)}
102
+ <react_native_1.Text style={[galleryStyles.chipText,o&&galleryStyles.chipTextActive]}>
103
+ {l}
160
104
  </react_native_1.Text>
161
- </react_native_1.TouchableOpacity>);
162
- })}
105
+ </react_native_1.TouchableOpacity>})}
163
106
  </react_native_1.View>
164
107
 
165
- {mediaList.length > 0 && (<react_native_1.TouchableOpacity onPress={handleClearAll} style={galleryStyles.clearBtn} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
166
- <NetworkIcons_1.TrashIcon size={13} color={AppColors_1.AppColors.red500}/>
167
- <react_native_1.Text style={galleryStyles.clearBtnText}>{t('mediaGallery.purge', { size: (0, helpers_1.formatBytes)(totalStorageBytes) })}</react_native_1.Text>
168
- </react_native_1.TouchableOpacity>)}
108
+
109
+ <react_native_1.View style={galleryStyles.viewToggleContainer}>
110
+ <react_native_1.TouchableOpacity onPress={()=>w("grid")}style={[galleryStyles.viewToggleBtn,d==="grid"&&galleryStyles.viewToggleBtnActive]}>
111
+ <NetworkIcons_1.GridIcon size={13}color={d==="grid"?AppColors_1.AppColors.white:AppColors_1.AppColors.slate400}/>
112
+ </react_native_1.TouchableOpacity>
113
+ <react_native_1.TouchableOpacity onPress={()=>w("list")}style={[galleryStyles.viewToggleBtn,d==="list"&&galleryStyles.viewToggleBtnActive]}>
114
+ <NetworkIcons_1.ListIcon size={13}color={d==="list"?AppColors_1.AppColors.white:AppColors_1.AppColors.slate400}/>
115
+ </react_native_1.TouchableOpacity>
116
+ </react_native_1.View>
169
117
  </react_native_1.View>
170
118
 
171
119
 
172
- <react_native_1.FlatList data={filteredMedia} keyExtractor={item => item.id} renderItem={renderItem} numColumns={2} columnWrapperStyle={galleryStyles.columnWrapper} contentContainerStyle={galleryStyles.listContent} refreshControl={<react_native_1.RefreshControl refreshing={refreshing} onRefresh={onRefresh} tintColor={AppColors_1.AppColors.sky400}/>} ListEmptyComponent={<EmptyState_1.default customTitle={t('mediaGallery.noMediaTitle')} customSub={t('mediaGallery.noMediaDesc')}/>}/>
120
+ {r.length>0&&<react_native_1.View style={galleryStyles.subBar}>
121
+ <react_native_1.View style={galleryStyles.resultCountWrapper}>
122
+ <react_native_1.Text style={[galleryStyles.resultCountText,c.size>0&&galleryStyles.resultCountTextSelected]}>
123
+ {c.size>0?t("mediaGallery.selectedOfResults",{selected:c.size,total:p.length,defaultValue:`Selected ${c.size} of ${p.length} results`}):p.length!==r.length?t("mediaGallery.showingFilteredResults",{count:p.length,total:r.length,defaultValue:`Showing ${p.length} of ${r.length} results`}):t("mediaGallery.showingResults",{count:p.length,defaultValue:`Showing ${p.length} results`})}
124
+ </react_native_1.Text>
125
+ </react_native_1.View>
126
+
127
+ <react_native_1.View style={galleryStyles.actionsGroup}>
128
+ {c.size>0&&<>
129
+ <react_native_1.TouchableOpacity onPress={I}style={galleryStyles.copySelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
130
+ <NetworkIcons_1.CopyIcon size={12}color={AppColors_1.AppColors.slate200}/>
131
+ <react_native_1.Text style={galleryStyles.copySelectedBtnText}>
132
+ {t("mediaGallery.copyUri","Copy URI")}
133
+ </react_native_1.Text>
134
+ </react_native_1.TouchableOpacity>
173
135
 
136
+ <react_native_1.TouchableOpacity onPress={B}style={galleryStyles.shareSelectedBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
137
+ <NetworkIcons_1.ShareIcon size={12}color={AppColors_1.AppColors.sky400}/>
138
+ <react_native_1.Text style={galleryStyles.shareSelectedBtnText}>
139
+ {t("mediaGallery.share","Share")}
140
+ </react_native_1.Text>
141
+ </react_native_1.TouchableOpacity>
142
+
143
+ <react_native_1.TouchableOpacity onPress={k}style={galleryStyles.deleteBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
144
+ <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
145
+ <react_native_1.Text style={galleryStyles.deleteBtnText}>
146
+ {t("mediaGallery.deleteSelected",{count:c.size})}
147
+ </react_native_1.Text>
148
+ </react_native_1.TouchableOpacity>
149
+ </>}
150
+
151
+ <react_native_1.TouchableOpacity onPress={V}style={galleryStyles.clearBtn}hitSlop={{top:8,bottom:8,left:8,right:8}}>
152
+ <NetworkIcons_1.TrashIcon size={13}color={AppColors_1.AppColors.red500}/>
153
+ <react_native_1.Text style={galleryStyles.clearBtnText}>
154
+ {t("mediaGallery.purge",{size:(0,helpers_1.formatBytes)(m)})}
155
+ </react_native_1.Text>
156
+ </react_native_1.TouchableOpacity>
157
+ </react_native_1.View>
158
+ </react_native_1.View>}
159
+
160
+
161
+ <react_native_1.FlatList key={d}data={p}keyExtractor={e=>e.id}renderItem={d==="grid"?R:D}numColumns={d==="grid"?2:1}columnWrapperStyle={d==="grid"?galleryStyles.columnWrapper:void 0}contentContainerStyle={galleryStyles.listContent}refreshControl={<react_native_1.RefreshControl refreshing={v}onRefresh={x}tintColor={AppColors_1.AppColors.sky400}/>}ListEmptyComponent={<EmptyState_1.default customTitle={t("mediaGallery.noMediaTitle")}customSub={t("mediaGallery.noMediaDesc")}showReload={!1}/>}/>
174
162
 
175
163
 
176
- <MediaPreviewModal_1.MediaPreviewModal item={selectedItem} visible={!!selectedItem} onClose={() => setSelectedItem(null)} onDelete={handleDeleteItem} onConvertToGif={handleConvertToGif}/>
177
- </react_native_1.View>);
178
- };
179
- exports.MediaGalleryTab = MediaGalleryTab;
180
- const { width: WINDOW_WIDTH } = react_native_1.Dimensions.get('window');
181
- const CARD_WIDTH = (WINDOW_WIDTH - 36) / 2;
182
- const galleryStyles = react_native_1.StyleSheet.create({
183
- container: {
184
- flex: 1,
185
- backgroundColor: AppColors_1.AppColors.slate850,
186
- },
187
- filterBar: {
188
- flexDirection: 'row',
189
- alignItems: 'center',
190
- justifyContent: 'space-between',
191
- paddingHorizontal: 12,
192
- paddingVertical: 10,
193
- borderBottomWidth: 1,
194
- borderBottomColor: AppColors_1.AppColors.borderGlassLight,
195
- flexWrap: 'wrap',
196
- gap: 8,
197
- },
198
- chipGroup: {
199
- flexDirection: 'row',
200
- alignItems: 'center',
201
- gap: 6,
202
- },
203
- chip: {
204
- paddingHorizontal: 9,
205
- paddingVertical: 4.5,
206
- borderRadius: 6,
207
- backgroundColor: AppColors_1.AppColors.whiteAlpha06,
208
- borderWidth: 1,
209
- borderColor: AppColors_1.AppColors.whiteAlpha10,
210
- },
211
- chipActive: {
212
- backgroundColor: `${AppColors_1.AppColors.sky400}2E`,
213
- borderColor: AppColors_1.AppColors.sky400,
214
- },
215
- chipText: {
216
- fontFamily: AppFonts_1.AppFonts.interMedium,
217
- fontSize: 11,
218
- color: AppColors_1.AppColors.slate400,
219
- },
220
- chipTextActive: {
221
- fontFamily: AppFonts_1.AppFonts.interBold,
222
- color: AppColors_1.AppColors.sky400,
223
- },
224
- clearBtn: {
225
- flexDirection: 'row',
226
- alignItems: 'center',
227
- gap: 4,
228
- paddingHorizontal: 8,
229
- paddingVertical: 4,
230
- borderRadius: 6,
231
- backgroundColor: `${AppColors_1.AppColors.red500}1F`,
232
- borderWidth: 1,
233
- borderColor: `${AppColors_1.AppColors.red500}4D`,
234
- },
235
- clearBtnText: {
236
- fontFamily: AppFonts_1.AppFonts.interMedium,
237
- fontSize: 10.5,
238
- color: AppColors_1.AppColors.red500,
239
- },
240
- listContent: {
241
- padding: 12,
242
- gap: 12,
243
- },
244
- columnWrapper: {
245
- gap: 12,
246
- },
247
- card: {
248
- width: CARD_WIDTH,
249
- backgroundColor: AppColors_1.AppColors.slate800,
250
- borderRadius: 8,
251
- borderWidth: 1,
252
- borderColor: AppColors_1.AppColors.borderGlassLight,
253
- overflow: 'hidden',
254
- },
255
- thumbnailContainer: {
256
- width: '100%',
257
- height: 110,
258
- backgroundColor: AppColors_1.AppColors.slate850,
259
- position: 'relative',
260
- },
261
- thumbnail: {
262
- width: '100%',
263
- height: '100%',
264
- },
265
- typeBadge: {
266
- position: 'absolute',
267
- top: 6,
268
- right: 6,
269
- flexDirection: 'row',
270
- alignItems: 'center',
271
- gap: 3,
272
- backgroundColor: AppColors_1.AppColors.badgeGlassDark,
273
- paddingHorizontal: 5,
274
- paddingVertical: 2,
275
- borderRadius: 4,
276
- borderWidth: 1,
277
- borderColor: AppColors_1.AppColors.borderGlassMedium,
278
- },
279
- typeBadgeText: {
280
- fontFamily: AppFonts_1.AppFonts.interBold,
281
- fontSize: 9,
282
- color: AppColors_1.AppColors.slate200,
283
- },
284
- cardInfo: {
285
- padding: 8,
286
- gap: 3,
287
- },
288
- cardTitle: {
289
- fontFamily: AppFonts_1.AppFonts.interMedium,
290
- fontSize: 11.5,
291
- color: AppColors_1.AppColors.white,
292
- },
293
- cardMetaRow: {
294
- flexDirection: 'row',
295
- alignItems: 'center',
296
- gap: 4,
297
- },
298
- cardMeta: {
299
- fontFamily: AppFonts_1.AppFonts.interRegular,
300
- fontSize: 10,
301
- color: AppColors_1.AppColors.slate400,
302
- },
303
- cardMetaDot: {
304
- fontSize: 10,
305
- color: AppColors_1.AppColors.whiteAlpha30,
306
- },
307
- });
164
+ <MediaPreviewModal_1.MediaPreviewModal item={f}visible={!!f}onClose={()=>b(null)}onDelete={A}onConvertToGif={M}/>
165
+ </react_native_1.View>};exports.MediaGalleryTab=MediaGalleryTab;const{width:WINDOW_WIDTH}=react_native_1.Dimensions.get("window"),CARD_WIDTH=(WINDOW_WIDTH-36)/2,galleryStyles=react_native_1.StyleSheet.create({container:{flex:1,backgroundColor:AppColors_1.AppColors.slate850},filterBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:9,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.borderGlassLight,gap:8},chipGroup:{flexDirection:"row",alignItems:"center",gap:6,flexShrink:1},chip:{flexDirection:"row",alignItems:"center",gap:4.5,paddingHorizontal:8,paddingVertical:4.5,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha06,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha10},chipActive:{backgroundColor:`${AppColors_1.AppColors.sky400}2E`,borderColor:AppColors_1.AppColors.sky400},chipText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.slate400},chipTextActive:{fontFamily:AppFonts_1.AppFonts.interBold,color:AppColors_1.AppColors.sky400},subBar:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:12,paddingVertical:7,backgroundColor:`${AppColors_1.AppColors.slate900}99`,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.borderGlassLight,gap:8},resultCountWrapper:{flexDirection:"row",alignItems:"center",flexShrink:1},resultCountText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.slate400},resultCountTextSelected:{fontFamily:AppFonts_1.AppFonts.interSemiBold,color:AppColors_1.AppColors.sky400},actionsGroup:{flexDirection:"row",alignItems:"center",gap:6},viewToggleContainer:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.whiteAlpha06,borderRadius:6,padding:2,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha10},viewToggleBtn:{paddingHorizontal:7,paddingVertical:4,borderRadius:4,alignItems:"center",justifyContent:"center"},viewToggleBtnActive:{backgroundColor:`${AppColors_1.AppColors.violet600}80`},deleteBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}26`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}80`},deleteBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.red500},clearBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}1F`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}4D`},clearBtnText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.red500},listContent:{padding:12,gap:10},columnWrapper:{gap:12},card:{width:CARD_WIDTH,backgroundColor:AppColors_1.AppColors.slate800,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassLight,overflow:"hidden"},cardSelected:{borderColor:AppColors_1.AppColors.violet600,borderWidth:1.5},thumbnailContainer:{width:"100%",height:110,backgroundColor:AppColors_1.AppColors.slate850,position:"relative"},thumbnail:{width:"100%",height:"100%"},thumbnailFallback:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.slate900},checkbox:{position:"absolute",top:6,left:6,width:22,height:22,borderRadius:5,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.65)",backgroundColor:"rgba(15, 23, 42, 0.65)",alignItems:"center",justifyContent:"center",zIndex:10},checkboxSelected:{backgroundColor:AppColors_1.AppColors.violet600,borderColor:AppColors_1.AppColors.violet600},miniPlayCircle:{position:"absolute",top:"50%",left:"50%",width:32,height:32,marginTop:-16,marginLeft:-16,borderRadius:16,backgroundColor:`${AppColors_1.AppColors.sky400}D9`,alignItems:"center",justifyContent:"center",paddingLeft:2,shadowColor:"#000",shadowOffset:{width:0,height:2},shadowOpacity:.4,shadowRadius:4,elevation:4},typeBadge:{position:"absolute",top:6,right:6,flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.badgeGlassDark,paddingHorizontal:5,paddingVertical:2,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassMedium},typeBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:9,color:AppColors_1.AppColors.slate200},cardInfo:{padding:8,gap:3},cardTitle:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11.5,color:AppColors_1.AppColors.white},cardMetaRow:{flexDirection:"row",alignItems:"center",gap:4},cardMeta:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:10,color:AppColors_1.AppColors.slate400},cardMetaDot:{fontSize:10,color:AppColors_1.AppColors.whiteAlpha30},listRow:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.slate800,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassLight,padding:8,gap:10},listRowSelected:{borderColor:AppColors_1.AppColors.violet600,borderWidth:1.5,backgroundColor:`${AppColors_1.AppColors.violet600}14`},listCheckbox:{width:20,height:20,borderRadius:4,borderWidth:1.5,borderColor:"rgba(255, 255, 255, 0.65)",backgroundColor:"rgba(15, 23, 42, 0.65)",alignItems:"center",justifyContent:"center"},listThumbContainer:{width:46,height:46,borderRadius:6,backgroundColor:AppColors_1.AppColors.slate850,overflow:"hidden",position:"relative"},listThumb:{width:"100%",height:"100%"},listThumbFallback:{width:"100%",height:"100%",alignItems:"center",justifyContent:"center",backgroundColor:AppColors_1.AppColors.slate900},listMiniPlay:{position:"absolute",top:"50%",left:"50%",width:20,height:20,marginTop:-10,marginLeft:-10,borderRadius:10,backgroundColor:`${AppColors_1.AppColors.sky400}D9`,alignItems:"center",justifyContent:"center",paddingLeft:1},listInfo:{flex:1,gap:4,minWidth:0},listTitle:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.white},listMetaRow:{flexDirection:"row",alignItems:"center",gap:6,flexWrap:"wrap"},listBadge:{flexDirection:"row",alignItems:"center",gap:3,backgroundColor:AppColors_1.AppColors.badgeGlassDark,paddingHorizontal:4,paddingVertical:1.5,borderRadius:4,borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassMedium},listBadgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:8.5,color:AppColors_1.AppColors.slate200},gridCopyBtn:{padding:3,borderRadius:4,backgroundColor:AppColors_1.AppColors.whiteAlpha08},listActionsRow:{flexDirection:"row",alignItems:"center",gap:6},listCopyBtn:{padding:6,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha10,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha15},listShareBtn:{padding:6,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky400}18`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}40`},listDeleteBtn:{padding:6,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.red500}14`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}33`},copySelectedBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha10,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha20},copySelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:10.5,color:AppColors_1.AppColors.slate200},shareSelectedBtn:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky400}20`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}60`},shareSelectedBtnText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,color:AppColors_1.AppColors.sky400}});