react-native-inapp-inspector 2.3.19 → 2.3.21

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 (353) hide show
  1. package/README.md +14 -14
  2. package/android/src/main/java/com/inappinspector/NetworkInspectorModule.kt +67 -0
  3. package/dist/commonjs/analytics.js +1 -24
  4. package/dist/commonjs/bundle.js +1 -16
  5. package/dist/commonjs/capture.js +1 -35
  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.js +10 -87
  19. package/dist/commonjs/components/EndOfListFooter.js +7 -81
  20. package/dist/commonjs/components/ErrorBoundary.js +72 -566
  21. package/dist/commonjs/components/HeadersSection.js +31 -110
  22. package/dist/commonjs/components/HighlightText.js +17 -58
  23. package/dist/commonjs/components/Inspector/AboutModal.d.ts +6 -0
  24. package/dist/commonjs/components/Inspector/AboutModal.js +243 -0
  25. package/dist/commonjs/components/Inspector/AnalyticsFilterModal.js +98 -797
  26. package/dist/commonjs/components/Inspector/AnalyticsTab.js +284 -930
  27. package/dist/commonjs/components/Inspector/BundleTab.js +551 -2918
  28. package/dist/commonjs/components/Inspector/ConsoleTab.js +79 -492
  29. package/dist/commonjs/components/Inspector/CrashDetail.js +123 -672
  30. package/dist/commonjs/components/Inspector/CrashFilterModal.js +66 -498
  31. package/dist/commonjs/components/Inspector/CrashTab.js +98 -670
  32. package/dist/commonjs/components/Inspector/DebuggingTab.js +74 -875
  33. package/dist/commonjs/components/Inspector/DeviceInfoTab.js +143 -907
  34. package/dist/commonjs/components/Inspector/FabLauncher.js +42 -466
  35. package/dist/commonjs/components/Inspector/FeatureUnderDevNotice.js +6 -99
  36. package/dist/commonjs/components/Inspector/InspectorContext.js +1 -21
  37. package/dist/commonjs/components/Inspector/InspectorHeader.js +191 -1110
  38. package/dist/commonjs/components/Inspector/LogDetail.js +168 -994
  39. package/dist/commonjs/components/Inspector/MainScreen.js +52 -335
  40. package/dist/commonjs/components/Inspector/MediaGalleryTab.js +97 -644
  41. package/dist/commonjs/components/Inspector/MediaPreviewModal.js +90 -605
  42. package/dist/commonjs/components/Inspector/NavigationTracker.js +1 -12
  43. package/dist/commonjs/components/Inspector/NetworkDetail.js +89 -411
  44. package/dist/commonjs/components/Inspector/NetworkFilterModal.js +60 -576
  45. package/dist/commonjs/components/Inspector/NetworkTab.js +84 -514
  46. package/dist/commonjs/components/Inspector/NpmStarPrompt.js +18 -434
  47. package/dist/commonjs/components/Inspector/NpmUpdateToast.js +25 -298
  48. package/dist/commonjs/components/Inspector/PerformanceTab.js +182 -1397
  49. package/dist/commonjs/components/Inspector/ReduxDetail.js +188 -1089
  50. package/dist/commonjs/components/Inspector/ReduxTab.js +85 -701
  51. package/dist/commonjs/components/Inspector/SettingsPanel.js +427 -3807
  52. package/dist/commonjs/components/Inspector/SkeletonPlaceholder.js +11 -180
  53. package/dist/commonjs/components/Inspector/StorageTab.js +93 -826
  54. package/dist/commonjs/components/Inspector/TabBar.js +36 -334
  55. package/dist/commonjs/components/Inspector/UpdateAvailableModal.js +37 -412
  56. package/dist/commonjs/components/JsonViewer.js +168 -381
  57. package/dist/commonjs/components/LogCard.js +57 -567
  58. package/dist/commonjs/components/LogSyntaxHighlighter.js +11 -130
  59. package/dist/commonjs/components/MetaAccordion.js +69 -238
  60. package/dist/commonjs/components/MiniBarChart.js +3 -56
  61. package/dist/commonjs/components/MiniLineChart.js +3 -58
  62. package/dist/commonjs/components/NetworkIcons.d.ts +13 -0
  63. package/dist/commonjs/components/NetworkIcons.js +521 -1022
  64. package/dist/commonjs/components/QRCodeView.js +5 -79
  65. package/dist/commonjs/components/SectionHeader.js +15 -37
  66. package/dist/commonjs/components/SegmentedTabs.js +7 -62
  67. package/dist/commonjs/components/SkeletonPlaceholder.js +11 -180
  68. package/dist/commonjs/components/Slider.js +15 -243
  69. package/dist/commonjs/components/SourcePageCard.js +30 -89
  70. package/dist/commonjs/components/Toast.js +5 -147
  71. package/dist/commonjs/components/TouchableScale.js +3 -24
  72. package/dist/commonjs/components/TreeNode.js +55 -130
  73. package/dist/commonjs/console.js +1 -16
  74. package/dist/commonjs/constants/index.js +1 -32
  75. package/dist/commonjs/constants/telemetryConfig.js +1 -6
  76. package/dist/commonjs/constants/version.d.ts +1 -1
  77. package/dist/commonjs/constants/version.js +1 -4
  78. package/dist/commonjs/crash.js +1 -23
  79. package/dist/commonjs/customHooks/analyticsLogger.js +1 -250
  80. package/dist/commonjs/customHooks/bundleAnalyzer.js +1 -957
  81. package/dist/commonjs/customHooks/consoleLogger.js +6 -445
  82. package/dist/commonjs/customHooks/crashHandler.js +7 -656
  83. package/dist/commonjs/customHooks/logFilters.js +1 -23
  84. package/dist/commonjs/customHooks/networkLogger.js +2 -536
  85. package/dist/commonjs/customHooks/performanceTracker.js +63 -750
  86. package/dist/commonjs/customHooks/reduxLogger.js +2 -313
  87. package/dist/commonjs/customHooks/storageInspector.js +1 -435
  88. package/dist/commonjs/customHooks/useAccordion.js +1 -18
  89. package/dist/commonjs/decorators/index.js +1 -100
  90. package/dist/commonjs/helpers/gaAnalyticsRegistry.js +1 -148
  91. package/dist/commonjs/helpers/index.d.ts +1 -0
  92. package/dist/commonjs/helpers/index.js +8 -921
  93. package/dist/commonjs/helpers/memoryManager.js +1 -99
  94. package/dist/commonjs/helpers/qrGenerator.js +1 -367
  95. package/dist/commonjs/helpers/remoteConfig.js +1 -165
  96. package/dist/commonjs/helpers/searchQueryParser.js +1 -62
  97. package/dist/commonjs/helpers/settingsStore.js +1 -144
  98. package/dist/commonjs/helpers/telemetry.js +1 -501
  99. package/dist/commonjs/helpers/toast.js +1 -20
  100. package/dist/commonjs/i18n/index.js +1 -90
  101. package/dist/commonjs/i18n/locales/en.json +1 -1140
  102. package/dist/commonjs/index.js +5 -2168
  103. package/dist/commonjs/metro.js +6 -468
  104. package/dist/commonjs/native/NativeInspector.d.ts +1 -0
  105. package/dist/commonjs/native/NativeInspector.js +1 -415
  106. package/dist/commonjs/native/NativeNetworkInspector.js +1 -4
  107. package/dist/commonjs/network.js +1 -13
  108. package/dist/commonjs/performance.js +1 -29
  109. package/dist/commonjs/redux.js +1 -20
  110. package/dist/commonjs/storage.js +1 -14
  111. package/dist/commonjs/styles/AppColors.js +1 -423
  112. package/dist/commonjs/styles/AppFonts.js +1 -17
  113. package/dist/commonjs/styles/common.js +1 -190
  114. package/dist/commonjs/styles/index.d.ts +6 -0
  115. package/dist/commonjs/styles/index.js +1 -1589
  116. package/dist/commonjs/types/enums.d.ts +0 -1
  117. package/dist/commonjs/types/enums.js +1 -152
  118. package/dist/commonjs/types/index.js +1 -18
  119. package/dist/commonjs/types/interfaces.d.ts +2 -2
  120. package/dist/commonjs/types/interfaces.js +1 -2
  121. package/dist/esm/analytics.js +1 -2
  122. package/dist/esm/bundle.js +1 -2
  123. package/dist/esm/capture.js +1 -32
  124. package/dist/esm/components/AnalyticsDetail.js +171 -664
  125. package/dist/esm/components/AnalyticsEventCard.js +77 -335
  126. package/dist/esm/components/AnalyticsGraph.js +95 -357
  127. package/dist/esm/components/AnimatedEntrance.js +1 -6
  128. package/dist/esm/components/AppHeaderLogo.js +7 -94
  129. package/dist/esm/components/BrandCircleIcon.js +114 -119
  130. package/dist/esm/components/BrandSquareIcon.js +73 -78
  131. package/dist/esm/components/CodeSnippet.js +58 -595
  132. package/dist/esm/components/ConsoleLogCard.js +91 -526
  133. package/dist/esm/components/CopyButton.js +3 -51
  134. package/dist/esm/components/DiffViewer.js +22 -48
  135. package/dist/esm/components/DomainHeader.js +43 -138
  136. package/dist/esm/components/EmptyState.js +17 -56
  137. package/dist/esm/components/EndOfListFooter.js +15 -83
  138. package/dist/esm/components/ErrorBoundary.js +125 -582
  139. package/dist/esm/components/HeadersSection.js +52 -93
  140. package/dist/esm/components/HighlightText.js +17 -53
  141. package/dist/esm/components/Inspector/AboutModal.d.ts +6 -0
  142. package/dist/esm/components/Inspector/AboutModal.js +243 -0
  143. package/dist/esm/components/Inspector/AnalyticsFilterModal.js +225 -886
  144. package/dist/esm/components/Inspector/AnalyticsTab.js +296 -904
  145. package/dist/esm/components/Inspector/BundleTab.js +1175 -3502
  146. package/dist/esm/components/Inspector/ConsoleTab.js +113 -488
  147. package/dist/esm/components/Inspector/CrashDetail.js +236 -747
  148. package/dist/esm/components/Inspector/CrashFilterModal.js +149 -541
  149. package/dist/esm/components/Inspector/CrashTab.js +177 -711
  150. package/dist/esm/components/Inspector/DebuggingTab.js +164 -925
  151. package/dist/esm/components/Inspector/DeviceInfoTab.js +199 -924
  152. package/dist/esm/components/Inspector/FabLauncher.js +68 -454
  153. package/dist/esm/components/Inspector/FeatureUnderDevNotice.js +14 -70
  154. package/dist/esm/components/Inspector/InspectorContext.js +1 -12
  155. package/dist/esm/components/Inspector/InspectorHeader.js +282 -1163
  156. package/dist/esm/components/Inspector/LogDetail.js +235 -1023
  157. package/dist/esm/components/Inspector/MainScreen.js +78 -323
  158. package/dist/esm/components/Inspector/MediaGalleryTab.js +143 -650
  159. package/dist/esm/components/Inspector/MediaPreviewModal.js +138 -613
  160. package/dist/esm/components/Inspector/NavigationTracker.js +1 -10
  161. package/dist/esm/components/Inspector/NetworkDetail.js +138 -455
  162. package/dist/esm/components/Inspector/NetworkFilterModal.js +122 -597
  163. package/dist/esm/components/Inspector/NetworkTab.js +125 -517
  164. package/dist/esm/components/Inspector/NpmStarPrompt.js +58 -434
  165. package/dist/esm/components/Inspector/NpmUpdateToast.js +45 -281
  166. package/dist/esm/components/Inspector/PerformanceTab.js +393 -1570
  167. package/dist/esm/components/Inspector/ReduxDetail.js +307 -1170
  168. package/dist/esm/components/Inspector/ReduxTab.js +144 -722
  169. package/dist/esm/components/Inspector/SettingsPanel.js +643 -3985
  170. package/dist/esm/components/Inspector/SkeletonPlaceholder.js +30 -163
  171. package/dist/esm/components/Inspector/StorageTab.js +172 -866
  172. package/dist/esm/components/Inspector/TabBar.js +45 -305
  173. package/dist/esm/components/Inspector/UpdateAvailableModal.js +80 -418
  174. package/dist/esm/components/JsonViewer.js +179 -354
  175. package/dist/esm/components/LogCard.js +93 -565
  176. package/dist/esm/components/LogSyntaxHighlighter.js +11 -123
  177. package/dist/esm/components/MetaAccordion.js +136 -267
  178. package/dist/esm/components/MiniBarChart.js +3 -18
  179. package/dist/esm/components/MiniLineChart.js +3 -20
  180. package/dist/esm/components/NetworkIcons.d.ts +13 -0
  181. package/dist/esm/components/NetworkIcons.js +523 -838
  182. package/dist/esm/components/QRCodeView.js +8 -45
  183. package/dist/esm/components/SectionHeader.js +22 -39
  184. package/dist/esm/components/SegmentedTabs.js +8 -58
  185. package/dist/esm/components/SkeletonPlaceholder.js +30 -163
  186. package/dist/esm/components/Slider.js +24 -213
  187. package/dist/esm/components/SourcePageCard.js +65 -86
  188. package/dist/esm/components/Toast.js +10 -117
  189. package/dist/esm/components/TouchableScale.js +3 -19
  190. package/dist/esm/components/TreeNode.js +58 -95
  191. package/dist/esm/console.js +1 -2
  192. package/dist/esm/constants/index.js +1 -28
  193. package/dist/esm/constants/telemetryConfig.js +1 -3
  194. package/dist/esm/constants/version.d.ts +1 -1
  195. package/dist/esm/constants/version.js +1 -1
  196. package/dist/esm/crash.js +1 -2
  197. package/dist/esm/customHooks/analyticsLogger.js +1 -230
  198. package/dist/esm/customHooks/bundleAnalyzer.js +1 -944
  199. package/dist/esm/customHooks/consoleLogger.js +6 -432
  200. package/dist/esm/customHooks/crashHandler.js +7 -630
  201. package/dist/esm/customHooks/logFilters.js +1 -20
  202. package/dist/esm/customHooks/networkLogger.js +2 -519
  203. package/dist/esm/customHooks/performanceTracker.js +63 -723
  204. package/dist/esm/customHooks/reduxLogger.js +2 -293
  205. package/dist/esm/customHooks/storageInspector.js +1 -418
  206. package/dist/esm/customHooks/useAccordion.js +1 -16
  207. package/dist/esm/decorators/index.js +1 -95
  208. package/dist/esm/helpers/gaAnalyticsRegistry.js +1 -143
  209. package/dist/esm/helpers/index.d.ts +1 -0
  210. package/dist/esm/helpers/index.js +8 -861
  211. package/dist/esm/helpers/memoryManager.js +1 -91
  212. package/dist/esm/helpers/qrGenerator.js +1 -364
  213. package/dist/esm/helpers/remoteConfig.js +1 -160
  214. package/dist/esm/helpers/searchQueryParser.js +1 -59
  215. package/dist/esm/helpers/settingsStore.js +1 -134
  216. package/dist/esm/helpers/telemetry.js +1 -489
  217. package/dist/esm/helpers/toast.js +1 -15
  218. package/dist/esm/i18n/index.js +1 -78
  219. package/dist/esm/i18n/locales/en.json +1 -1140
  220. package/dist/esm/index.js +7 -1982
  221. package/dist/esm/metro.js +6 -459
  222. package/dist/esm/native/NativeInspector.d.ts +1 -0
  223. package/dist/esm/native/NativeInspector.js +1 -382
  224. package/dist/esm/native/NativeNetworkInspector.js +1 -2
  225. package/dist/esm/network.js +1 -1
  226. package/dist/esm/performance.js +1 -2
  227. package/dist/esm/redux.js +1 -1
  228. package/dist/esm/storage.js +1 -1
  229. package/dist/esm/styles/AppColors.js +1 -417
  230. package/dist/esm/styles/AppFonts.js +1 -13
  231. package/dist/esm/styles/common.js +1 -186
  232. package/dist/esm/styles/index.d.ts +6 -0
  233. package/dist/esm/styles/index.js +1 -1551
  234. package/dist/esm/types/enums.d.ts +0 -1
  235. package/dist/esm/types/enums.js +1 -149
  236. package/dist/esm/types/index.js +1 -2
  237. package/dist/esm/types/interfaces.d.ts +2 -2
  238. package/dist/esm/types/interfaces.js +1 -1
  239. package/ios/NetworkInspectorModule.mm +60 -12
  240. package/package.json +5 -3
  241. package/src/native/NativeInspector.ts +18 -0
  242. package/dist/commonjs/components/Inspector/FeedbackModal.d.ts +0 -7
  243. package/dist/commonjs/components/Inspector/FeedbackModal.js +0 -552
  244. package/dist/esm/components/Inspector/FeedbackModal.d.ts +0 -7
  245. package/dist/esm/components/Inspector/FeedbackModal.js +0 -515
  246. package/src/analytics.ts +0 -35
  247. package/src/bundle.ts +0 -25
  248. package/src/capture.ts +0 -109
  249. package/src/components/AnalyticsDetail.tsx +0 -870
  250. package/src/components/AnalyticsEventCard.tsx +0 -444
  251. package/src/components/AnalyticsGraph.tsx +0 -583
  252. package/src/components/AnimatedEntrance.tsx +0 -20
  253. package/src/components/AppHeaderLogo.tsx +0 -143
  254. package/src/components/BrandCircleIcon.tsx +0 -144
  255. package/src/components/BrandSquareIcon.tsx +0 -184
  256. package/src/components/CodeSnippet.tsx +0 -725
  257. package/src/components/ConsoleLogCard.tsx +0 -679
  258. package/src/components/CopyButton.tsx +0 -87
  259. package/src/components/DiffViewer.tsx +0 -82
  260. package/src/components/DomainHeader.tsx +0 -224
  261. package/src/components/EmptyState.tsx +0 -97
  262. package/src/components/EndOfListFooter.tsx +0 -100
  263. package/src/components/ErrorBoundary.tsx +0 -688
  264. package/src/components/HeadersSection.tsx +0 -172
  265. package/src/components/HighlightText.tsx +0 -100
  266. package/src/components/Inspector/AnalyticsFilterModal.tsx +0 -1250
  267. package/src/components/Inspector/AnalyticsTab.tsx +0 -1362
  268. package/src/components/Inspector/BundleTab.tsx +0 -4768
  269. package/src/components/Inspector/ConsoleTab.tsx +0 -726
  270. package/src/components/Inspector/CrashDetail.tsx +0 -997
  271. package/src/components/Inspector/CrashFilterModal.tsx +0 -721
  272. package/src/components/Inspector/CrashTab.tsx +0 -933
  273. package/src/components/Inspector/DebuggingTab.tsx +0 -1103
  274. package/src/components/Inspector/DeviceInfoTab.tsx +0 -1397
  275. package/src/components/Inspector/FabLauncher.tsx +0 -590
  276. package/src/components/Inspector/FeatureUnderDevNotice.tsx +0 -94
  277. package/src/components/Inspector/FeedbackModal.tsx +0 -626
  278. package/src/components/Inspector/InspectorContext.tsx +0 -28
  279. package/src/components/Inspector/InspectorHeader.tsx +0 -1583
  280. package/src/components/Inspector/LogDetail.tsx +0 -1431
  281. package/src/components/Inspector/MainScreen.tsx +0 -460
  282. package/src/components/Inspector/MediaGalleryTab.tsx +0 -829
  283. package/src/components/Inspector/MediaPreviewModal.tsx +0 -783
  284. package/src/components/Inspector/NavigationTracker.tsx +0 -13
  285. package/src/components/Inspector/NetworkDetail.tsx +0 -778
  286. package/src/components/Inspector/NetworkFilterModal.tsx +0 -730
  287. package/src/components/Inspector/NetworkTab.tsx +0 -820
  288. package/src/components/Inspector/NpmStarPrompt.tsx +0 -532
  289. package/src/components/Inspector/NpmUpdateToast.tsx +0 -387
  290. package/src/components/Inspector/PerformanceTab.tsx +0 -1967
  291. package/src/components/Inspector/ReduxDetail.tsx +0 -1651
  292. package/src/components/Inspector/ReduxTab.tsx +0 -987
  293. package/src/components/Inspector/SettingsPanel.tsx +0 -5136
  294. package/src/components/Inspector/SkeletonPlaceholder.tsx +0 -206
  295. package/src/components/Inspector/StorageTab.tsx +0 -1159
  296. package/src/components/Inspector/TabBar.tsx +0 -431
  297. package/src/components/Inspector/UpdateAvailableModal.tsx +0 -555
  298. package/src/components/JsonViewer.tsx +0 -549
  299. package/src/components/LogCard.tsx +0 -694
  300. package/src/components/LogSyntaxHighlighter.tsx +0 -178
  301. package/src/components/MetaAccordion.tsx +0 -355
  302. package/src/components/MiniBarChart.tsx +0 -42
  303. package/src/components/MiniLineChart.tsx +0 -33
  304. package/src/components/NetworkIcons.tsx +0 -2655
  305. package/src/components/QRCodeView.tsx +0 -75
  306. package/src/components/SectionHeader.tsx +0 -101
  307. package/src/components/SegmentedTabs.tsx +0 -84
  308. package/src/components/SkeletonPlaceholder.tsx +0 -206
  309. package/src/components/Slider.tsx +0 -300
  310. package/src/components/SourcePageCard.tsx +0 -150
  311. package/src/components/Toast.tsx +0 -131
  312. package/src/components/TouchableScale.tsx +0 -61
  313. package/src/components/TreeNode.tsx +0 -171
  314. package/src/console.ts +0 -24
  315. package/src/constants/index.ts +0 -41
  316. package/src/constants/telemetryConfig.ts +0 -4
  317. package/src/constants/version.ts +0 -3
  318. package/src/crash.ts +0 -32
  319. package/src/customHooks/analyticsLogger.ts +0 -336
  320. package/src/customHooks/bundleAnalyzer.ts +0 -1256
  321. package/src/customHooks/consoleLogger.ts +0 -530
  322. package/src/customHooks/crashHandler.ts +0 -944
  323. package/src/customHooks/logFilters.ts +0 -32
  324. package/src/customHooks/networkLogger.ts +0 -624
  325. package/src/customHooks/performanceTracker.ts +0 -1014
  326. package/src/customHooks/reduxLogger.ts +0 -406
  327. package/src/customHooks/storageInspector.ts +0 -513
  328. package/src/customHooks/useAccordion.tsx +0 -27
  329. package/src/decorators/index.ts +0 -184
  330. package/src/helpers/gaAnalyticsRegistry.ts +0 -204
  331. package/src/helpers/index.ts +0 -1092
  332. package/src/helpers/memoryManager.ts +0 -138
  333. package/src/helpers/qrGenerator.ts +0 -430
  334. package/src/helpers/remoteConfig.ts +0 -212
  335. package/src/helpers/searchQueryParser.ts +0 -84
  336. package/src/helpers/settingsStore.ts +0 -171
  337. package/src/helpers/telemetry.ts +0 -568
  338. package/src/helpers/toast.ts +0 -17
  339. package/src/i18n/index.ts +0 -104
  340. package/src/i18n/locales/en.json +0 -1141
  341. package/src/index.tsx +0 -2650
  342. package/src/metro.ts +0 -598
  343. package/src/network.ts +0 -22
  344. package/src/performance.ts +0 -38
  345. package/src/redux.ts +0 -23
  346. package/src/storage.ts +0 -18
  347. package/src/styles/AppColors.ts +0 -455
  348. package/src/styles/AppFonts.ts +0 -26
  349. package/src/styles/common.ts +0 -209
  350. package/src/styles/index.ts +0 -1606
  351. package/src/types/enums.ts +0 -210
  352. package/src/types/index.ts +0 -34
  353. package/src/types/interfaces.ts +0 -535
