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,681 +1,166 @@
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.MediaPreviewModal = 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 NetworkIcons_1 = require("../NetworkIcons");
46
- const capture_1 = require("../../capture");
47
- const helpers_1 = require("../../helpers");
48
- const toast_1 = require("../../helpers/toast");
49
- const i18n_1 = require("../../i18n");
50
- const MediaPreviewModal = ({ item, visible, onClose, onDelete, onConvertToGif, }) => {
51
- const { t } = (0, i18n_1.useTranslation)();
52
- const [isConverting, setIsConverting] = (0, react_1.useState)(false);
53
- const [imageError, setImageError] = (0, react_1.useState)(false);
54
- const [isExpanded, setIsExpanded] = (0, react_1.useState)(false);
55
- const [isPlaying, setIsPlaying] = (0, react_1.useState)(false);
56
- const [playbackSpeed, setPlaybackSpeed] = (0, react_1.useState)('1.0x');
57
- const [isLooping, setIsLooping] = (0, react_1.useState)(true);
58
- const [scrubPosition, setScrubPosition] = (0, react_1.useState)(0.4);
59
- if (!item)
60
- return null;
61
- const handlePlayVideo = async () => {
62
- try {
63
- setIsPlaying(true);
64
- await capture_1.ScreenCapture.playVideo(item.uri);
65
- }
66
- catch {
67
- (0, toast_1.showToast)(t('mediaGallery.playError', 'Unable to play video'));
68
- }
69
- finally {
70
- setIsPlaying(false);
71
- }
72
- };
73
- const handleDelete = () => {
74
- react_native_1.Alert.alert(t('mediaGallery.deleteTitle'), t('mediaGallery.deleteMessage', { filename: item.filename }), [
75
- { text: t('common.cancel'), style: 'cancel' },
76
- {
77
- text: t('mediaGallery.delete'),
78
- style: 'destructive',
79
- onPress: () => {
80
- onDelete(item);
81
- onClose();
82
- },
83
- },
84
- ]);
85
- };
86
- const handleConvert = async () => {
87
- if (!onConvertToGif)
88
- return;
89
- setIsConverting(true);
90
- try {
91
- await onConvertToGif(item);
92
- (0, toast_1.showToast)(t('mediaGallery.convertedSuccess'));
93
- }
94
- catch {
95
- (0, toast_1.showToast)(t('mediaGallery.convertFailed'));
96
- }
97
- finally {
98
- setIsConverting(false);
99
- }
100
- };
101
- const isVideo = item.type === 'video';
102
- const isGif = item.type === 'gif';
103
- const durationSec = item.durationMs ? (item.durationMs / 1000).toFixed(1) : null;
104
- const formattedDuration = durationSec
105
- ? `00:${Number(durationSec) < 10 ? '0' : ''}${durationSec}`
106
- : '00:05.0';
107
- const hasBottomToolbar = isVideo || isGif;
108
- return (<react_native_1.Modal visible={visible} transparent={true} animationType="fade" onRequestClose={onClose}>
1
+ "use strict";var __createBinding=this&&this.__createBinding||(Object.create?(function(e,t,a,i){i===void 0&&(i=a);var r=Object.getOwnPropertyDescriptor(t,a);(!r||("get"in r?!t.__esModule:r.writable||r.configurable))&&(r={enumerable:!0,get:function(){return t[a]}}),Object.defineProperty(e,i,r)}):(function(e,t,a,i){i===void 0&&(i=a),e[i]=t[a]})),__setModuleDefault=this&&this.__setModuleDefault||(Object.create?(function(e,t){Object.defineProperty(e,"default",{enumerable:!0,value:t})}):function(e,t){e.default=t}),__importStar=this&&this.__importStar||(function(){var e=function(t){return e=Object.getOwnPropertyNames||function(a){var i=[];for(var r in a)Object.prototype.hasOwnProperty.call(a,r)&&(i[i.length]=r);return i},e(t)};return function(t){if(t&&t.__esModule)return t;var a={};if(t!=null)for(var i=e(t),r=0;r<i.length;r++)i[r]!=="default"&&__createBinding(a,t,i[r]);return __setModuleDefault(a,t),a}})(),__importDefault=this&&this.__importDefault||function(e){return e&&e.__esModule?e:{default:e}};Object.defineProperty(exports,"__esModule",{value:!0}),exports.MediaPreviewModal=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")),NetworkIcons_1=require("../NetworkIcons"),capture_1=require("../../capture"),helpers_1=require("../../helpers"),toast_1=require("../../helpers/toast"),i18n_1=require("../../i18n"),MediaPreviewModal=({item:e,visible:t,onClose:a,onDelete:i,onConvertToGif:r})=>{const{t:o}=(0,i18n_1.useTranslation)(),[y,b]=(0,react_1.useState)(!1),[v,g]=(0,react_1.useState)(!1),[n,T]=(0,react_1.useState)(!1),[C,f]=(0,react_1.useState)(!1),[A,x]=(0,react_1.useState)("1.0x"),[c,S]=(0,react_1.useState)(!0),[h,k]=(0,react_1.useState)(.4);if(!e)return null;const u=()=>{e?.uri&&(0,helpers_1.copyImageOrMediaToClipboard)(e.uri,e.type==="image"?"Image":"Media")},w=async()=>{try{f(!0),await capture_1.ScreenCapture.playVideo(e.uri)}catch{(0,toast_1.showToast)(o("mediaGallery.playError","Unable to play video"))}finally{f(!1)}},I=()=>{react_native_1.Alert.alert(o("mediaGallery.deleteTitle"),o("mediaGallery.deleteMessage",{filename:e.filename}),[{text:o("common.cancel"),style:"cancel"},{text:o("mediaGallery.delete"),style:"destructive",onPress:()=>{i(e),a()}}])},P=async()=>{if(r){b(!0);try{await r(e),(0,toast_1.showToast)(o("mediaGallery.convertedSuccess"))}catch{(0,toast_1.showToast)(o("mediaGallery.convertFailed"))}finally{b(!1)}}},_=async()=>{try{const l=e.uri.startsWith("file://")||e.uri.startsWith("content://")||e.uri.startsWith("http")?e.uri:`file://${e.uri}`,V=react_native_1.Platform.select({ios:{url:l,title:e.filename},default:{title:e.filename,message:e.filename,url:l}});(await react_native_1.Share.share(V)).action===react_native_1.Share.sharedAction&&(0,toast_1.showToast)(o("mediaGallery.shareSuccess","Shared successfully"))}catch(l){l?.message!=="User did not share"&&(0,toast_1.showToast)(o("mediaGallery.shareUnavailable","Sharing not available on this device"))}},s=e.type==="video",d=e.type==="gif",p=e.durationMs?(e.durationMs/1e3).toFixed(1):null,F=p?`00:${Number(p)<10?"0":""}${p}`:"00:05.0",m=!0;return<react_native_1.Modal visible={t}transparent={!0}animationType="fade"onRequestClose={a}>
109
2
  <react_native_1.View style={previewStyles.overlay}>
110
3
 
111
4
  <react_native_1.View style={previewStyles.header}>
112
- <react_native_1.View style={previewStyles.headerLeft}>
113
- <react_native_1.View style={[
114
- previewStyles.badge,
115
- {
116
- borderColor: isVideo
117
- ? `${AppColors_1.AppColors.sky400}80`
118
- : isGif
119
- ? `${AppColors_1.AppColors.warningAmber}80`
120
- : `${AppColors_1.AppColors.emerald500}80`,
121
- backgroundColor: isVideo
122
- ? `${AppColors_1.AppColors.sky400}20`
123
- : isGif
124
- ? `${AppColors_1.AppColors.warningAmber}20`
125
- : `${AppColors_1.AppColors.emerald500}20`,
126
- },
127
- ]}>
128
- {isVideo ? (<NetworkIcons_1.FilmIcon size={13} color={AppColors_1.AppColors.sky400}/>) : isGif ? (<NetworkIcons_1.GifIcon size={13} color={AppColors_1.AppColors.warningAmber}/>) : (<NetworkIcons_1.ImageIcon size={13} color={AppColors_1.AppColors.emerald500}/>)}
129
- <react_native_1.Text style={[
130
- previewStyles.badgeText,
131
- {
132
- color: isVideo
133
- ? AppColors_1.AppColors.sky400
134
- : isGif
135
- ? AppColors_1.AppColors.warningAmber
136
- : AppColors_1.AppColors.emerald500,
137
- },
138
- ]}>
139
- {item.format.toUpperCase()}
5
+ <react_native_1.TouchableOpacity activeOpacity={.8}onPress={u}style={previewStyles.headerLeft}>
6
+ <react_native_1.View style={[previewStyles.badge,{borderColor:s?`${AppColors_1.AppColors.sky400}80`:d?`${AppColors_1.AppColors.warningAmber}80`:`${AppColors_1.AppColors.emerald500}80`,backgroundColor:s?`${AppColors_1.AppColors.sky400}20`:d?`${AppColors_1.AppColors.warningAmber}20`:`${AppColors_1.AppColors.emerald500}20`}]}>
7
+ {s?<NetworkIcons_1.FilmIcon size={13}color={AppColors_1.AppColors.sky400}/>:d?<NetworkIcons_1.GifIcon size={13}color={AppColors_1.AppColors.warningAmber}/>:<NetworkIcons_1.ImageIcon size={13}color={AppColors_1.AppColors.emerald500}/>}
8
+ <react_native_1.Text style={[previewStyles.badgeText,{color:s?AppColors_1.AppColors.sky400:d?AppColors_1.AppColors.warningAmber:AppColors_1.AppColors.emerald500}]}>
9
+ {e.format.toUpperCase()}
140
10
  </react_native_1.Text>
141
11
  </react_native_1.View>
142
- <react_native_1.View style={{ flex: 1, minWidth: 0 }}>
143
- <react_native_1.Text style={previewStyles.title} numberOfLines={1}>
144
- {item.filename}
12
+ <react_native_1.View style={{flex:1,minWidth:0}}>
13
+ <react_native_1.Text style={previewStyles.title}numberOfLines={1}>
14
+ {e.filename}
145
15
  </react_native_1.Text>
146
16
  <react_native_1.Text style={previewStyles.subtitle}>
147
- {(0, helpers_1.formatBytes)(item.sizeBytes)} • {new Date(item.timestamp).toLocaleTimeString([], { hour: '2-digit', minute: '2-digit', second: '2-digit' })}
17
+ {(0,helpers_1.formatBytes)(e.sizeBytes)} • {new Date(e.timestamp).toLocaleTimeString([],{hour:"2-digit",minute:"2-digit",second:"2-digit"})}
148
18
  </react_native_1.Text>
149
19
  </react_native_1.View>
150
- </react_native_1.View>
20
+ </react_native_1.TouchableOpacity>
151
21
 
152
22
 
153
23
  <react_native_1.View style={previewStyles.headerRight}>
154
- <TouchableScale_1.default accessible={true} accessibilityRole="button" accessibilityLabel={t('mediaGallery.delete')} onPress={handleDelete} style={previewStyles.headerDeleteBtn} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}>
155
- <NetworkIcons_1.TrashIcon size={14} color={AppColors_1.AppColors.red500}/>
24
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={o("mediaGallery.copyUri","Copy URI")}onPress={u}style={previewStyles.headerActionBtn}hitSlop={{top:10,bottom:10,left:10,right:10}}>
25
+ <NetworkIcons_1.CopyIcon size={14}color={AppColors_1.AppColors.slate200}/>
26
+ </TouchableScale_1.default>
27
+
28
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={o("mediaGallery.share","Share")}onPress={_}style={[previewStyles.headerActionBtn,{backgroundColor:`${AppColors_1.AppColors.sky400}20`,borderColor:`${AppColors_1.AppColors.sky400}60`}]}hitSlop={{top:10,bottom:10,left:10,right:10}}>
29
+ <NetworkIcons_1.ShareIcon size={14}color={AppColors_1.AppColors.sky400}/>
156
30
  </TouchableScale_1.default>
157
31
 
158
- <react_native_1.TouchableOpacity accessible={true} accessibilityRole="button" accessibilityLabel={isExpanded ? t('mediaGallery.collapse', 'Exit Fullscreen') : t('mediaGallery.expand', 'Expand Fullscreen')} onPress={() => setIsExpanded(!isExpanded)} style={[
159
- previewStyles.headerIconBtn,
160
- isExpanded && { backgroundColor: `${AppColors_1.AppColors.sky400}30`, borderColor: `${AppColors_1.AppColors.sky400}70` },
161
- ]} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}>
162
- <NetworkIcons_1.ExpandCollapseIcon size={14} isExpanded={isExpanded} color={isExpanded ? AppColors_1.AppColors.sky400 : AppColors_1.AppColors.white}/>
32
+ <TouchableScale_1.default accessible={!0}accessibilityRole="button"accessibilityLabel={o("mediaGallery.delete")}onPress={I}style={previewStyles.headerDeleteBtn}hitSlop={{top:10,bottom:10,left:10,right:10}}>
33
+ <NetworkIcons_1.TrashIcon size={14}color={AppColors_1.AppColors.red500}/>
34
+ </TouchableScale_1.default>
35
+
36
+ <react_native_1.TouchableOpacity accessible={!0}accessibilityRole="button"accessibilityLabel={n?o("mediaGallery.collapse","Exit Fullscreen"):o("mediaGallery.expand","Expand Fullscreen")}onPress={()=>T(!n)}style={[previewStyles.headerIconBtn,n&&{backgroundColor:`${AppColors_1.AppColors.sky400}30`,borderColor:`${AppColors_1.AppColors.sky400}70`}]}hitSlop={{top:10,bottom:10,left:10,right:10}}>
37
+ <NetworkIcons_1.ExpandCollapseIcon size={14}isExpanded={n}color={n?AppColors_1.AppColors.sky400:AppColors_1.AppColors.white}/>
163
38
  </react_native_1.TouchableOpacity>
