@oxyhq/services 5.4.2 → 5.4.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (359) hide show
  1. package/lib/commonjs/assets/OxyLogo.svg +1 -0
  2. package/lib/commonjs/assets/assets/OxyLogo.svg +1 -0
  3. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  4. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  5. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  6. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  7. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  8. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  9. package/lib/commonjs/assets/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  10. package/lib/commonjs/assets/assets/icons/OxyServices.tsx +67 -0
  11. package/lib/commonjs/assets/assets/icons/logo_OxyServices.svg +1 -0
  12. package/lib/commonjs/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  13. package/lib/commonjs/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  14. package/lib/commonjs/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  15. package/lib/commonjs/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  16. package/lib/commonjs/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  17. package/lib/commonjs/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  18. package/lib/commonjs/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  19. package/lib/commonjs/assets/icons/OxyServices.js +53 -0
  20. package/lib/commonjs/assets/icons/OxyServices.js.map +1 -0
  21. package/lib/commonjs/assets/icons/logo_OxyServices.svg +1 -0
  22. package/lib/commonjs/constants/version.js +28 -0
  23. package/lib/commonjs/constants/version.js.map +1 -0
  24. package/lib/commonjs/core/index.js +1660 -0
  25. package/lib/commonjs/core/index.js.map +1 -0
  26. package/lib/commonjs/index.js +160 -0
  27. package/lib/commonjs/index.js.map +1 -0
  28. package/lib/commonjs/lib/sonner.js +21 -0
  29. package/lib/commonjs/lib/sonner.js.map +1 -0
  30. package/lib/commonjs/models/interfaces.js +2 -0
  31. package/lib/commonjs/models/interfaces.js.map +1 -0
  32. package/lib/commonjs/models/secureSession.js +2 -0
  33. package/lib/commonjs/models/secureSession.js.map +1 -0
  34. package/lib/commonjs/node/index.js +54 -0
  35. package/lib/commonjs/node/index.js.map +1 -0
  36. package/lib/commonjs/ui/components/Avatar.js +98 -0
  37. package/lib/commonjs/ui/components/Avatar.js.map +1 -0
  38. package/lib/commonjs/ui/components/FollowButton.js +246 -0
  39. package/lib/commonjs/ui/components/FollowButton.js.map +1 -0
  40. package/lib/commonjs/ui/components/FontLoader.js +181 -0
  41. package/lib/commonjs/ui/components/FontLoader.js.map +1 -0
  42. package/lib/commonjs/ui/components/GroupedItem.js +109 -0
  43. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -0
  44. package/lib/commonjs/ui/components/GroupedSection.js +33 -0
  45. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -0
  46. package/lib/commonjs/ui/components/OxyLogo.js +56 -0
  47. package/lib/commonjs/ui/components/OxyLogo.js.map +1 -0
  48. package/lib/commonjs/ui/components/OxyProvider.js +517 -0
  49. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -0
  50. package/lib/commonjs/ui/components/OxySignInButton.js +178 -0
  51. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -0
  52. package/lib/commonjs/ui/components/ProfileCard.js +124 -0
  53. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -0
  54. package/lib/commonjs/ui/components/QuickActions.js +87 -0
  55. package/lib/commonjs/ui/components/QuickActions.js.map +1 -0
  56. package/lib/commonjs/ui/components/Section.js +36 -0
  57. package/lib/commonjs/ui/components/Section.js.map +1 -0
  58. package/lib/commonjs/ui/components/SectionTitle.js +35 -0
  59. package/lib/commonjs/ui/components/SectionTitle.js.map +1 -0
  60. package/lib/commonjs/ui/components/bottomSheet/index.js +37 -0
  61. package/lib/commonjs/ui/components/bottomSheet/index.js.map +1 -0
  62. package/lib/commonjs/ui/components/icon/OxyIcon.js +27 -0
  63. package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -0
  64. package/lib/commonjs/ui/components/icon/index.js +14 -0
  65. package/lib/commonjs/ui/components/icon/index.js.map +1 -0
  66. package/lib/commonjs/ui/components/index.js +97 -0
  67. package/lib/commonjs/ui/components/index.js.map +1 -0
  68. package/lib/commonjs/ui/context/OxyContext.js +584 -0
  69. package/lib/commonjs/ui/context/OxyContext.js.map +1 -0
  70. package/lib/commonjs/ui/index.js +128 -0
  71. package/lib/commonjs/ui/index.js.map +1 -0
  72. package/lib/commonjs/ui/navigation/OxyRouter.js +264 -0
  73. package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -0
  74. package/lib/commonjs/ui/navigation/types.js +6 -0
  75. package/lib/commonjs/ui/navigation/types.js.map +1 -0
  76. package/lib/commonjs/ui/screens/AccountCenterScreen.js +313 -0
  77. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -0
  78. package/lib/commonjs/ui/screens/AccountManagementDemo.js +299 -0
  79. package/lib/commonjs/ui/screens/AccountManagementDemo.js.map +1 -0
  80. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +855 -0
  81. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -0
  82. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +843 -0
  83. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -0
  84. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +788 -0
  85. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -0
  86. package/lib/commonjs/ui/screens/AppInfoScreen.js +664 -0
  87. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -0
  88. package/lib/commonjs/ui/screens/BillingManagementScreen.js +636 -0
  89. package/lib/commonjs/ui/screens/BillingManagementScreen.js.map +1 -0
  90. package/lib/commonjs/ui/screens/FileManagementScreen.js +2515 -0
  91. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -0
  92. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1620 -0
  93. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
  94. package/lib/commonjs/ui/screens/ProfileScreen.js +450 -0
  95. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -0
  96. package/lib/commonjs/ui/screens/SessionManagementScreen.js +449 -0
  97. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -0
  98. package/lib/commonjs/ui/screens/SignInScreen.js +1004 -0
  99. package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -0
  100. package/lib/commonjs/ui/screens/SignUpScreen.js +937 -0
  101. package/lib/commonjs/ui/screens/SignUpScreen.js.map +1 -0
  102. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +88 -0
  103. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
  104. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +364 -0
  105. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
  106. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +227 -0
  107. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
  108. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +148 -0
  109. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
  110. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +127 -0
  111. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
  112. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +105 -0
  113. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
  114. package/lib/commonjs/ui/styles/FONTS.md +126 -0
  115. package/lib/commonjs/ui/styles/fonts.js +84 -0
  116. package/lib/commonjs/ui/styles/fonts.js.map +1 -0
  117. package/lib/commonjs/ui/styles/index.js +28 -0
  118. package/lib/commonjs/ui/styles/index.js.map +1 -0
  119. package/lib/commonjs/ui/styles/theme.js +121 -0
  120. package/lib/commonjs/ui/styles/theme.js.map +1 -0
  121. package/lib/commonjs/utils/deviceManager.js +173 -0
  122. package/lib/commonjs/utils/deviceManager.js.map +1 -0
  123. package/lib/commonjs/utils/index.js +13 -0
  124. package/lib/commonjs/utils/index.js.map +1 -0
  125. package/lib/commonjs/utils/polyfills.js +42 -0
  126. package/lib/commonjs/utils/polyfills.js.map +1 -0
  127. package/lib/module/assets/OxyLogo.svg +1 -0
  128. package/lib/module/assets/assets/OxyLogo.svg +1 -0
  129. package/lib/module/assets/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  130. package/lib/module/assets/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  131. package/lib/module/assets/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  132. package/lib/module/assets/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  133. package/lib/module/assets/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  134. package/lib/module/assets/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  135. package/lib/module/assets/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  136. package/lib/module/assets/assets/icons/OxyServices.tsx +67 -0
  137. package/lib/module/assets/assets/icons/logo_OxyServices.svg +1 -0
  138. package/lib/module/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  139. package/lib/module/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  140. package/lib/module/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  141. package/lib/module/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  142. package/lib/module/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  143. package/lib/module/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  144. package/lib/module/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  145. package/lib/module/assets/icons/OxyServices.js +46 -0
  146. package/lib/module/assets/icons/OxyServices.js.map +1 -0
  147. package/lib/module/assets/icons/logo_OxyServices.svg +1 -0
  148. package/lib/module/constants/version.js +21 -0
  149. package/lib/module/constants/version.js.map +1 -0
  150. package/lib/module/core/index.js +1634 -0
  151. package/lib/module/core/index.js.map +1 -0
  152. package/lib/module/index.js +48 -0
  153. package/lib/module/index.js.map +1 -0
  154. package/lib/module/lib/sonner.js +16 -0
  155. package/lib/module/lib/sonner.js.map +1 -0
  156. package/lib/module/models/interfaces.js +2 -0
  157. package/lib/module/models/interfaces.js.map +1 -0
  158. package/lib/module/models/secureSession.js +2 -0
  159. package/lib/module/models/secureSession.js.map +1 -0
  160. package/lib/module/node/index.js +23 -0
  161. package/lib/module/node/index.js.map +1 -0
  162. package/lib/module/ui/components/Avatar.js +93 -0
  163. package/lib/module/ui/components/Avatar.js.map +1 -0
  164. package/lib/module/ui/components/FollowButton.js +241 -0
  165. package/lib/module/ui/components/FollowButton.js.map +1 -0
  166. package/lib/module/ui/components/FontLoader.js +176 -0
  167. package/lib/module/ui/components/FontLoader.js.map +1 -0
  168. package/lib/module/ui/components/GroupedItem.js +104 -0
  169. package/lib/module/ui/components/GroupedItem.js.map +1 -0
  170. package/lib/module/ui/components/GroupedSection.js +28 -0
  171. package/lib/module/ui/components/GroupedSection.js.map +1 -0
  172. package/lib/module/ui/components/OxyLogo.js +49 -0
  173. package/lib/module/ui/components/OxyLogo.js.map +1 -0
  174. package/lib/module/ui/components/OxyProvider.js +511 -0
  175. package/lib/module/ui/components/OxyProvider.js.map +1 -0
  176. package/lib/module/ui/components/OxySignInButton.js +172 -0
  177. package/lib/module/ui/components/OxySignInButton.js.map +1 -0
  178. package/lib/module/ui/components/ProfileCard.js +119 -0
  179. package/lib/module/ui/components/ProfileCard.js.map +1 -0
  180. package/lib/module/ui/components/QuickActions.js +82 -0
  181. package/lib/module/ui/components/QuickActions.js.map +1 -0
  182. package/lib/module/ui/components/Section.js +31 -0
  183. package/lib/module/ui/components/Section.js.map +1 -0
  184. package/lib/module/ui/components/SectionTitle.js +30 -0
  185. package/lib/module/ui/components/SectionTitle.js.map +1 -0
  186. package/lib/module/ui/components/bottomSheet/index.js +5 -0
  187. package/lib/module/ui/components/bottomSheet/index.js.map +1 -0
  188. package/lib/module/ui/components/icon/OxyIcon.js +22 -0
  189. package/lib/module/ui/components/icon/OxyIcon.js.map +1 -0
  190. package/lib/module/ui/components/icon/index.js +4 -0
  191. package/lib/module/ui/components/icon/index.js.map +1 -0
  192. package/lib/module/ui/components/index.js +18 -0
  193. package/lib/module/ui/components/index.js.map +1 -0
  194. package/lib/module/ui/context/OxyContext.js +579 -0
  195. package/lib/module/ui/context/OxyContext.js.map +1 -0
  196. package/lib/module/ui/index.js +24 -0
  197. package/lib/module/ui/index.js.map +1 -0
  198. package/lib/module/ui/navigation/OxyRouter.js +257 -0
  199. package/lib/module/ui/navigation/OxyRouter.js.map +1 -0
  200. package/lib/module/ui/navigation/types.js +4 -0
  201. package/lib/module/ui/navigation/types.js.map +1 -0
  202. package/lib/module/ui/screens/AccountCenterScreen.js +308 -0
  203. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -0
  204. package/lib/module/ui/screens/AccountManagementDemo.js +296 -0
  205. package/lib/module/ui/screens/AccountManagementDemo.js.map +1 -0
  206. package/lib/module/ui/screens/AccountOverviewScreen.js +849 -0
  207. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -0
  208. package/lib/module/ui/screens/AccountSettingsScreen.js +837 -0
  209. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -0
  210. package/lib/module/ui/screens/AccountSwitcherScreen.js +782 -0
  211. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -0
  212. package/lib/module/ui/screens/AppInfoScreen.js +658 -0
  213. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -0
  214. package/lib/module/ui/screens/BillingManagementScreen.js +631 -0
  215. package/lib/module/ui/screens/BillingManagementScreen.js.map +1 -0
  216. package/lib/module/ui/screens/FileManagementScreen.js +2510 -0
  217. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -0
  218. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1615 -0
  219. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
  220. package/lib/module/ui/screens/ProfileScreen.js +444 -0
  221. package/lib/module/ui/screens/ProfileScreen.js.map +1 -0
  222. package/lib/module/ui/screens/SessionManagementScreen.js +444 -0
  223. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -0
  224. package/lib/module/ui/screens/SignInScreen.js +998 -0
  225. package/lib/module/ui/screens/SignInScreen.js.map +1 -0
  226. package/lib/module/ui/screens/SignUpScreen.js +932 -0
  227. package/lib/module/ui/screens/SignUpScreen.js.map +1 -0
  228. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +83 -0
  229. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
  230. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +358 -0
  231. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
  232. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +222 -0
  233. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
  234. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +142 -0
  235. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
  236. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +122 -0
  237. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
  238. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +100 -0
  239. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
  240. package/lib/module/ui/styles/FONTS.md +126 -0
  241. package/lib/module/ui/styles/fonts.js +81 -0
  242. package/lib/module/ui/styles/fonts.js.map +1 -0
  243. package/lib/module/ui/styles/index.js +5 -0
  244. package/lib/module/ui/styles/index.js.map +1 -0
  245. package/lib/module/ui/styles/theme.js +114 -0
  246. package/lib/module/ui/styles/theme.js.map +1 -0
  247. package/lib/module/utils/deviceManager.js +167 -0
  248. package/lib/module/utils/deviceManager.js.map +1 -0
  249. package/lib/module/utils/index.js +4 -0
  250. package/lib/module/utils/index.js.map +1 -0
  251. package/lib/module/utils/polyfills.js +36 -0
  252. package/lib/module/utils/polyfills.js.map +1 -0
  253. package/lib/typescript/assets/icons/OxyServices.d.ts +29 -0
  254. package/lib/typescript/assets/icons/OxyServices.d.ts.map +1 -0
  255. package/lib/typescript/constants/version.d.ts +14 -0
  256. package/lib/typescript/constants/version.d.ts.map +1 -0
  257. package/lib/typescript/core/index.d.ts +603 -0
  258. package/lib/typescript/core/index.d.ts.map +1 -0
  259. package/lib/typescript/index.d.ts +20 -0
  260. package/lib/typescript/index.d.ts.map +1 -0
  261. package/lib/typescript/lib/sonner.d.ts +6 -0
  262. package/lib/typescript/lib/sonner.d.ts.map +1 -0
  263. package/lib/typescript/models/interfaces.d.ts +179 -0
  264. package/lib/typescript/models/interfaces.d.ts.map +1 -0
  265. package/lib/typescript/models/secureSession.d.ts +27 -0
  266. package/lib/typescript/models/secureSession.d.ts.map +1 -0
  267. package/lib/typescript/node/index.d.ts +11 -0
  268. package/lib/typescript/node/index.d.ts.map +1 -0
  269. package/lib/typescript/ui/components/Avatar.d.ts +62 -0
  270. package/lib/typescript/ui/components/Avatar.d.ts.map +1 -0
  271. package/lib/typescript/ui/components/FollowButton.d.ts +92 -0
  272. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -0
  273. package/lib/typescript/ui/components/FontLoader.d.ts +15 -0
  274. package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -0
  275. package/lib/typescript/ui/components/GroupedItem.d.ts +17 -0
  276. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -0
  277. package/lib/typescript/ui/components/GroupedSection.d.ts +19 -0
  278. package/lib/typescript/ui/components/GroupedSection.d.ts.map +1 -0
  279. package/lib/typescript/ui/components/OxyLogo.d.ts +29 -0
  280. package/lib/typescript/ui/components/OxyLogo.d.ts.map +1 -0
  281. package/lib/typescript/ui/components/OxyProvider.d.ts +12 -0
  282. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -0
  283. package/lib/typescript/ui/components/OxySignInButton.d.ts +70 -0
  284. package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -0
  285. package/lib/typescript/ui/components/ProfileCard.d.ts +20 -0
  286. package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -0
  287. package/lib/typescript/ui/components/QuickActions.d.ts +15 -0
  288. package/lib/typescript/ui/components/QuickActions.d.ts.map +1 -0
  289. package/lib/typescript/ui/components/Section.d.ts +11 -0
  290. package/lib/typescript/ui/components/Section.d.ts.map +1 -0
  291. package/lib/typescript/ui/components/SectionTitle.d.ts +9 -0
  292. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -0
  293. package/lib/typescript/ui/components/bottomSheet/index.d.ts +4 -0
  294. package/lib/typescript/ui/components/bottomSheet/index.d.ts.map +1 -0
  295. package/lib/typescript/ui/components/icon/OxyIcon.d.ts +10 -0
  296. package/lib/typescript/ui/components/icon/OxyIcon.d.ts.map +1 -0
  297. package/lib/typescript/ui/components/icon/index.d.ts +3 -0
  298. package/lib/typescript/ui/components/icon/index.d.ts.map +1 -0
  299. package/lib/typescript/ui/components/index.d.ts +13 -0
  300. package/lib/typescript/ui/components/index.d.ts.map +1 -0
  301. package/lib/typescript/ui/context/OxyContext.d.ts +42 -0
  302. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -0
  303. package/lib/typescript/ui/index.d.ts +15 -0
  304. package/lib/typescript/ui/index.d.ts.map +1 -0
  305. package/lib/typescript/ui/navigation/OxyRouter.d.ts +5 -0
  306. package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -0
  307. package/lib/typescript/ui/navigation/types.d.ts +116 -0
  308. package/lib/typescript/ui/navigation/types.d.ts.map +1 -0
  309. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts +5 -0
  310. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -0
  311. package/lib/typescript/ui/screens/AccountManagementDemo.d.ts +8 -0
  312. package/lib/typescript/ui/screens/AccountManagementDemo.d.ts.map +1 -0
  313. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts +5 -0
  314. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -0
  315. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts +5 -0
  316. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -0
  317. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts +5 -0
  318. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -0
  319. package/lib/typescript/ui/screens/AppInfoScreen.d.ts +5 -0
  320. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -0
  321. package/lib/typescript/ui/screens/BillingManagementScreen.d.ts +5 -0
  322. package/lib/typescript/ui/screens/BillingManagementScreen.d.ts.map +1 -0
  323. package/lib/typescript/ui/screens/FileManagementScreen.d.ts +8 -0
  324. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -0
  325. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts +5 -0
  326. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -0
  327. package/lib/typescript/ui/screens/ProfileScreen.d.ts +9 -0
  328. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -0
  329. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts +5 -0
  330. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -0
  331. package/lib/typescript/ui/screens/SignInScreen.d.ts +5 -0
  332. package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -0
  333. package/lib/typescript/ui/screens/SignUpScreen.d.ts +5 -0
  334. package/lib/typescript/ui/screens/SignUpScreen.d.ts.map +1 -0
  335. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts +5 -0
  336. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -0
  337. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts +5 -0
  338. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -0
  339. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts +5 -0
  340. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -0
  341. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts +5 -0
  342. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -0
  343. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts +5 -0
  344. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -0
  345. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts +5 -0
  346. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -0
  347. package/lib/typescript/ui/styles/fonts.d.ts +21 -0
  348. package/lib/typescript/ui/styles/fonts.d.ts.map +1 -0
  349. package/lib/typescript/ui/styles/index.d.ts +3 -0
  350. package/lib/typescript/ui/styles/index.d.ts.map +1 -0
  351. package/lib/typescript/ui/styles/theme.d.ts +68 -0
  352. package/lib/typescript/ui/styles/theme.d.ts.map +1 -0
  353. package/lib/typescript/utils/deviceManager.d.ts +66 -0
  354. package/lib/typescript/utils/deviceManager.d.ts.map +1 -0
  355. package/lib/typescript/utils/index.d.ts +3 -0
  356. package/lib/typescript/utils/index.d.ts.map +1 -0
  357. package/lib/typescript/utils/polyfills.d.ts +6 -0
  358. package/lib/typescript/utils/polyfills.d.ts.map +1 -0
  359. package/package.json +20 -4