@@ -1,712 +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 InspectorContext_1 = require("./InspectorContext");
53
- const MediaGalleryTab = () => {
54
- const { t } = (0, i18n_1.useTranslation)();
55
- const { refreshMediaCount, switchActiveTab } = (0, InspectorContext_1.useInspector)();
56
- const [mediaList, setMediaList] = (0, react_1.useState)([]);
57
- const [refreshing, setRefreshing] = (0, react_1.useState)(false);
58
- const [selectedFilter, setSelectedFilter] = (0, react_1.useState)('all');
59
- const [selectedItem, setSelectedItem] = (0, react_1.useState)(null);
60
- const [selectedIds, setSelectedIds] = (0, react_1.useState)(new Set());
61
- const [viewMode, setViewMode] = (0, react_1.useState)('grid');
62
- const loadMedia = (0, react_1.useCallback)(async () => {
63
- try {
64
- const items = await capture_1.ScreenCapture.getMediaList();
65
- setMediaList(items);
66
- refreshMediaCount?.().catch(() => { });
67
- }
68
- catch {
69
- setMediaList([]);
70
- }
71
- }, [refreshMediaCount]);
72
- (0, react_1.useEffect)(() => {
73
- loadMedia();
74
- }, [loadMedia]);
75
- const onRefresh = async () => {
76
- setRefreshing(true);
77
- await loadMedia();
78
- setRefreshing(false);
79
- };
80
- const filteredMedia = (0, react_1.useMemo)(() => {
81
- if (selectedFilter === 'all')
82
- return mediaList;
83
- return mediaList.filter(item => item.type === selectedFilter);
84
- }, [mediaList, selectedFilter]);
85
- const totalStorageBytes = (0, react_1.useMemo)(() => {
86
- return mediaList.reduce((sum, item) => sum + (item.sizeBytes || 0), 0);
87
- }, [mediaList]);
88
- const toggleSelect = (0, react_1.useCallback)((id) => {
89
- setSelectedIds(prev => {
90
- const next = new Set(prev);
91
- if (next.has(id)) {
92
- next.delete(id);
93
- }
94
- else {
95
- next.add(id);
96
- }
97
- return next;
98
- });
99
- }, []);
100
- const handleDeleteItem = async (item) => {
101
- await capture_1.ScreenCapture.deleteMedia(item.uri);
102
- setSelectedIds(prev => {
103
- const next = new Set(prev);
104
- next.delete(item.id);
105
- return next;
106
- });
107
- await loadMedia();
108
- const count = await refreshMediaCount?.();
109
- if (count === 0) {
110
- switchActiveTab('apis');
111
- }
112
- (0, toast_1.showToast)(t('mediaGallery.deleted'));
113
- };
114
- const handleDeleteSelected = () => {
115
- const count = selectedIds.size;
116
- if (count === 0)
117
- return;
118
- react_native_1.Alert.alert(t('mediaGallery.deleteSelectedTitle'), t('mediaGallery.deleteSelectedMessage', { count }), [
119
- { text: t('common.cancel'), style: 'cancel' },
120
- {
121
- text: t('mediaGallery.delete'),
122
- style: 'destructive',
123
- onPress: async () => {
124
- const itemsToDelete = mediaList.filter(item => selectedIds.has(item.id));
125
- for (const item of itemsToDelete) {
126
- await capture_1.ScreenCapture.deleteMedia(item.uri);
127
- }
128
- setSelectedIds(new Set());
129
- await loadMedia();
130
- const remainingCount = await refreshMediaCount?.();
131
- if (remainingCount === 0) {
132
- switchActiveTab('apis');
133
- }
134
- (0, toast_1.showToast)(t('mediaGallery.deletedCount', { count: itemsToDelete.length }));
135
- },
136
- },
137
- ]);
138
- };
139
- const handleClearAll = () => {
140
- react_native_1.Alert.alert(t('mediaGallery.purgeTitle'), t('mediaGallery.purgeMessage', { count: mediaList.length, size: (0, helpers_1.formatBytes)(totalStorageBytes) }), [
141
- { text: t('common.cancel'), style: 'cancel' },
142
- {
143
- text: t('common.clearAll'),
144
- style: 'destructive',
145
- onPress: async () => {
146
- await capture_1.ScreenCapture.clearAllMedia();
147
- setSelectedIds(new Set());
148
- await loadMedia();
149
- await refreshMediaCount?.();
150
- switchActiveTab('apis');
151
- (0, toast_1.showToast)(t('mediaGallery.allPurged'));
152
- },
153
- },
154
- ]);
155
- };
156
- const handleConvertToGif = async (item) => {
157
- const gifResult = await capture_1.ScreenCapture.convertToGif(item.uri, { fps: 12, width: 480 });
158
- if (gifResult) {
159
- await loadMedia();
160
- refreshMediaCount?.().catch(() => { });
161
- }
162
- };
163
- const renderFilterIcon = (filterKey, isActive) => {
164
- const iconColor = isActive ? AppColors_1.AppColors.sky400 : AppColors_1.AppColors.slate400;
165
- const iconSize = 12;
166
- switch (filterKey) {
167
- case 'all':
168
- return <NetworkIcons_1.ScreencastIcon size={iconSize} color={iconColor}/>;
169
- case 'image':
170
- return <NetworkIcons_1.ImageIcon size={iconSize} color={iconColor}/>;
171
- case 'video':
172
- return <NetworkIcons_1.FilmIcon size={iconSize} color={iconColor}/>;
173
- case 'gif':
174
- return <NetworkIcons_1.GifIcon size={iconSize} color={iconColor}/>;
175
- }
176
- };
177
- const renderGridItem = ({ item }) => {
178
- const isVideo = item.type === 'video';
179
- const isGif = item.type === 'gif';
180
- const thumbUri = isVideo ? item.thumbnailUri : item.uri;
181
- const isSelected = selectedIds.has(item.id);
182
- return (<TouchableScale_1.default onPress={() => setSelectedItem(item)} style={[galleryStyles.card, isSelected && galleryStyles.cardSelected]}>
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.copyImageOrMediaToClipboard)(e.uri,e.type==="image"?"Image":"Media")},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}/>}},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.card,h&&galleryStyles.cardSelected]}>
183
3
  <react_native_1.View style={galleryStyles.thumbnailContainer}>