164
39
 
165
- <react_native_1.TouchableOpacity accessible={true} accessibilityRole="button" accessibilityLabel={t('mediaGallery.minimize', 'Minimize')} onPress={onClose} style={previewStyles.headerIconBtn} hitSlop={{ top: 10, bottom: 10, left: 10, right: 10 }}>
166
- <NetworkIcons_1.ChevronDownIcon size={15} color={AppColors_1.AppColors.white}/>
40
+ <react_native_1.TouchableOpacity accessible={!0}accessibilityRole="button"accessibilityLabel={o("mediaGallery.minimize","Minimize")}onPress={a}style={previewStyles.headerIconBtn}hitSlop={{top:10,bottom:10,left:10,right:10}}>
41
+ <NetworkIcons_1.ChevronDownIcon size={15}color={AppColors_1.AppColors.white}/>
167
42
  </react_native_1.TouchableOpacity>
168
43
  </react_native_1.View>
169
44
  </react_native_1.View>
170
45
 
171
46
 
172
- <react_native_1.View style={[
173
- previewStyles.stage,
174
- isExpanded && previewStyles.stageExpanded,
175
- !hasBottomToolbar && {
176
- paddingBottom: react_native_1.Platform.OS === 'ios' ? 34 : 16,
177
- },
178
- ]}>
179
- <react_native_1.TouchableOpacity activeOpacity={isVideo ? 0.9 : 1} onPress={isVideo ? handlePlayVideo : undefined} style={[
180
- previewStyles.previewCard,
181
- isExpanded && previewStyles.previewCardExpanded,
182
- ]}>
183
- {isVideo ? (item.thumbnailUri && !imageError ? (<>
184
- <react_native_1.Image source={{ uri: item.thumbnailUri }} style={previewStyles.image} resizeMode="contain" onError={() => setImageError(true)}/>
47
+ <react_native_1.View style={[previewStyles.stage,n&&previewStyles.stageExpanded,!m&&{paddingBottom:react_native_1.Platform.OS==="ios"?34:16}]}>
48
+ <react_native_1.TouchableOpacity activeOpacity={s?.9:1}onPress={s?w:void 0}style={[previewStyles.previewCard,n&&previewStyles.previewCardExpanded]}>
49
+ {s?e.thumbnailUri&&!v?<>
50
+ <react_native_1.Image source={{uri:e.thumbnailUri}}style={previewStyles.image}resizeMode="contain"onError={()=>g(!0)}/>
185
51
  <react_native_1.View style={previewStyles.videoImageOverlay}/>
186
- </>) : (<react_native_1.View style={previewStyles.videoFallbackBackdrop}>
52
+ </>:<react_native_1.View style={previewStyles.videoFallbackBackdrop}>
187
53
  <react_native_1.View style={previewStyles.videoFallbackGlow}/>
188
- <NetworkIcons_1.FilmIcon size={52} color={AppColors_1.AppColors.sky400}/>
189
- <react_native_1.Text style={previewStyles.videoFallbackTitle}>
190
- {t('mediaGallery.playVideo', 'Play Video')}
191
- </react_native_1.Text>
54
+ <NetworkIcons_1.FilmIcon size={44}color={AppColors_1.AppColors.sky400}/>
192
55
  <react_native_1.Text style={previewStyles.videoFallbackSubtitle}>
193
- {item.width && item.height ? `${item.width} × ${item.height}` : 'HD Video'} • MP4
56
+ {e.width&&e.height?`${e.width} \xD7 ${e.height}`:"HD Video"} • MP4
194
57
  </react_native_1.Text>
195
- </react_native_1.View>)) : (<react_native_1.Image source={{ uri: item.uri }} style={previewStyles.image} resizeMode="contain" onError={() => setImageError(true)}/>)}
58
+ </react_native_1.View>:<react_native_1.Image source={{uri:e.uri}}style={previewStyles.image}resizeMode="contain"onError={()=>g(!0)}/>}
196
59
 