@@ -0,0 +1,664 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = _interopRequireWildcard(require("react"));
8
+ var _reactNative = require("react-native");
9
+ var _OxyContext = require("../context/OxyContext.js");
10
+ var _fonts = require("../styles/fonts.js");
11
+ var _version = require("../../constants/version.js");
12
+ var _sonner = require("../../lib/sonner.js");
13
+ var _OxyIcon = _interopRequireDefault(require("../components/icon/OxyIcon.js"));
14
+ var _vectorIcons = require("@expo/vector-icons");
15
+ var _OxyServices = _interopRequireDefault(require("../../assets/icons/OxyServices.js"));
16
+ var _jsxRuntime = require("react/jsx-runtime");
17
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
18
+ function _interopRequireWildcard(e, t) { if ("function" == typeof WeakMap) var r = new WeakMap(), n = new WeakMap(); return (_interopRequireWildcard = function (e, t) { if (!t && e && e.__esModule) return e; var o, i, f = { __proto__: null, default: e }; if (null === e || "object" != typeof e && "function" != typeof e) return f; if (o = t ? n : r) { if (o.has(e)) return o.get(e); o.set(e, f); } for (const t in e) "default" !== t && {}.hasOwnProperty.call(e, t) && ((i = (o = Object.defineProperty) && Object.getOwnPropertyDescriptor(e, t)) && (i.get || i.set) ? o(f, t, i) : f[t] = e[t]); return f; })(e, t); }
19
+ const AppInfoScreen = ({
20
+ onClose,
21
+ theme,
22
+ navigate
23
+ }) => {
24
+ const {
25
+ user,
26
+ sessions,
27
+ oxyServices
28
+ } = (0, _OxyContext.useOxy)();
29
+ const [systemInfo, setSystemInfo] = (0, _react.useState)(null);
30
+ const [isRunningSystemCheck, setIsRunningSystemCheck] = (0, _react.useState)(false);
31
+ const [connectionStatus, setConnectionStatus] = (0, _react.useState)('unknown');
32
+ const isDarkTheme = theme === 'dark';
33
+ const backgroundColor = isDarkTheme ? '#121212' : '#f2f2f2';
34
+ const primaryColor = '#007AFF';
35
+ (0, _react.useEffect)(() => {
36
+ const updateDimensions = () => {
37
+ const dimensions = _reactNative.Dimensions.get('window');
38
+ setSystemInfo(prev => ({
39
+ ...prev,
40
+ platform: _reactNative.Platform.OS,
41
+ version: _reactNative.Platform.Version?.toString() || 'Unknown',
42
+ screenDimensions: {
43
+ width: dimensions.width,
44
+ height: dimensions.height
45
+ },
46
+ timestamp: new Date().toISOString()
47
+ }));
48
+ };
49
+
50
+ // Set initial dimensions
51
+ updateDimensions();
52
+
53
+ // Listen for dimension changes
54
+ const subscription = _reactNative.Dimensions.addEventListener('change', updateDimensions);
55
+
56
+ // Check API connection on mount
57
+ const checkConnection = async () => {
58
+ setConnectionStatus('checking');
59
+ const apiBaseUrl = oxyServices?.getBaseURL() || 'https://api.oxy.so';
60
+ try {
61
+ const response = await fetch(`${apiBaseUrl}/`, {
62
+ method: 'GET',
63
+ timeout: 3000
64
+ });
65
+ if (response.ok) {
66
+ setConnectionStatus('connected');
67
+ } else {
68
+ setConnectionStatus('disconnected');
69
+ }
70
+ } catch (error) {
71
+ setConnectionStatus('disconnected');
72
+ }
73
+ };
74
+ checkConnection();
75
+
76
+ // Cleanup listener on unmount
77
+ return () => {
78
+ subscription?.remove();
79
+ };
80
+ }, []);
81
+ const copyToClipboard = async (text, label) => {
82
+ try {
83
+ await _reactNative.Clipboard.setString(text);
84
+ _sonner.toast.success(`${label} copied to clipboard`);
85
+ } catch (error) {
86
+ _sonner.toast.error('Failed to copy to clipboard');
87
+ }
88
+ };
89
+ const runSystemCheck = async () => {
90
+ if (!oxyServices) {
91
+ _sonner.toast.error('OxyServices not initialized');
92
+ return;
93
+ }
94
+ setIsRunningSystemCheck(true);
95
+ const checks = [];
96
+
97
+ // Get the API base URL from the services instance
98
+ const apiBaseUrl = oxyServices?.getBaseURL() || 'https://api.oxy.so'; // Default for now, could be made configurable
99
+
100
+ try {
101
+ // Check 1: API Server Health
102
+ checks.push('🔍 Checking API server connection...');
103
+ _sonner.toast.info('Running system checks...', {
104
+ duration: 2000
105
+ });
106
+ try {
107
+ const response = await fetch(`${apiBaseUrl}/`, {
108
+ method: 'GET',
109
+ timeout: 5000
110
+ });
111
+ if (response.ok) {
112
+ const data = await response.json();
113
+ checks.push('✅ API server is responding');
114
+ checks.push(`📊 Server stats: ${data.users || 0} users`);
115
+ checks.push(`🌐 API URL: ${apiBaseUrl}`);
116
+ setConnectionStatus('connected');
117
+ } else {
118
+ checks.push('❌ API server returned error status');
119
+ checks.push(` Status: ${response.status} ${response.statusText}`);
120
+ setConnectionStatus('disconnected');
121
+ }
122
+ } catch (error) {
123
+ checks.push('❌ API server connection failed');
124
+ checks.push(` Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
125
+ checks.push(` URL: ${apiBaseUrl}`);
126
+ setConnectionStatus('disconnected');
127
+ }
128
+
129
+ // Check 2: Authentication Status
130
+ checks.push('🔍 Checking authentication...');
131
+ if (oxyServices.isAuthenticated()) {
132
+ checks.push('✅ User is authenticated');
133
+
134
+ // Check 3: Token Validation
135
+ try {
136
+ const isValid = await oxyServices.validate();
137
+ if (isValid) {
138
+ checks.push('✅ Authentication token is valid');
139
+ } else {
140
+ checks.push('❌ Authentication token is invalid');
141
+ }
142
+ } catch (error) {
143
+ checks.push('❌ Token validation failed');
144
+ checks.push(` Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
145
+ }
146
+ } else {
147
+ checks.push('⚠️ User is not authenticated');
148
+ }
149
+
150
+ // Check 4: Session Validation (if user has active sessions)
151
+ if (user && sessions && sessions.length > 0) {
152
+ checks.push('🔍 Checking active sessions...');
153
+ try {
154
+ // Just check if we can fetch sessions
155
+ const userSessions = await oxyServices.getUserSessions();
156
+ checks.push(`✅ Session validation successful (${userSessions.length} sessions)`);
157
+ } catch (error) {
158
+ checks.push('❌ Session validation failed');
159
+ checks.push(` Error: ${error instanceof Error ? error.message : 'Unknown error'}`);
160
+ }
161
+ }
162
+
163
+ // Check 5: Platform Information
164
+ checks.push('🔍 Checking platform information...');
165
+ checks.push(`✅ Platform: ${_reactNative.Platform.OS} ${_reactNative.Platform.Version || 'Unknown'}`);
166
+ checks.push(`✅ Screen: ${systemInfo?.screenDimensions.width || 0}x${systemInfo?.screenDimensions.height || 0}`);
167
+ checks.push(`✅ Environment: ${__DEV__ ? 'Development' : 'Production'}`);
168
+
169
+ // Check 6: Package Information
170
+ checks.push('🔍 Checking package information...');
171
+ checks.push(`✅ Package: ${_version.packageInfo.name}@${_version.packageInfo.version}`);
172
+
173
+ // Check 7: Memory and Performance (basic)
174
+ checks.push('🔍 Checking performance metrics...');
175
+ const memoryUsage = performance.memory;
176
+ if (memoryUsage) {
177
+ const usedMB = Math.round(memoryUsage.usedJSHeapSize / 1024 / 1024);
178
+ const totalMB = Math.round(memoryUsage.totalJSHeapSize / 1024 / 1024);
179
+ checks.push(`✅ Memory usage: ${usedMB}MB / ${totalMB}MB`);
180
+ } else {
181
+ checks.push('✅ Performance metrics not available on this platform');
182
+ }
183
+
184
+ // Final summary
185
+ const errorCount = checks.filter(check => check.includes('❌')).length;
186
+ const warningCount = checks.filter(check => check.includes('⚠️')).length;
187
+ checks.push('');
188
+ checks.push('📋 SYSTEM CHECK SUMMARY:');
189
+ if (errorCount === 0 && warningCount === 0) {
190
+ checks.push('✅ All systems operational');
191
+ _sonner.toast.success('System check completed - All systems operational!');
192
+ } else if (errorCount === 0) {
193
+ checks.push(`⚠️ ${warningCount} warning(s) found`);
194
+ _sonner.toast.warning(`System check completed with ${warningCount} warning(s)`);
195
+ } else {
196
+ checks.push(`❌ ${errorCount} error(s) and ${warningCount} warning(s) found`);
197
+ _sonner.toast.error(`System check failed with ${errorCount} error(s)`);
198
+ }
199
+
200
+ // Show results in an alert and copy to clipboard
201
+ const report = checks.join('\n');
202
+ _reactNative.Alert.alert('System Check Results', `Check completed. Results copied to clipboard.\n\nSummary: ${errorCount} errors, ${warningCount} warnings`, [{
203
+ text: 'View Full Report',
204
+ onPress: () => copyToClipboard(report, 'System check report')
205
+ }, {
206
+ text: 'OK',
207
+ style: 'default'
208
+ }]);
209
+ } catch (error) {
210
+ _sonner.toast.error('System check failed to run');
211
+ console.error('System check error:', error);
212
+ } finally {
213
+ setIsRunningSystemCheck(false);
214
+ }
215
+ };
216
+ const generateFullReport = () => {
217
+ const report = {
218
+ packageInfo: {
219
+ name: _version.packageInfo.name,
220
+ version: _version.packageInfo.version,
221
+ description: _version.packageInfo.description
222
+ },
223
+ systemInfo,
224
+ userInfo: {
225
+ isAuthenticated: !!user,
226
+ userId: user?.id || 'Not authenticated',
227
+ username: user?.username || 'N/A',
228
+ totalUsers: sessions?.length || 0
229
+ },
230
+ apiConfiguration: {
231
+ apiUrl: oxyServices?.getBaseURL() || 'Not configured'
232
+ },
233
+ buildInfo: {
234
+ timestamp: new Date().toISOString(),
235
+ environment: __DEV__ ? 'Development' : 'Production'
236
+ }
237
+ };
238
+ return JSON.stringify(report, null, 2);
239
+ };
240
+ const handleCopyFullReport = () => {
241
+ const report = generateFullReport();
242
+ copyToClipboard(report, 'Full application report');
243
+ };
244
+ const InfoRow = ({
245
+ label,
246
+ value,
247
+ copyable = false,
248
+ icon = 'information-circle',
249
+ iconComponent,
250
+ color = '#8E8E93',
251
+ isFirst = false,
252
+ isLast = false,
253
+ onPress,
254
+ showChevron = false
255
+ }) => {
256
+ const handlePress = () => {
257
+ if (onPress) {
258
+ onPress();
259
+ } else if (copyable) {
260
+ copyToClipboard(value, label);
261
+ }
262
+ };
263
+ const isInteractive = copyable || !!onPress;
264
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
265
+ style: [styles.settingItem, isFirst && styles.firstSettingItem, isLast && styles.lastSettingItem],
266
+ onPress: isInteractive ? handlePress : undefined,
267
+ disabled: !isInteractive,
268
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
269
+ style: styles.settingInfo,
270
+ children: [iconComponent ? (/*#__PURE__*/_react.default.cloneElement(iconComponent, {
271
+ style: styles.settingIcon
272
+ })) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
273
+ name: icon,
274
+ size: 20,
275
+ color: color,
276
+ style: styles.settingIcon
277
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
278
+ style: styles.settingDetails,
279
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
280
+ style: styles.settingLabel,
281
+ children: label
282
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
283
+ style: [styles.settingValue, (copyable || onPress) && {
284
+ color: primaryColor
285
+ }],
286
+ children: value
287
+ })]
288
+ })]
289
+ }), copyable && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
290
+ name: "copy",
291
+ size: 16,
292
+ color: "#ccc"
293
+ }), showChevron && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
294
+ name: "chevron-forward",
295
+ size: 16,
296
+ color: "#ccc"
297
+ })]
298
+ });
299
+ };
300
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
301
+ style: [styles.container, {
302
+ backgroundColor
303
+ }],
304
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
305
+ style: styles.header,
306
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
307
+ style: styles.cancelButton,
308
+ onPress: onClose,
309
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
310
+ name: "close",
311
+ size: 24,
312
+ color: "#666"
313
+ })
314
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
315
+ style: styles.headerTitle,
316
+ children: "App Information"
317
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
318
+ style: styles.placeholder
319
+ })]
320
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
321
+ style: styles.content,
322
+ showsVerticalScrollIndicator: false,
323
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
324
+ style: styles.section,
325
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
326
+ style: styles.sectionTitle,
327
+ children: "Package Information"
328
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
329
+ label: "Name",
330
+ value: _version.packageInfo.name,
331
+ copyable: true,
332
+ iconComponent: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyServices.default, {
333
+ width: 20,
334
+ height: 20
335
+ }),
336
+ color: "#007AFF",
337
+ isFirst: true
338
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
339
+ label: "Version",
340
+ value: _version.packageInfo.version,
341
+ copyable: true,
342
+ icon: "pricetag",
343
+ color: "#5856D6"
344
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
345
+ label: "Description",
346
+ value: _version.packageInfo.description || 'No description',
347
+ icon: "document-text",
348
+ color: "#34C759"
349
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
350
+ label: "Main Entry",
351
+ value: _version.packageInfo.main || 'N/A',
352
+ icon: "code",
353
+ color: "#FF9500"
354
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
355
+ label: "Module Entry",
356
+ value: _version.packageInfo.module || 'N/A',
357
+ icon: "library",
358
+ color: "#FF3B30"
359
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
360
+ label: "Types Entry",
361
+ value: _version.packageInfo.types || 'N/A',
362
+ icon: "construct",
363
+ color: "#32D74B",
364
+ isLast: true
365
+ })]
366
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
367
+ style: styles.section,
368
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
369
+ style: styles.sectionTitle,
370
+ children: "System Information"
371
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
372
+ label: "Platform",
373
+ value: _reactNative.Platform.OS,
374
+ icon: "phone-portrait",
375
+ color: "#007AFF",
376
+ isFirst: true
377
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
378
+ label: "Platform Version",
379
+ value: systemInfo?.version || 'Loading...',
380
+ icon: "hardware-chip",
381
+ color: "#5856D6"
382
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
383
+ label: "Screen Width",
384
+ value: `${systemInfo?.screenDimensions.width || 0}px`,
385
+ icon: "resize",
386
+ color: "#FF9500"
387
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
388
+ label: "Screen Height",
389
+ value: `${systemInfo?.screenDimensions.height || 0}px`,
390
+ icon: "resize",
391
+ color: "#FF3B30"
392
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
393
+ label: "Environment",
394
+ value: __DEV__ ? 'Development' : 'Production',
395
+ icon: "settings",
396
+ color: "#34C759",
397
+ isLast: true
398
+ })]
399
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
400
+ style: styles.section,
401
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
402
+ style: styles.sectionTitle,
403
+ children: "User Information"
404
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
405
+ label: "Authentication Status",
406
+ value: user ? 'Authenticated' : 'Not Authenticated',
407
+ icon: "shield-checkmark",
408
+ color: user ? '#34C759' : '#FF3B30',
409
+ isFirst: true
410
+ }), user && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
411
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
412
+ label: "User ID",
413
+ value: user.id,
414
+ copyable: true,
415
+ icon: "person",
416
+ color: "#007AFF"
417
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
418
+ label: "Username",
419
+ value: user.username || 'N/A',
420
+ icon: "at",
421
+ color: "#5856D6",
422
+ onPress: () => {
423
+ if (user?.username && navigate) {
424
+ navigate('Profile', {
425
+ userId: user.id
426
+ });
427
+ } else {
428
+ _sonner.toast.info('No username available or navigation not supported');
429
+ }
430
+ },
431
+ showChevron: true
432
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
433
+ label: "Email",
434
+ value: user.email || 'N/A',
435
+ icon: "mail",
436
+ color: "#FF9500"
437
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
438
+ label: "Premium Status",
439
+ value: user.isPremium ? 'Premium' : 'Standard',
440
+ icon: "star",
441
+ color: user.isPremium ? '#FFD700' : '#8E8E93'
442
+ })]
443
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
444
+ label: "Total Active Sessions",
445
+ value: sessions?.length?.toString() || '0',
446
+ icon: "people",
447
+ color: "#32D74B",
448
+ isLast: true
449
+ })]
450
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
451
+ style: styles.section,
452
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
453
+ style: styles.sectionTitle,
454
+ children: "API Configuration"
455
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
456
+ label: "API Base URL",
457
+ value: oxyServices?.getBaseURL() || 'Not configured',
458
+ copyable: true,
459
+ icon: "server",
460
+ color: "#007AFF",
461
+ isFirst: true
462
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
463
+ label: "Connection Status",
464
+ value: connectionStatus === 'checking' ? 'Checking...' : connectionStatus === 'connected' ? 'Connected' : connectionStatus === 'disconnected' ? 'Disconnected' : 'Unknown',
465
+ icon: connectionStatus === 'checking' ? 'sync' : connectionStatus === 'connected' ? 'wifi' : 'wifi-off',
466
+ color: connectionStatus === 'checking' ? '#FF9500' : connectionStatus === 'connected' ? '#34C759' : '#FF3B30',
467
+ onPress: async () => {
468
+ setConnectionStatus('checking');
469
+ const apiBaseUrl = oxyServices?.getBaseURL() || 'https://api.oxy.so';
470
+ try {
471
+ const response = await fetch(`${apiBaseUrl}/`, {
472
+ method: 'GET',
473
+ timeout: 3000
474
+ });
475
+ if (response.ok) {
476
+ setConnectionStatus('connected');
477
+ _sonner.toast.success('API connection successful');
478
+ } else {
479
+ setConnectionStatus('disconnected');
480
+ _sonner.toast.error(`API server error: ${response.status}`);
481
+ }
482
+ } catch (error) {
483
+ setConnectionStatus('disconnected');
484
+ _sonner.toast.error('Failed to connect to API server');
485
+ }
486
+ },
487
+ showChevron: true,
488
+ isLast: true
489
+ })]
490
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
491
+ style: styles.section,
492
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
493
+ style: styles.sectionTitle,
494
+ children: "Build Information"
495
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
496
+ label: "Build Timestamp",
497
+ value: systemInfo?.timestamp || 'Loading...',
498
+ copyable: true,
499
+ icon: "time",
500
+ color: "#007AFF",
501
+ isFirst: true
502
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
503
+ label: "React Native",
504
+ value: "Expo/React Native",
505
+ icon: "logo-react",
506
+ color: "#61DAFB"
507
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(InfoRow, {
508
+ label: "JavaScript Engine",
509
+ value: "Hermes",
510
+ icon: "flash",
511
+ color: "#FF3B30",
512
+ isLast: true
513
+ })]
514
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
515
+ style: styles.section,
516
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
517
+ style: styles.sectionTitle,
518
+ children: "Quick Actions"
519
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
520
+ style: [styles.settingItem, styles.firstSettingItem],
521
+ onPress: handleCopyFullReport,
522
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
523
+ style: styles.settingInfo,
524
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
525
+ name: "copy",
526
+ size: 20,
527
+ color: "#007AFF",
528
+ style: styles.settingIcon
529
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
530
+ style: styles.settingDetails,
531
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
532
+ style: styles.settingLabel,
533
+ children: "Copy Full Report"
534
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
535
+ style: styles.settingDescription,
536
+ children: "Copy complete application information to clipboard"
537
+ })]
538
+ })]
539
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
540
+ name: "chevron-forward",
541
+ size: 16,
542
+ color: "#ccc"
543
+ })]
544
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
545
+ style: [styles.settingItem, styles.lastSettingItem, isRunningSystemCheck && styles.disabledSettingItem],
546
+ onPress: runSystemCheck,
547
+ disabled: isRunningSystemCheck,
548
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
549
+ style: styles.settingInfo,
550
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
551
+ name: isRunningSystemCheck ? "sync" : "checkmark-circle",
552
+ size: 20,
553
+ color: isRunningSystemCheck ? "#FF9500" : "#34C759",
554
+ style: [styles.settingIcon, isRunningSystemCheck && styles.spinningIcon]
555
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
556
+ style: styles.settingDetails,
557
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
558
+ style: styles.settingLabel,
559
+ children: isRunningSystemCheck ? 'Running System Check...' : 'Run System Check'
560
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
561
+ style: styles.settingDescription,
562
+ children: isRunningSystemCheck ? 'Checking API, authentication, and platform status...' : 'Verify application health and status'
563
+ })]
564
+ })]
565
+ }), !isRunningSystemCheck && /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
566
+ name: "chevron-forward",
567
+ size: 16,
568
+ color: "#ccc"
569
+ })]
570
+ })]
571
+ })]
572
+ })]
573
+ });
574
+ };
575
+ const styles = _reactNative.StyleSheet.create({
576
+ container: {
577
+ flex: 1
578
+ },
579
+ header: {
580
+ flexDirection: 'row',
581
+ alignItems: 'center',
582
+ justifyContent: 'space-between',
583
+ paddingHorizontal: 16,
584
+ paddingVertical: 12,
585
+ backgroundColor: '#fff'
586
+ },
587
+ cancelButton: {
588
+ padding: 5
589
+ },
590
+ headerTitle: {
591
+ fontSize: 24,
592
+ fontWeight: 'bold',
593
+ color: '#000',
594
+ fontFamily: _fonts.fontFamilies.phuduBold
595
+ },
596
+ placeholder: {
597
+ width: 34 // Same width as cancel button to center title
598
+ },
599
+ content: {
600
+ flex: 1,
601
+ padding: 16
602
+ },
603
+ section: {
604
+ marginBottom: 24
605
+ },
606
+ sectionTitle: {
607
+ fontSize: 16,
608
+ fontWeight: '600',
609
+ color: '#333',
610
+ marginBottom: 12,
611
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
612
+ },
613
+ settingItem: {
614
+ backgroundColor: '#fff',
615
+ padding: 16,
616
+ flexDirection: 'row',
617
+ alignItems: 'center',
618
+ justifyContent: 'space-between',
619
+ marginBottom: 2
620
+ },
621
+ firstSettingItem: {
622
+ borderTopLeftRadius: 24,
623
+ borderTopRightRadius: 24
624
+ },
625
+ lastSettingItem: {
626
+ borderBottomLeftRadius: 24,
627
+ borderBottomRightRadius: 24,
628
+ marginBottom: 8
629
+ },
630
+ settingInfo: {
631
+ flexDirection: 'row',
632
+ alignItems: 'center',
633
+ flex: 1
634
+ },
635
+ settingIcon: {
636
+ marginRight: 12
637
+ },
638
+ settingDetails: {
639
+ flex: 1
640
+ },
641
+ settingLabel: {
642
+ fontSize: 16,
643
+ fontWeight: '500',
644
+ color: '#333',
645
+ marginBottom: 2
646
+ },
647
+ settingValue: {
648
+ fontSize: 14,
649
+ color: '#666'
650
+ },
651
+ settingDescription: {
652
+ fontSize: 14,
653
+ color: '#999'
654
+ },
655
+ disabledSettingItem: {
656
+ opacity: 0.6
657
+ },
658
+ spinningIcon: {
659
+ // Note: Animation would need to be implemented with Animated API
660
+ // For now, just showing the sync icon to indicate loading
661
+ }
662
+ });
663
+ var _default = exports.default = AppInfoScreen;
664
+ //# sourceMappingURL=AppInfoScreen.js.map