184
- {thumbUri ? (<react_native_1.Image source={{ uri: thumbUri }} style={galleryStyles.thumbnail} resizeMode="cover"/>) : (<react_native_1.View style={galleryStyles.thumbnailFallback}>
185
- {isVideo ? (<NetworkIcons_1.FilmIcon size={26} color={AppColors_1.AppColors.sky400}/>) : (<NetworkIcons_1.ImageIcon size={26} color={AppColors_1.AppColors.slate400}/>)}
186
- </react_native_1.View>)}
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>}
187
7
 
188
8
 
189
- <react_native_1.TouchableOpacity onPress={() => toggleSelect(item.id)} style={[
190
- galleryStyles.checkbox,
191
- isSelected && galleryStyles.checkboxSelected,
192
- ]} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
193
- {isSelected && <NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.white}/>}
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}/>}
194
11
  </react_native_1.TouchableOpacity>
195
12
 
196
- {isVideo && (<react_native_1.View style={galleryStyles.miniPlayCircle}>
197
- <NetworkIcons_1.PlayIcon size={14} color={AppColors_1.AppColors.white}/>
198
- </react_native_1.View>)}
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>}
199
16
  <react_native_1.View style={galleryStyles.typeBadge}>
200
- {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}/>}
201
18
  <react_native_1.Text style={galleryStyles.typeBadgeText}>