197
60
 
198
- {isVideo && (<react_native_1.View style={previewStyles.centerPlayOverlay}>
61
+ {s&&<react_native_1.View style={previewStyles.centerPlayOverlay}>
199
62
  <react_native_1.View style={previewStyles.centerPlayCircle}>
200
- <NetworkIcons_1.PlayIcon size={30} color={AppColors_1.AppColors.white}/>
63
+ <NetworkIcons_1.PlayIcon size={28}color={AppColors_1.AppColors.white}/>
201
64
  </react_native_1.View>
202
65
  <react_native_1.Text style={previewStyles.centerPlayText}>
203
- {t('mediaGallery.playVideo', 'Play Video')}
66
+ {o("mediaGallery.playVideo","Play Video")}
204
67
  </react_native_1.Text>
205
- </react_native_1.View>)}
68
+ </react_native_1.View>}
206
69
 
207
70
 
208
- {isVideo && (<react_native_1.View style={previewStyles.videoBadgeOverlay}>
71
+ {s&&<react_native_1.View style={previewStyles.videoBadgeOverlay}>
209
72
  <react_native_1.View style={previewStyles.playPill}>
210
- <NetworkIcons_1.FilmIcon size={13} color={AppColors_1.AppColors.white}/>
73
+ <NetworkIcons_1.FilmIcon size={12}color={AppColors_1.AppColors.sky400}/>
211
74
  <react_native_1.Text style={previewStyles.playPillText}>
212
- {durationSec ? `${durationSec}s` : 'VIDEO'}
75
+ {p?`${p}s`:"VIDEO"}
213
76
  </react_native_1.Text>
214
77
  </react_native_1.View>
215
- </react_native_1.View>)}
78
+ </react_native_1.View>}
216
79
 
217
80
 
218
- {isGif && (<react_native_1.View style={previewStyles.videoBadgeOverlay}>
219
- <react_native_1.View style={[previewStyles.playPill, { backgroundColor: `${AppColors_1.AppColors.warningAmber}CC` }]}>
220
- <NetworkIcons_1.GifIcon size={13} color={AppColors_1.AppColors.white}/>
81
+ {d&&<react_native_1.View style={previewStyles.videoBadgeOverlay}>
82
+ <react_native_1.View style={[previewStyles.playPill,{backgroundColor:`${AppColors_1.AppColors.warningAmber}CC`}]}>
83
+ <NetworkIcons_1.GifIcon size={12}color={AppColors_1.AppColors.white}/>
221
84
  <react_native_1.Text style={previewStyles.playPillText}>ANIMATED GIF</react_native_1.Text>
222
85
  </react_native_1.View>
223
- </react_native_1.View>)}
86
+ </react_native_1.View>}
224
87
 
225
88
 
226
- <react_native_1.View style={previewStyles.floatingMetaBadge}>
89
+ <react_native_1.TouchableOpacity activeOpacity={.8}onPress={u}style={previewStyles.floatingMetaBadge}>
90
+ <NetworkIcons_1.CopyIcon size={11}color={AppColors_1.AppColors.sky400}/>
227
91
  <react_native_1.Text style={previewStyles.floatingMetaText}>
228
- {item.width && item.height ? `${item.width} × ${item.height} • ` : ''}
229
- {(0, helpers_1.formatBytes)(item.sizeBytes)}
230
- {durationSec ? ` • ${durationSec}s` : ''}
92
+ {e.width&&e.height?`${e.width} \xD7 ${e.height} \u2022 `:""}
93
+ {(0,helpers_1.formatBytes)(e.sizeBytes)}
231
94
  </react_native_1.Text>
232
- </react_native_1.View>
95
+ </react_native_1.TouchableOpacity>
233
96
  </react_native_1.TouchableOpacity>
234
97
  </react_native_1.View>
235
98
 
236
99
 
237
- {isVideo && (<react_native_1.View style={previewStyles.videoControlsPanel}>
100
+ {s&&<react_native_1.View style={previewStyles.videoControlsPanel}>
238
101
 
239
102
  <react_native_1.View style={previewStyles.progressSection}>
240
103
  <react_native_1.Text style={previewStyles.timeLabel}>
241
- 00:0{Math.floor(scrubPosition * (Number(durationSec) || 5))}
104
+ 00:0{Math.floor(h*(Number(p)||5))}
242
105
  </react_native_1.Text>
243
- <react_native_1.TouchableOpacity activeOpacity={0.8} onPress={() => setScrubPosition(pos => (pos >= 0.9 ? 0.1 : pos + 0.3))} style={previewStyles.progressTrack}>
244
- <react_native_1.View style={[
245
- previewStyles.progressFill,
246
- { width: `${Math.max(10, Math.min(100, scrubPosition * 100))}%` },
247
- ]}/>
248
- <react_native_1.View style={[
249
- previewStyles.scrubberThumb,
250
- { left: `${Math.max(8, Math.min(96, scrubPosition * 100))}%` },
251
- ]}/>
106
+ <react_native_1.TouchableOpacity activeOpacity={.8}onPress={()=>k(l=>l>=.9?.1:l+.3)}style={previewStyles.progressTrack}>
107
+ <react_native_1.View style={[previewStyles.progressFill,{width:`${Math.max(10,Math.min(100,h*100))}%`}]}/>
108
+ <react_native_1.View style={[previewStyles.scrubberThumb,{left:`${Math.max(8,Math.min(96,h*100))}%`}]}/>
252
109
  </react_native_1.TouchableOpacity>
253
- <react_native_1.Text style={previewStyles.timeLabel}>{formattedDuration}</react_native_1.Text>
110
+ <react_native_1.Text style={previewStyles.timeLabel}>{F}</react_native_1.Text>
254
111
  </react_native_1.View>
255
112
 
256
113
 
257
114
  <react_native_1.View style={previewStyles.controlsRow}>
258
115
 
259
- <react_native_1.TouchableOpacity onPress={handlePlayVideo} style={previewStyles.controlActionPill}>
260
- {isPlaying ? (<NetworkIcons_1.PauseIcon size={14} color={AppColors_1.AppColors.sky400}/>) : (<NetworkIcons_1.PlayIcon size={14} color={AppColors_1.AppColors.sky400}/>)}
261
- <react_native_1.Text style={[previewStyles.controlActionText, { color: AppColors_1.AppColors.sky400 }]}>
262
- {isPlaying ? t('mediaGallery.pause', 'Pause') : t('mediaGallery.play', 'Play')}
116
+ <react_native_1.TouchableOpacity onPress={w}style={previewStyles.controlActionPill}>
117
+ {C?<NetworkIcons_1.PauseIcon size={14}color={AppColors_1.AppColors.sky400}/>:<NetworkIcons_1.PlayIcon size={14}color={AppColors_1.AppColors.sky400}/>}
118
+ <react_native_1.Text style={[previewStyles.controlActionText,{color:AppColors_1.AppColors.sky400}]}>
119
+ {C?o("mediaGallery.pause","Pause"):o("mediaGallery.play","Play")}
263
120
  </react_native_1.Text>
264
121
  </react_native_1.TouchableOpacity>
265
122
 
266
123
 
267
124
  <react_native_1.View style={previewStyles.speedGroup}>
268
- {['1.0x', '1.5x', '2.0x'].map(speed => (<react_native_1.TouchableOpacity key={speed} onPress={() => setPlaybackSpeed(speed)} style={[
269
- previewStyles.speedBtn,
270
- playbackSpeed === speed && previewStyles.speedBtnActive,
271
- ]}>
272
- <react_native_1.Text style={[
273
- previewStyles.speedText,
274
- playbackSpeed === speed && previewStyles.speedTextActive,
275
- ]}>
276
- {speed}
125
+ {["1.0x","1.5x","2.0x"].map(l=><react_native_1.TouchableOpacity key={l}onPress={()=>x(l)}style={[previewStyles.speedBtn,A===l&&previewStyles.speedBtnActive]}>
126
+ <react_native_1.Text style={[previewStyles.speedText,A===l&&previewStyles.speedTextActive]}>
127
+ {l}
277
128
  </react_native_1.Text>
278
- </react_native_1.TouchableOpacity>))}
129
+ </react_native_1.TouchableOpacity>)}
279
130
  </react_native_1.View>
280
131
 
281
132
 
282
- <react_native_1.TouchableOpacity onPress={() => setIsLooping(!isLooping)} style={[
283
- previewStyles.loopPill,
284
- isLooping && previewStyles.loopPillActive,
285
- ]}>
286
- <NetworkIcons_1.RepeatIcon size={12} color={isLooping ? AppColors_1.AppColors.sky400 : AppColors_1.AppColors.whiteAlpha60}/>
287
- <react_native_1.Text style={[
288
- previewStyles.loopText,
289
- isLooping && previewStyles.loopTextActive,
290
- ]}>
291
- {isLooping ? 'Loop: ON' : 'Loop: OFF'}
133
+ <react_native_1.TouchableOpacity onPress={()=>S(!c)}style={[previewStyles.loopPill,c&&previewStyles.loopPillActive]}>
134
+ <NetworkIcons_1.RepeatIcon size={12}color={c?AppColors_1.AppColors.sky400:AppColors_1.AppColors.whiteAlpha60}/>
135
+ <react_native_1.Text style={[previewStyles.loopText,c&&previewStyles.loopTextActive]}>
136
+ {c?"Loop: ON":"Loop: OFF"}
292
137
  </react_native_1.Text>
293
138
  </react_native_1.TouchableOpacity>
294
139
  </react_native_1.View>
295
- </react_native_1.View>)}
140
+ </react_native_1.View>}
296
141
 