202
- {item.format.toUpperCase()}
19
+ {e.format.toUpperCase()}
203
20
  </react_native_1.Text>
204
21
  </react_native_1.View>
205
22
  </react_native_1.View>
206
23
 
207
24
  <react_native_1.View style={galleryStyles.cardInfo}>
208
- <react_native_1.Text style={galleryStyles.cardTitle} numberOfLines={1}>
209
- {item.filename}
25
+ <react_native_1.Text style={galleryStyles.cardTitle}numberOfLines={1}>
26
+ {e.filename}
210
27
  </react_native_1.Text>
211
28
  <react_native_1.View style={galleryStyles.cardMetaRow}>
212
- <react_native_1.Text style={galleryStyles.cardMeta}>
213
- {(0, helpers_1.formatBytes)(item.sizeBytes)}
214
- </react_native_1.Text>
215
- <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
216
- <react_native_1.Text style={galleryStyles.cardMeta}>
217
- {new Date(item.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit' })}
218
- </react_native_1.Text>
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>
219
41
  </react_native_1.View>
220
42
  </react_native_1.View>
221
- </TouchableScale_1.default>);
222
- };
223
- const renderListItem = ({ item }) => {
224
- const isVideo = item.type === 'video';
225
- const isGif = item.type === 'gif';
226
- const thumbUri = isVideo ? item.thumbnailUri : item.uri;
227
- const isSelected = selectedIds.has(item.id);
228
- return (<TouchableScale_1.default onPress={() => setSelectedItem(item)} style={[galleryStyles.listRow, isSelected && galleryStyles.listRowSelected]}>
43
+ </TouchableScale_1.default>},O=({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]}>
229
44
 
230
- <react_native_1.TouchableOpacity onPress={() => toggleSelect(item.id)} style={[
231
- galleryStyles.listCheckbox,
232
- isSelected && galleryStyles.checkboxSelected,
233
- ]} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
234
- {isSelected && <NetworkIcons_1.CheckIcon size={12} color={AppColors_1.AppColors.white}/>}
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}/>}
235
47
  </react_native_1.TouchableOpacity>