297
142
 
298
- {hasBottomToolbar && (<react_native_1.View style={previewStyles.footer}>
299
- {isVideo && (<TouchableScale_1.default onPress={handlePlayVideo} style={[
300
- previewStyles.actionBtn,
301
- {
302
- backgroundColor: `${AppColors_1.AppColors.sky400}25`,
303
- borderColor: `${AppColors_1.AppColors.sky400}70`,
304
- },
305
- ]}>
306
- <NetworkIcons_1.PlayIcon size={15} color={AppColors_1.AppColors.sky400}/>
307
- <react_native_1.Text style={[previewStyles.actionText, { color: AppColors_1.AppColors.sky400, fontFamily: AppFonts_1.AppFonts.interSemiBold }]}>
308
- {t('mediaGallery.playVideo', 'Play Video')}
309
- </react_native_1.Text>
310
- </TouchableScale_1.default>)}
143
+ {m&&<react_native_1.View style={previewStyles.footer}>
144
+ <TouchableScale_1.default onPress={u}style={[previewStyles.actionBtn,{backgroundColor:AppColors_1.AppColors.whiteAlpha08,borderColor:AppColors_1.AppColors.whiteAlpha15}]}>
145
+ <NetworkIcons_1.CopyIcon size={14}color={AppColors_1.AppColors.slate200}/>
146
+ <react_native_1.Text style={[previewStyles.actionText,{color:AppColors_1.AppColors.slate200}]}>
147
+ {o("mediaGallery.copyUri","Copy URI")}
148
+ </react_native_1.Text>
149
+ </TouchableScale_1.default>
311
150
 
312
- {onConvertToGif && isVideo && (<TouchableScale_1.default onPress={handleConvert} disabled={isConverting} style={[
313
- previewStyles.actionBtn,
314
- {
315
- backgroundColor: `${AppColors_1.AppColors.warningAmber}25`,
316
- borderColor: `${AppColors_1.AppColors.warningAmber}70`,
317
- },
318
- ]}>
319
- <NetworkIcons_1.GifIcon size={15} color={AppColors_1.AppColors.warningAmber}/>
320
- <react_native_1.Text style={[previewStyles.actionText, { color: AppColors_1.AppColors.warningAmber }]}>
321
- {isConverting ? t('mediaGallery.converting') : t('mediaGallery.convertToGif')}
151
+ {r&&s&&<TouchableScale_1.default onPress={P}disabled={y}style={[previewStyles.actionBtn,{backgroundColor:`${AppColors_1.AppColors.warningAmber}22`,borderColor:`${AppColors_1.AppColors.warningAmber}70`}]}>
152
+ <NetworkIcons_1.GifIcon size={15}color={AppColors_1.AppColors.warningAmber}/>
153
+ <react_native_1.Text style={[previewStyles.actionText,{color:AppColors_1.AppColors.warningAmber}]}>
154
+ {o(y?"mediaGallery.converting":"mediaGallery.convertToGif")}
322
155
  </react_native_1.Text>
323
- </TouchableScale_1.default>)}
324
- </react_native_1.View>)}
156
+ </TouchableScale_1.default>}
157
+
158
+ <TouchableScale_1.default onPress={_}style={[previewStyles.actionBtn,{backgroundColor:`${AppColors_1.AppColors.sky400}22`,borderColor:`${AppColors_1.AppColors.sky400}70`}]}>
159
+ <NetworkIcons_1.ShareIcon size={14}color={AppColors_1.AppColors.sky400}/>
160
+ <react_native_1.Text style={[previewStyles.actionText,{color:AppColors_1.AppColors.sky400,fontFamily:AppFonts_1.AppFonts.interSemiBold}]}>
161
+ {o("mediaGallery.share","Share")}
162
+ </react_native_1.Text>
163
+ </TouchableScale_1.default>
164
+ </react_native_1.View>}
325
165
  </react_native_1.View>