236
48
 
237
49
 
238
50
  <react_native_1.View style={galleryStyles.listThumbContainer}>
239
- {thumbUri ? (<react_native_1.Image source={{ uri: thumbUri }} style={galleryStyles.listThumb} resizeMode="cover"/>) : (<react_native_1.View style={galleryStyles.listThumbFallback}>
240
- {isVideo ? (<NetworkIcons_1.FilmIcon size={18} color={AppColors_1.AppColors.sky400}/>) : (<NetworkIcons_1.ImageIcon size={18} color={AppColors_1.AppColors.slate400}/>)}
241
- </react_native_1.View>)}
242
- {isVideo && (<react_native_1.View style={galleryStyles.listMiniPlay}>
243
- <NetworkIcons_1.PlayIcon size={10} color={AppColors_1.AppColors.white}/>
244
- </react_native_1.View>)}
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>}
245
57
  </react_native_1.View>
246
58
 
247
59
 
248
60
  <react_native_1.View style={galleryStyles.listInfo}>
249
- <react_native_1.Text style={galleryStyles.listTitle} numberOfLines={1}>
250
- {item.filename}
61
+ <react_native_1.Text style={galleryStyles.listTitle}numberOfLines={1}>
62
+ {e.filename}
251
63
  </react_native_1.Text>
252
64
  <react_native_1.View style={galleryStyles.listMetaRow}>
253
65
  <react_native_1.View style={galleryStyles.listBadge}>
254
- {isVideo ? (<NetworkIcons_1.FilmIcon size={10} color={AppColors_1.AppColors.sky400}/>) : isGif ? (<NetworkIcons_1.GifIcon size={10} color={AppColors_1.AppColors.warningAmber}/>) : (<NetworkIcons_1.ImageIcon size={10} color={AppColors_1.AppColors.emerald500}/>)}
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}/>}
255
67
  <react_native_1.Text style={galleryStyles.listBadgeText}>
256
- {item.format.toUpperCase()}
68
+ {e.format.toUpperCase()}
257
69
  </react_native_1.Text>
258
70
  </react_native_1.View>
259
71
  <react_native_1.Text style={galleryStyles.cardMeta}>
260
- {(0, helpers_1.formatBytes)(item.sizeBytes)}
72
+ {(0,helpers_1.formatBytes)(e.sizeBytes)}
261
73
  </react_native_1.Text>
262
74
  <react_native_1.Text style={galleryStyles.cardMetaDot}>•</react_native_1.Text>
263
75
  <react_native_1.Text style={galleryStyles.cardMeta}>
264
- {new Date(item.timestamp).toLocaleDateString([], { month: 'short', day: 'numeric' })}{' '}
265
- {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"})}
266
78
  </react_native_1.Text>
267
79
  </react_native_1.View>
268
80
  </react_native_1.View>
269
81
 
270
82
 
271
- <react_native_1.TouchableOpacity onPress={() => handleDeleteItem(item)} style={galleryStyles.listDeleteBtn} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
272
- <NetworkIcons_1.TrashIcon size={14} color={AppColors_1.AppColors.red500}/>
273
- </react_native_1.TouchableOpacity>
274
- </TouchableScale_1.default>);
275
- };
276
- return (<react_native_1.View style={galleryStyles.container}>
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}>
277
97
 
278
98
  <react_native_1.View style={galleryStyles.filterBar}>
279
99
  <react_native_1.View style={galleryStyles.chipGroup}>
280
- {['all', 'image', 'video', 'gif'].map(filterKey => {
281
- const isActive = selectedFilter === filterKey;
282
- const label = filterKey === 'all'
283
- ? t('mediaGallery.all', { count: mediaList.length })
284
- : filterKey === 'image'
285
- ? t('mediaGallery.photos')
286
- : filterKey === 'video'
287
- ? t('mediaGallery.videos')
288
- : t('mediaGallery.gifs');
289
- return (<react_native_1.TouchableOpacity key={filterKey} onPress={() => setSelectedFilter(filterKey)} style={[
290
- galleryStyles.chip,
291
- isActive && galleryStyles.chipActive,
292
- ]}>
293
- {renderFilterIcon(filterKey, isActive)}
294
- <react_native_1.Text style={[
295
- galleryStyles.chipText,
296
- isActive && galleryStyles.chipTextActive,
297
- ]}>
298
- {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}
299
104
  </react_native_1.Text>
300
- </react_native_1.TouchableOpacity>);
301
- })}
105
+ </react_native_1.TouchableOpacity>})}
302
106
  </react_native_1.View>
303
107
 
304
108
 
305
109
  <react_native_1.View style={galleryStyles.viewToggleContainer}>
306
- <react_native_1.TouchableOpacity onPress={() => setViewMode('grid')} style={[
307
- galleryStyles.viewToggleBtn,
308
- viewMode === 'grid' && galleryStyles.viewToggleBtnActive,
309
- ]}>
310
- <NetworkIcons_1.GridIcon size={13} color={viewMode === 'grid' ? AppColors_1.AppColors.white : AppColors_1.AppColors.slate400}/>
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}/>
311
112
  </react_native_1.TouchableOpacity>
312
- <react_native_1.TouchableOpacity onPress={() => setViewMode('list')} style={[
313
- galleryStyles.viewToggleBtn,
314
- viewMode === 'list' && galleryStyles.viewToggleBtnActive,
315
- ]}>
316
- <NetworkIcons_1.ListIcon size={13} color={viewMode === 'list' ? AppColors_1.AppColors.white : AppColors_1.AppColors.slate400}/>
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}/>
317
115
  </react_native_1.TouchableOpacity>
318
116
  </react_native_1.View>
319
117
  </react_native_1.View>
320
118
 
321
119
 