326
- </react_native_1.Modal>);
327
- };
328
- exports.MediaPreviewModal = MediaPreviewModal;
329
- const previewStyles = react_native_1.StyleSheet.create({
330
- overlay: {
331
- flex: 1,
332
- backgroundColor: '#090D16FA',
333
- justifyContent: 'space-between',
334
- },
335
- header: {
336
- flexDirection: 'row',
337
- alignItems: 'center',
338
- justifyContent: 'space-between',
339
- paddingHorizontal: 16,
340
- paddingTop: react_native_1.Platform.OS === 'ios' ? 52 : 20,
341
- paddingBottom: 14,
342
- borderBottomWidth: 1,
343
- borderBottomColor: AppColors_1.AppColors.borderGlassLight,
344
- backgroundColor: AppColors_1.AppColors.headerGlassDark,
345
- },
346
- headerLeft: {
347
- flexDirection: 'row',
348
- alignItems: 'center',
349
- gap: 10,
350
- flex: 1,
351
- minWidth: 0,
352
- marginRight: 10,
353
- },
354
- headerRight: {
355
- flexDirection: 'row',
356
- alignItems: 'center',
357
- gap: 8,
358
- },
359
- badge: {
360
- flexDirection: 'row',
361
- alignItems: 'center',
362
- gap: 4,
363
- paddingHorizontal: 8,
364
- paddingVertical: 4,
365
- borderRadius: 6,
366
- borderWidth: 1,
367
- },
368
- badgeText: {
369
- fontFamily: AppFonts_1.AppFonts.interBold,
370
- fontSize: 10.5,
371
- letterSpacing: 0.4,
372
- },
373
- title: {
374
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
375
- fontSize: 13.5,
376
- color: AppColors_1.AppColors.white,
377
- },
378
- subtitle: {
379
- fontFamily: AppFonts_1.AppFonts.interRegular,
380
- fontSize: 11,
381
- color: AppColors_1.AppColors.whiteAlpha60,
382
- marginTop: 1,
383
- },
384
- headerDeleteBtn: {
385
- width: 32,
386
- height: 32,
387
- borderRadius: 16,
388
- backgroundColor: `${AppColors_1.AppColors.red500}20`,
389
- borderWidth: 1,
390
- borderColor: `${AppColors_1.AppColors.red500}60`,
391
- alignItems: 'center',
392
- justifyContent: 'center',
393
- },
394
- headerIconBtn: {
395
- width: 32,
396
- height: 32,
397
- borderRadius: 16,
398
- backgroundColor: AppColors_1.AppColors.whiteAlpha12,
399
- borderWidth: 1,
400
- borderColor: AppColors_1.AppColors.whiteAlpha20,
401
- alignItems: 'center',
402
- justifyContent: 'center',
403
- },
404
- stage: {
405
- flex: 1,
406
- alignItems: 'center',
407
- justifyContent: 'center',
408
- paddingHorizontal: 10,
409
- paddingTop: 10,
410
- paddingBottom: 10,
411
- },
412
- stageExpanded: {
413
- paddingHorizontal: 0,
414
- paddingTop: 0,
415
- paddingBottom: 0,
416
- },
417
- previewCard: {
418
- flex: 1,
419
- width: '100%',
420
- borderRadius: 14,
421
- overflow: 'hidden',
422
- backgroundColor: '#05070D',
423
- borderWidth: 1,
424
- borderColor: AppColors_1.AppColors.borderGlassLight,
425
- alignItems: 'center',
426
- justifyContent: 'center',
427
- position: 'relative',
428
- },
429
- previewCardExpanded: {
430
- borderRadius: 0,
431
- borderWidth: 0,
432
- },
433
- image: {
434
- width: '100%',
435
- height: '100%',
436
- },
437
- videoImageOverlay: {
438
- ...react_native_1.StyleSheet.absoluteFillObject,
439
- backgroundColor: 'rgba(5, 7, 13, 0.25)',
440
- },
441
- videoFallbackBackdrop: {
442
- flex: 1,
443
- width: '100%',
444
- backgroundColor: '#070C18',
445
- alignItems: 'center',
446
- justifyContent: 'center',
447
- gap: 8,
448
- },
449
- videoFallbackGlow: {
450
- position: 'absolute',
451
- width: 140,
452
- height: 140,
453
- borderRadius: 70,
454
- backgroundColor: `${AppColors_1.AppColors.sky400}18`,
455
- },
456
- videoFallbackTitle: {
457
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
458
- fontSize: 15,
459
- color: AppColors_1.AppColors.white,
460
- marginTop: 8,
461
- },
462
- videoFallbackSubtitle: {
463
- fontFamily: AppFonts_1.AppFonts.interRegular,
464
- fontSize: 12,
465
- color: AppColors_1.AppColors.whiteAlpha60,
466
- },
467
- centerPlayOverlay: {
468
- position: 'absolute',
469
- alignItems: 'center',
470
- justifyContent: 'center',
471
- gap: 8,
472
- },
473
- centerPlayCircle: {
474
- width: 64,
475
- height: 64,
476
- borderRadius: 32,
477
- backgroundColor: `${AppColors_1.AppColors.sky400}E0`,
478
- alignItems: 'center',
479
- justifyContent: 'center',
480
- paddingLeft: 3,
481
- shadowColor: AppColors_1.AppColors.sky400,
482
- shadowOffset: { width: 0, height: 4 },
483
- shadowOpacity: 0.5,
484
- shadowRadius: 10,
485
- elevation: 8,
486
- },
487
- centerPlayText: {
488
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
489
- fontSize: 13,
490
- color: AppColors_1.AppColors.white,
491
- letterSpacing: 0.3,
492
- textShadowColor: 'rgba(0,0,0,0.7)',
493
- textShadowOffset: { width: 0, height: 1 },
494
- textShadowRadius: 3,
495
- },
496
- videoBadgeOverlay: {
497
- position: 'absolute',
498
- bottom: 12,
499
- left: 12,
500
- },
501
- playPill: {
502
- flexDirection: 'row',
503
- alignItems: 'center',
504
- gap: 6,
505
- backgroundColor: `${AppColors_1.AppColors.slate900}D9`,
506
- paddingHorizontal: 10,
507
- paddingVertical: 5,
508
- borderRadius: 16,
509
- borderWidth: 1,
510
- borderColor: AppColors_1.AppColors.whiteAlpha20,
511
- },
512
- playPillText: {
513
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
514
- fontSize: 11,
515
- color: AppColors_1.AppColors.white,
516
- letterSpacing: 0.3,
517
- },
518
- floatingMetaBadge: {
519
- position: 'absolute',
520
- bottom: 10,
521
- backgroundColor: `${AppColors_1.AppColors.slate900}D9`,
522
- paddingHorizontal: 10,
523
- paddingVertical: 4.5,
524
- borderRadius: 8,
525
- borderWidth: 1,
526
- borderColor: AppColors_1.AppColors.whiteAlpha15,
527
- alignItems: 'center',
528
- justifyContent: 'center',
529
- },
530
- floatingMetaText: {
531
- fontFamily: AppFonts_1.AppFonts.interMedium,
532
- fontSize: 10.5,
533
- color: AppColors_1.AppColors.slate200,
534
- letterSpacing: 0.2,
535
- },
536
- videoControlsPanel: {
537
- paddingHorizontal: 16,
538
- paddingTop: 8,
539
- paddingBottom: 6,
540
- backgroundColor: AppColors_1.AppColors.headerGlassDark,
541
- borderTopWidth: 1,
542
- borderTopColor: AppColors_1.AppColors.borderGlassLight,
543
- gap: 8,
544
- },
545
- progressSection: {
546
- flexDirection: 'row',
547
- alignItems: 'center',
548
- gap: 10,
549
- },
550
- timeLabel: {
551
- fontFamily: AppFonts_1.AppFonts.interMedium,
552
- fontSize: 11,
553
- color: AppColors_1.AppColors.whiteAlpha60,
554
- minWidth: 42,
555
- },
556
- progressTrack: {
557
- flex: 1,
558
- height: 6,
559
- borderRadius: 3,
560
- backgroundColor: AppColors_1.AppColors.whiteAlpha15,
561
- justifyContent: 'center',
562
- position: 'relative',
563
- },
564
- progressFill: {
565
- height: '100%',
566
- borderRadius: 3,
567
- backgroundColor: AppColors_1.AppColors.sky400,
568
- },
569
- scrubberThumb: {
570
- position: 'absolute',
571
- width: 12,
572
- height: 12,
573
- borderRadius: 6,
574
- backgroundColor: AppColors_1.AppColors.white,
575
- borderWidth: 2,
576
- borderColor: AppColors_1.AppColors.sky400,
577
- top: -3,
578
- marginLeft: -6,
579
- },
580
- controlsRow: {
581
- flexDirection: 'row',
582
- alignItems: 'center',
583
- justifyContent: 'space-between',
584
- paddingVertical: 2,
585
- },
586
- controlActionPill: {
587
- flexDirection: 'row',
588
- alignItems: 'center',
589
- gap: 5,
590
- paddingHorizontal: 10,
591
- paddingVertical: 5,
592
- borderRadius: 6,
593
- backgroundColor: `${AppColors_1.AppColors.sky400}18`,
594
- borderWidth: 1,
595
- borderColor: `${AppColors_1.AppColors.sky400}50`,
596
- },
597
- controlActionText: {
598
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
599
- fontSize: 11.5,
600
- },
601
- speedGroup: {
602
- flexDirection: 'row',
603
- alignItems: 'center',
604
- backgroundColor: AppColors_1.AppColors.whiteAlpha08,
605
- borderRadius: 6,
606
- borderWidth: 1,
607
- borderColor: AppColors_1.AppColors.whiteAlpha12,
608
- padding: 2,
609
- gap: 2,
610
- },
611
- speedBtn: {
612
- paddingHorizontal: 7,
613
- paddingVertical: 3,
614
- borderRadius: 4,
615
- },
616
- speedBtnActive: {
617
- backgroundColor: `${AppColors_1.AppColors.sky400}30`,
618
- },
619
- speedText: {
620
- fontFamily: AppFonts_1.AppFonts.interMedium,
621
- fontSize: 10.5,
622
- color: AppColors_1.AppColors.whiteAlpha60,
623
- },
624
- speedTextActive: {
625
- color: AppColors_1.AppColors.sky400,
626
- fontFamily: AppFonts_1.AppFonts.interBold,
627
- },
628
- loopPill: {
629
- flexDirection: 'row',
630
- alignItems: 'center',
631
- gap: 4,
632
- paddingHorizontal: 8,
633
- paddingVertical: 5,
634
- borderRadius: 6,
635
- backgroundColor: AppColors_1.AppColors.whiteAlpha08,
636
- borderWidth: 1,
637
- borderColor: AppColors_1.AppColors.whiteAlpha12,
638
- },
639
- loopPillActive: {
640
- backgroundColor: `${AppColors_1.AppColors.sky400}18`,
641
- borderColor: `${AppColors_1.AppColors.sky400}50`,
642
- },
643
- loopText: {
644
- fontFamily: AppFonts_1.AppFonts.interMedium,
645
- fontSize: 10.5,
646
- color: AppColors_1.AppColors.whiteAlpha60,
647
- },
648
- loopTextActive: {
649
- color: AppColors_1.AppColors.sky400,
650
- fontFamily: AppFonts_1.AppFonts.interSemiBold,
651
- },
652
- footer: {
653
- flexDirection: 'row',
654
- alignItems: 'center',
655
- justifyContent: 'center',
656
- flexWrap: 'wrap',
657
- gap: 8,
658
- paddingHorizontal: 16,
659
- paddingTop: 8,
660
- paddingBottom: react_native_1.Platform.OS === 'ios' ? 34 : 16,
661
- borderTopWidth: 1,
662
- borderTopColor: AppColors_1.AppColors.borderGlassLight,
663
- backgroundColor: AppColors_1.AppColors.headerGlassDark,
664
- },
665
- actionBtn: {
666
- flexDirection: 'row',
667
- alignItems: 'center',
668
- gap: 6,
669
- paddingHorizontal: 16,
670
- paddingVertical: 9,
671
- borderRadius: 8,
672
- backgroundColor: AppColors_1.AppColors.whiteAlpha08,
673
- borderWidth: 1,
674
- borderColor: AppColors_1.AppColors.whiteAlpha15,
675
- },
676
- actionText: {
677
- fontFamily: AppFonts_1.AppFonts.interMedium,
678
- fontSize: 12,
679
- color: AppColors_1.AppColors.white,
680
- },
681
- });
166
+ </react_native_1.Modal>};exports.MediaPreviewModal=MediaPreviewModal;const previewStyles=react_native_1.StyleSheet.create({overlay:{flex:1,backgroundColor:"#090D16FA",justifyContent:"space-between"},header:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingHorizontal:16,paddingTop:react_native_1.Platform.OS==="ios"?52:20,paddingBottom:14,borderBottomWidth:1,borderBottomColor:AppColors_1.AppColors.borderGlassLight,backgroundColor:AppColors_1.AppColors.headerGlassDark},headerLeft:{flexDirection:"row",alignItems:"center",gap:10,flex:1,minWidth:0,marginRight:10},headerRight:{flexDirection:"row",alignItems:"center",gap:8},badge:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:4,borderRadius:6,borderWidth:1},badgeText:{fontFamily:AppFonts_1.AppFonts.interBold,fontSize:10.5,letterSpacing:.4},title:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:13.5,color:AppColors_1.AppColors.white},subtitle:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:11,color:AppColors_1.AppColors.whiteAlpha60,marginTop:1},headerActionBtn:{width:32,height:32,borderRadius:16,backgroundColor:AppColors_1.AppColors.whiteAlpha12,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha20,alignItems:"center",justifyContent:"center"},headerShareBtn:{width:32,height:32,borderRadius:16,backgroundColor:`${AppColors_1.AppColors.sky400}20`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}60`,alignItems:"center",justifyContent:"center"},headerDeleteBtn:{width:32,height:32,borderRadius:16,backgroundColor:`${AppColors_1.AppColors.red500}20`,borderWidth:1,borderColor:`${AppColors_1.AppColors.red500}60`,alignItems:"center",justifyContent:"center"},headerIconBtn:{width:32,height:32,borderRadius:16,backgroundColor:AppColors_1.AppColors.whiteAlpha12,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha20,alignItems:"center",justifyContent:"center"},stage:{flex:1,alignItems:"center",justifyContent:"center",paddingHorizontal:10,paddingTop:10,paddingBottom:10},stageExpanded:{paddingHorizontal:0,paddingTop:0,paddingBottom:0},previewCard:{flex:1,width:"100%",borderRadius:14,overflow:"hidden",backgroundColor:"#05070D",borderWidth:1,borderColor:AppColors_1.AppColors.borderGlassLight,alignItems:"center",justifyContent:"center",position:"relative"},previewCardExpanded:{borderRadius:0,borderWidth:0},image:{width:"100%",height:"100%"},videoImageOverlay:{...react_native_1.StyleSheet.absoluteFillObject,backgroundColor:"rgba(5, 7, 13, 0.25)"},videoFallbackBackdrop:{flex:1,width:"100%",backgroundColor:"#070C18",alignItems:"center",justifyContent:"center",gap:8},videoFallbackGlow:{position:"absolute",width:140,height:140,borderRadius:70,backgroundColor:`${AppColors_1.AppColors.sky400}18`},videoFallbackTitle:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:15,color:AppColors_1.AppColors.white,marginTop:8},videoFallbackSubtitle:{fontFamily:AppFonts_1.AppFonts.interRegular,fontSize:12,color:AppColors_1.AppColors.whiteAlpha60},centerPlayOverlay:{position:"absolute",alignItems:"center",justifyContent:"center",gap:8},centerPlayCircle:{width:64,height:64,borderRadius:32,backgroundColor:`${AppColors_1.AppColors.sky400}E0`,alignItems:"center",justifyContent:"center",paddingLeft:3,shadowColor:AppColors_1.AppColors.sky400,shadowOffset:{width:0,height:4},shadowOpacity:.5,shadowRadius:10,elevation:8},centerPlayText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:13,color:AppColors_1.AppColors.white,letterSpacing:.3,textShadowColor:"rgba(0,0,0,0.7)",textShadowOffset:{width:0,height:1},textShadowRadius:3},videoBadgeOverlay:{position:"absolute",bottom:12,left:12},playPill:{flexDirection:"row",alignItems:"center",gap:6,backgroundColor:`${AppColors_1.AppColors.slate900}D9`,paddingHorizontal:10,paddingVertical:5,borderRadius:16,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha20},playPillText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11,color:AppColors_1.AppColors.white,letterSpacing:.3},floatingMetaBadge:{position:"absolute",bottom:10,backgroundColor:`${AppColors_1.AppColors.slate900}D9`,paddingHorizontal:10,paddingVertical:4.5,borderRadius:8,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha15,alignItems:"center",justifyContent:"center"},floatingMetaText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.slate200,letterSpacing:.2},videoControlsPanel:{paddingHorizontal:16,paddingTop:8,paddingBottom:6,backgroundColor:AppColors_1.AppColors.headerGlassDark,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.borderGlassLight,gap:8},progressSection:{flexDirection:"row",alignItems:"center",gap:10},timeLabel:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:11,color:AppColors_1.AppColors.whiteAlpha60,minWidth:42},progressTrack:{flex:1,height:6,borderRadius:3,backgroundColor:AppColors_1.AppColors.whiteAlpha15,justifyContent:"center",position:"relative"},progressFill:{height:"100%",borderRadius:3,backgroundColor:AppColors_1.AppColors.sky400},scrubberThumb:{position:"absolute",width:12,height:12,borderRadius:6,backgroundColor:AppColors_1.AppColors.white,borderWidth:2,borderColor:AppColors_1.AppColors.sky400,top:-3,marginLeft:-6},controlsRow:{flexDirection:"row",alignItems:"center",justifyContent:"space-between",paddingVertical:2},controlActionPill:{flexDirection:"row",alignItems:"center",gap:5,paddingHorizontal:10,paddingVertical:5,borderRadius:6,backgroundColor:`${AppColors_1.AppColors.sky400}18`,borderWidth:1,borderColor:`${AppColors_1.AppColors.sky400}50`},controlActionText:{fontFamily:AppFonts_1.AppFonts.interSemiBold,fontSize:11.5},speedGroup:{flexDirection:"row",alignItems:"center",backgroundColor:AppColors_1.AppColors.whiteAlpha08,borderRadius:6,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha12,padding:2,gap:2},speedBtn:{paddingHorizontal:7,paddingVertical:3,borderRadius:4},speedBtnActive:{backgroundColor:`${AppColors_1.AppColors.sky400}30`},speedText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.whiteAlpha60},speedTextActive:{color:AppColors_1.AppColors.sky400,fontFamily:AppFonts_1.AppFonts.interBold},loopPill:{flexDirection:"row",alignItems:"center",gap:4,paddingHorizontal:8,paddingVertical:5,borderRadius:6,backgroundColor:AppColors_1.AppColors.whiteAlpha08,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha12},loopPillActive:{backgroundColor:`${AppColors_1.AppColors.sky400}18`,borderColor:`${AppColors_1.AppColors.sky400}50`},loopText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:10.5,color:AppColors_1.AppColors.whiteAlpha60},loopTextActive:{color:AppColors_1.AppColors.sky400,fontFamily:AppFonts_1.AppFonts.interSemiBold},footer:{flexDirection:"row",alignItems:"center",justifyContent:"center",flexWrap:"wrap",gap:8,paddingHorizontal:16,paddingTop:8,paddingBottom:react_native_1.Platform.OS==="ios"?34:16,borderTopWidth:1,borderTopColor:AppColors_1.AppColors.borderGlassLight,backgroundColor:AppColors_1.AppColors.headerGlassDark},actionBtn:{flexDirection:"row",alignItems:"center",gap:6,paddingHorizontal:16,paddingVertical:9,borderRadius:8,backgroundColor:AppColors_1.AppColors.whiteAlpha08,borderWidth:1,borderColor:AppColors_1.AppColors.whiteAlpha15},actionText:{fontFamily:AppFonts_1.AppFonts.interMedium,fontSize:12,color:AppColors_1.AppColors.white}});