322
- {mediaList.length > 0 && (<react_native_1.View style={galleryStyles.subBar}>
120
+ {r.length>0&&<react_native_1.View style={galleryStyles.subBar}>
323
121
  <react_native_1.View style={galleryStyles.resultCountWrapper}>
324
- <react_native_1.Text style={[
325
- galleryStyles.resultCountText,
326
- selectedIds.size > 0 && galleryStyles.resultCountTextSelected,
327
- ]}>
328
- {selectedIds.size > 0
329
- ? t('mediaGallery.selectedOfResults', {
330
- selected: selectedIds.size,
331
- total: filteredMedia.length,
332
- defaultValue: `Selected ${selectedIds.size} of ${filteredMedia.length} results`,
333
- })
334
- : filteredMedia.length !== mediaList.length
335
- ? t('mediaGallery.showingFilteredResults', {
336
- count: filteredMedia.length,
337
- total: mediaList.length,
338
- defaultValue: `Showing ${filteredMedia.length} of ${mediaList.length} results`,
339
- })
340
- : t('mediaGallery.showingResults', {
341
- count: filteredMedia.length,
342
- defaultValue: `Showing ${filteredMedia.length} results`,
343
- })}
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`})}
344
124
  </react_native_1.Text>
345
125
  </react_native_1.View>
346
126
 
347
127
  <react_native_1.View style={galleryStyles.actionsGroup}>
348
- {selectedIds.size > 0 && (<react_native_1.TouchableOpacity onPress={handleDeleteSelected} style={galleryStyles.deleteBtn} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
349
- <NetworkIcons_1.TrashIcon size={13} color={AppColors_1.AppColors.red500}/>
350
- <react_native_1.Text style={galleryStyles.deleteBtnText}>
351
- {t('mediaGallery.deleteSelected', { count: selectedIds.size })}
352
- </react_native_1.Text>
353
- </react_native_1.TouchableOpacity>)}
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>
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
+ </>}
354
150
 
355
- <react_native_1.TouchableOpacity onPress={handleClearAll} style={galleryStyles.clearBtn} hitSlop={{ top: 8, bottom: 8, left: 8, right: 8 }}>
356
- <NetworkIcons_1.TrashIcon size={13} color={AppColors_1.AppColors.red500}/>
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}/>
357
153
  <react_native_1.Text style={galleryStyles.clearBtnText}>
358
- {t('mediaGallery.purge', { size: (0, helpers_1.formatBytes)(totalStorageBytes) })}
154
+ {t("mediaGallery.purge",{size:(0,helpers_1.formatBytes)(m)})}
359
155
  </react_native_1.Text>
360
156
  </react_native_1.TouchableOpacity>
361
157
  </react_native_1.View>
362
- </react_native_1.View>)}
158
+ </react_native_1.View>}
363
159
 
364
160
 
365
- <react_native_1.FlatList key={viewMode} data={filteredMedia} keyExtractor={item => item.id} renderItem={viewMode === 'grid' ? renderGridItem : renderListItem} numColumns={viewMode === 'grid' ? 2 : 1} columnWrapperStyle={viewMode === 'grid' ? galleryStyles.columnWrapper : undefined} 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')} showReload={false}/>}/>
161
+ <react_native_1.FlatList key={d}data={p}keyExtractor={e=>e.id}renderItem={d==="grid"?D:O}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}/>}/>
366
162
 
367
163
 
368
- <MediaPreviewModal_1.MediaPreviewModal item={selectedItem} visible={!!selectedItem} onClose={() => setSelectedItem(null)} onDelete={handleDeleteItem} onConvertToGif={handleConvertToGif}/>
369
- </react_native_1.View>);
370
- };
371
- exports.MediaGalleryTab = MediaGalleryTab;
372
- const { width: WINDOW_WIDTH } = react_native_1.Dimensions.get('window');
373
- const CARD_WIDTH = (WINDOW_WIDTH - 36) / 2;
374
- const galleryStyles = react_native_1.StyleSheet.create({
375
- container: {
376
- flex: 1,
377
- backgroundColor: AppColors_1.AppColors.slate850,
378
- },
379
- filterBar: {
380
- flexDirection: 'row',
381
- alignItems: 'center',
382
- justifyContent: 'space-between',
383
- paddingHorizontal: 12,
384
- paddingVertical: 9,
385
- borderBottomWidth: 1,
386
- borderBottomColor: AppColors_1.AppColors.borderGlassLight,
387
- gap: 8,
388
- },
389
- chipGroup: {
390
- flexDirection: 'row',
391
- alignItems: 'center',
392
- gap: 6,
393
- flexShrink: 1,
394
- },
395
- chip: {
396
- flexDirection: 'row',
397
- alignItems: 'center',
398
- gap: 4.5,
399
- paddingHorizontal: 8,
400
- paddingVertical: 4.5,
401
- borderRadius: 6,
402
- backgroundColor: AppColors_1.AppColors.whiteAlpha06,
403
- borderWidth: 1,
404
- borderColor: AppColors_1.AppColors.whiteAlpha10,
405
- },
406
- chipActive: {
407
- backgroundColor: `${AppColors_1.AppColors.sky400}2E`,
408
- borderColor: AppColors_1.AppColors.sky400,
409
- },
410
- chipText: {
411
- fontFamily: AppFonts_1.AppFonts.interMedium,
412
- fontSize: 11,
413
- color: AppColors_1.AppColors.slate400,
414
- },
415
- chipTextActive: {
416
- fontFamily: AppFonts_1.AppFonts.interBold,
417
- color: AppColors_1.AppColors.sky400,
418
- },
419
- subBar: {
420
- flexDirection: 'row',
421
- alignItems: 'center',
422
- justifyContent: 'space-between',
423
- paddingHorizontal: 12,
424
- paddingVertical: 7,
425
- backgroundColor: `${AppColors_1.AppColors.slate900}99`,
426
- borderBottomWidth: 1,
427
- borderBottomColor: AppColors_1.AppColors.borderGlassLight,
428
- gap: 8,
429
- },
430
- resultCountWrapper: {
431
- flexDirection: 'row',
432
- alignItems: 'center',
433
- flexShrink: 1,
434
- },
435
- resultCountText: {
436
- fontFamily: AppFonts_1.AppFonts.interMedium,
437
- fontSize: 11,
438
- color: AppColors_1.AppColors.slate400,
439
- },
440
- resultCountTextSelected: {
441
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
442
- color: AppColors_1.AppColors.sky400,
443
- },
444
- actionsGroup: {
445
- flexDirection: 'row',
446
- alignItems: 'center',
447
- gap: 6,
448
- },
449
- viewToggleContainer: {
450
- flexDirection: 'row',
451
- alignItems: 'center',
452
- backgroundColor: AppColors_1.AppColors.whiteAlpha06,
453
- borderRadius: 6,
454
- padding: 2,
455
- borderWidth: 1,
456
- borderColor: AppColors_1.AppColors.whiteAlpha10,
457
- },
458
- viewToggleBtn: {
459
- paddingHorizontal: 7,
460
- paddingVertical: 4,
461
- borderRadius: 4,
462
- alignItems: 'center',
463
- justifyContent: 'center',
464
- },
465
- viewToggleBtnActive: {
466
- backgroundColor: `${AppColors_1.AppColors.violet600}80`,
467
- },
468
- deleteBtn: {
469
- flexDirection: 'row',
470
- alignItems: 'center',
471
- gap: 4,
472
- paddingHorizontal: 8,
473
- paddingVertical: 4,
474
- borderRadius: 6,
475
- backgroundColor: `${AppColors_1.AppColors.red500}26`,
476
- borderWidth: 1,
477
- borderColor: `${AppColors_1.AppColors.red500}80`,
478
- },
479
- deleteBtnText: {
480
- fontFamily: AppFonts_1.AppFonts.interBold,
481
- fontSize: 10.5,
482
- color: AppColors_1.AppColors.red500,
483
- },
484
- clearBtn: {
485
- flexDirection: 'row',
486
- alignItems: 'center',
487
- gap: 4,
488
- paddingHorizontal: 8,
489
- paddingVertical: 4,
490
- borderRadius: 6,
491
- backgroundColor: `${AppColors_1.AppColors.red500}1F`,
492
- borderWidth: 1,
493
- borderColor: `${AppColors_1.AppColors.red500}4D`,
494
- },
495
- clearBtnText: {
496
- fontFamily: AppFonts_1.AppFonts.interMedium,
497
- fontSize: 10.5,
498
- color: AppColors_1.AppColors.red500,
499
- },
500
- listContent: {
501
- padding: 12,
502
- gap: 10,
503
- },
504
- columnWrapper: {
505
- gap: 12,
506
- },
507
- card: {
508
- width: CARD_WIDTH,
509
- backgroundColor: AppColors_1.AppColors.slate800,
510
- borderRadius: 8,
511
- borderWidth: 1,
512
- borderColor: AppColors_1.AppColors.borderGlassLight,
513
- overflow: 'hidden',
514
- },
515
- cardSelected: {
516
- borderColor: AppColors_1.AppColors.violet600,
517
- borderWidth: 1.5,
518
- },
519
- thumbnailContainer: {
520
- width: '100%',
521
- height: 110,
522
- backgroundColor: AppColors_1.AppColors.slate850,
523
- position: 'relative',
524
- },
525
- thumbnail: {
526
- width: '100%',
527
- height: '100%',
528
- },
529
- thumbnailFallback: {
530
- width: '100%',
531
- height: '100%',
532
- alignItems: 'center',
533
- justifyContent: 'center',
534
- backgroundColor: AppColors_1.AppColors.slate900,
535
- },
536
- checkbox: {
537
- position: 'absolute',
538
- top: 6,
539
- left: 6,
540
- width: 22,
541
- height: 22,
542
- borderRadius: 5,
543
- borderWidth: 1.5,
544
- borderColor: 'rgba(255, 255, 255, 0.65)',
545
- backgroundColor: 'rgba(15, 23, 42, 0.65)',
546
- alignItems: 'center',
547
- justifyContent: 'center',
548
- zIndex: 10,
549
- },
550
- checkboxSelected: {
551
- backgroundColor: AppColors_1.AppColors.violet600,
552
- borderColor: AppColors_1.AppColors.violet600,
553
- },
554
- miniPlayCircle: {
555
- position: 'absolute',
556
- top: '50%',
557
- left: '50%',
558
- width: 32,
559
- height: 32,
560
- marginTop: -16,
561
- marginLeft: -16,
562
- borderRadius: 16,
563
- backgroundColor: `${AppColors_1.AppColors.sky400}D9`,
564
- alignItems: 'center',
565
- justifyContent: 'center',
566
- paddingLeft: 2,
567
- shadowColor: '#000',
568
- shadowOffset: { width: 0, height: 2 },
569
- shadowOpacity: 0.4,
570
- shadowRadius: 4,
571
- elevation: 4,
572
- },
573
- typeBadge: {
574
- position: 'absolute',
575
- top: 6,
576
- right: 6,
577
- flexDirection: 'row',
578
- alignItems: 'center',
579
- gap: 3,
580
- backgroundColor: AppColors_1.AppColors.badgeGlassDark,
581
- paddingHorizontal: 5,
582
- paddingVertical: 2,
583
- borderRadius: 4,
584
- borderWidth: 1,
585
- borderColor: AppColors_1.AppColors.borderGlassMedium,
586
- },
587
- typeBadgeText: {
588
- fontFamily: AppFonts_1.AppFonts.interBold,
589
- fontSize: 9,
590
- color: AppColors_1.AppColors.slate200,
591
- },
592
- cardInfo: {
593
- padding: 8,
594
- gap: 3,
595
- },
596
- cardTitle: {
597
- fontFamily: AppFonts_1.AppFonts.interMedium,
598
- fontSize: 11.5,
599
- color: AppColors_1.AppColors.white,
600
- },
601
- cardMetaRow: {
602
- flexDirection: 'row',
603
- alignItems: 'center',
604
- gap: 4,
605
- },
606
- cardMeta: {
607
- fontFamily: AppFonts_1.AppFonts.interRegular,
608
- fontSize: 10,
609
- color: AppColors_1.AppColors.slate400,
610
- },
611
- cardMetaDot: {
612
- fontSize: 10,
613
- color: AppColors_1.AppColors.whiteAlpha30,
614
- },
615
- listRow: {
616
- flexDirection: 'row',
617
- alignItems: 'center',
618
- backgroundColor: AppColors_1.AppColors.slate800,
619
- borderRadius: 8,
620
- borderWidth: 1,
621
- borderColor: AppColors_1.AppColors.borderGlassLight,
622
- padding: 8,
623
- gap: 10,
624
- },
625
- listRowSelected: {
626
- borderColor: AppColors_1.AppColors.violet600,
627
- borderWidth: 1.5,
628
- backgroundColor: `${AppColors_1.AppColors.violet600}14`,
629
- },
630
- listCheckbox: {
631
- width: 20,
632
- height: 20,
633
- borderRadius: 4,
634
- borderWidth: 1.5,
635
- borderColor: 'rgba(255, 255, 255, 0.65)',
636
- backgroundColor: 'rgba(15, 23, 42, 0.65)',
637
- alignItems: 'center',
638
- justifyContent: 'center',
639
- },
640
- listThumbContainer: {
641
- width: 46,
642
- height: 46,
643
- borderRadius: 6,
644
- backgroundColor: AppColors_1.AppColors.slate850,
645
- overflow: 'hidden',
646
- position: 'relative',
647
- },
648
- listThumb: {
649
- width: '100%',
650
- height: '100%',
651
- },
652
- listThumbFallback: {
653
- width: '100%',
654
- height: '100%',
655
- alignItems: 'center',
656
- justifyContent: 'center',
657
- backgroundColor: AppColors_1.AppColors.slate900,
658
- },
659
- listMiniPlay: {
660
- position: 'absolute',
661
- top: '50%',
662
- left: '50%',
663
- width: 20,
664
- height: 20,
665
- marginTop: -10,
666
- marginLeft: -10,
667
- borderRadius: 10,
668
- backgroundColor: `${AppColors_1.AppColors.sky400}D9`,
669
- alignItems: 'center',
670
- justifyContent: 'center',
671
- paddingLeft: 1,
672
- },
673
- listInfo: {
674
- flex: 1,
675
- gap: 4,
676
- minWidth: 0,
677
- },
678
- listTitle: {
679
- fontFamily: AppFonts_1.AppFonts.interMedium,
680
- fontSize: 12,
681
- color: AppColors_1.AppColors.white,
682
- },
683
- listMetaRow: {
684
- flexDirection: 'row',
685
- alignItems: 'center',
686
- gap: 6,
687
- flexWrap: 'wrap',
688
- },
689
- listBadge: {
690
- flexDirection: 'row',
691
- alignItems: 'center',
692
- gap: 3,
693
- backgroundColor: AppColors_1.AppColors.badgeGlassDark,
694
- paddingHorizontal: 4,
695
- paddingVertical: 1.5,
696
- borderRadius: 4,
697
- borderWidth: 1,
698
- borderColor: AppColors_1.AppColors.borderGlassMedium,
699
- },
700
- listBadgeText: {
701
- fontFamily: AppFonts_1.AppFonts.interBold,
702
- fontSize: 8.5,
703
- color: AppColors_1.AppColors.slate200,
704
- },
705
- listDeleteBtn: {
706
- padding: 6,
707
- borderRadius: 6,
708
- backgroundColor: `${AppColors_1.AppColors.red500}14`,
709
- borderWidth: 1,
710
- borderColor: `${AppColors_1.AppColors.red500}33`,
711
- },
712
- });
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}});