@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,855 @@
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 _Avatar = _interopRequireDefault(require("../components/Avatar.js"));
11
+ var _OxyIcon = _interopRequireDefault(require("../components/icon/OxyIcon.js"));
12
+ var _sonner = require("../../lib/sonner.js");
13
+ var _jsxRuntime = require("react/jsx-runtime");
14
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
15
+ 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); }
16
+ /**
17
+ * AccountOverviewScreen - Optimized for performance
18
+ *
19
+ * Performance optimizations implemented:
20
+ * - useMemo for theme calculations (only recalculates when theme changes)
21
+ * - useMemo for additional accounts filtering (only recalculates when dependencies change)
22
+ * - useCallback for event handlers to prevent unnecessary re-renders
23
+ * - React.memo wrapper to prevent re-renders when props haven't changed
24
+ */
25
+ const AccountOverviewScreen = ({
26
+ onClose,
27
+ theme,
28
+ navigate
29
+ }) => {
30
+ const {
31
+ user,
32
+ logout,
33
+ isLoading,
34
+ sessions,
35
+ activeSessionId,
36
+ oxyServices
37
+ } = (0, _OxyContext.useOxy)();
38
+ const [showMoreAccounts, setShowMoreAccounts] = (0, _react.useState)(false);
39
+ const [additionalAccountsData, setAdditionalAccountsData] = (0, _react.useState)([]);
40
+ const [loadingAdditionalAccounts, setLoadingAdditionalAccounts] = (0, _react.useState)(false);
41
+
42
+ // Memoize theme-related calculations to prevent unnecessary recalculations
43
+ const themeStyles = (0, _react.useMemo)(() => {
44
+ const isDarkTheme = theme === 'dark';
45
+ return {
46
+ isDarkTheme,
47
+ textColor: isDarkTheme ? '#FFFFFF' : '#000000',
48
+ backgroundColor: isDarkTheme ? '#121212' : '#FFFFFF',
49
+ secondaryBackgroundColor: isDarkTheme ? '#222222' : '#F5F5F5',
50
+ borderColor: isDarkTheme ? '#444444' : '#E0E0E0',
51
+ primaryColor: '#d169e5',
52
+ dangerColor: '#D32F2F',
53
+ iconColor: isDarkTheme ? '#BBBBBB' : '#666666'
54
+ };
55
+ }, [theme]);
56
+
57
+ // Memoize additional accounts filtering to prevent recalculation on every render
58
+ const additionalAccounts = (0, _react.useMemo)(() => sessions.filter(session => session.sessionId !== activeSessionId && session.userId !== user?.id), [sessions, activeSessionId, user?.id]);
59
+
60
+ // Load user profiles for additional accounts
61
+ _react.default.useEffect(() => {
62
+ const loadAdditionalAccountsData = async () => {
63
+ if (!oxyServices || additionalAccounts.length === 0) {
64
+ setAdditionalAccountsData([]);
65
+ return;
66
+ }
67
+ setLoadingAdditionalAccounts(true);
68
+ try {
69
+ const accountsData = await Promise.all(additionalAccounts.map(async session => {
70
+ try {
71
+ const userProfile = await oxyServices.getUserBySession(session.sessionId);
72
+ return {
73
+ id: session.sessionId,
74
+ sessionId: session.sessionId,
75
+ username: userProfile.username,
76
+ email: userProfile.email,
77
+ name: userProfile.name,
78
+ avatar: userProfile.avatar,
79
+ userProfile
80
+ };
81
+ } catch (error) {
82
+ console.error(`Failed to load profile for session ${session.sessionId}:`, error);
83
+ return {
84
+ id: session.sessionId,
85
+ sessionId: session.sessionId,
86
+ username: session.username || 'Unknown User',
87
+ email: 'No email available',
88
+ avatar: null,
89
+ userProfile: null
90
+ };
91
+ }
92
+ }));
93
+ setAdditionalAccountsData(accountsData);
94
+ } catch (error) {
95
+ console.error('Failed to load additional accounts:', error);
96
+ setAdditionalAccountsData([]);
97
+ } finally {
98
+ setLoadingAdditionalAccounts(false);
99
+ }
100
+ };
101
+ loadAdditionalAccountsData();
102
+ }, [sessions, activeSessionId, user?.id, oxyServices]);
103
+
104
+ // Feature settings (with mock values)
105
+ const features = {
106
+ safeSearch: false,
107
+ language: 'English'
108
+ };
109
+
110
+ // Memoize event handlers to prevent recreation on every render
111
+ const handleLogout = (0, _react.useCallback)(async () => {
112
+ try {
113
+ await logout();
114
+ if (onClose) {
115
+ onClose();
116
+ }
117
+ } catch (error) {
118
+ console.error('Logout failed:', error);
119
+ _sonner.toast.error('There was a problem signing you out. Please try again.');
120
+ }
121
+ }, [logout, onClose]);
122
+ const confirmLogout = (0, _react.useCallback)(() => {
123
+ _reactNative.Alert.alert('Sign Out', 'Are you sure you want to sign out?', [{
124
+ text: 'Cancel',
125
+ style: 'cancel'
126
+ }, {
127
+ text: 'Sign Out',
128
+ onPress: handleLogout,
129
+ style: 'destructive'
130
+ }], {
131
+ cancelable: true
132
+ });
133
+ }, [handleLogout]);
134
+ const handleAddAccount = (0, _react.useCallback)(() => {
135
+ _sonner.toast.info('Add another account feature coming soon!');
136
+ }, []);
137
+ const handleSignOutAll = (0, _react.useCallback)(() => {
138
+ _reactNative.Alert.alert('Sign Out of All Accounts', 'Are you sure you want to sign out of all accounts?', [{
139
+ text: 'Cancel',
140
+ style: 'cancel'
141
+ }, {
142
+ text: 'Sign Out All',
143
+ onPress: handleLogout,
144
+ style: 'destructive'
145
+ }], {
146
+ cancelable: true
147
+ });
148
+ }, [handleLogout]);
149
+ if (!user) {
150
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
151
+ style: [styles.container, {
152
+ backgroundColor: themeStyles.backgroundColor
153
+ }],
154
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
155
+ style: [styles.message, {
156
+ color: themeStyles.textColor
157
+ }],
158
+ children: "Not signed in"
159
+ })
160
+ });
161
+ }
162
+ if (isLoading) {
163
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
164
+ style: [styles.container, {
165
+ backgroundColor: themeStyles.backgroundColor,
166
+ justifyContent: 'center'
167
+ }],
168
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
169
+ size: "large",
170
+ color: themeStyles.primaryColor
171
+ })
172
+ });
173
+ }
174
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
175
+ style: [styles.container, {
176
+ backgroundColor: '#f2f2f2'
177
+ }],
178
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
179
+ style: styles.header,
180
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
181
+ style: styles.headerTitle,
182
+ children: "Account"
183
+ }), onClose && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
184
+ style: styles.closeButton,
185
+ onPress: onClose,
186
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
187
+ style: styles.closeButtonText,
188
+ children: "\xD7"
189
+ })
190
+ })]
191
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.ScrollView, {
192
+ style: styles.content,
193
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
194
+ style: styles.section,
195
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
196
+ style: styles.sectionTitle,
197
+ children: "Profile"
198
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
199
+ style: [styles.settingItem, styles.firstSettingItem, styles.lastSettingItem],
200
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
201
+ style: styles.userIcon,
202
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
203
+ uri: user?.avatar?.url,
204
+ name: user?.name?.full,
205
+ size: 40,
206
+ theme: theme
207
+ })
208
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
209
+ style: styles.settingInfo,
210
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
211
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
212
+ style: styles.settingLabel,
213
+ children: typeof user.name === 'string' ? user.name : user.name?.full || user.name?.first || user.username
214
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
215
+ style: styles.settingDescription,
216
+ children: user.email || user.username
217
+ })]
218
+ })
219
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
220
+ style: styles.manageButton,
221
+ onPress: () => _sonner.toast.info('Manage your Oxy Account feature coming soon!'),
222
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
223
+ style: styles.manageButtonText,
224
+ children: "Manage"
225
+ })
226
+ })]
227
+ })]
228
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
229
+ style: styles.section,
230
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
231
+ style: styles.sectionTitle,
232
+ children: "Account Settings"
233
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
234
+ style: [styles.settingItem, styles.firstSettingItem],
235
+ onPress: () => navigate?.('AccountSettings', {
236
+ activeTab: 'profile'
237
+ }),
238
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
239
+ style: styles.settingInfo,
240
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
241
+ name: "person-circle",
242
+ size: 20,
243
+ color: "#007AFF",
244
+ style: styles.settingIcon
245
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
246
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
247
+ style: styles.settingLabel,
248
+ children: "Edit Profile"
249
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
250
+ style: styles.settingDescription,
251
+ children: "Update your personal information"
252
+ })]
253
+ })]
254
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
255
+ name: "chevron-forward",
256
+ size: 16,
257
+ color: "#ccc"
258
+ })]
259
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
260
+ style: styles.settingItem,
261
+ onPress: () => navigate?.('AccountSettings', {
262
+ activeTab: 'password'
263
+ }),
264
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
265
+ style: styles.settingInfo,
266
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
267
+ name: "shield-checkmark",
268
+ size: 20,
269
+ color: "#30D158",
270
+ style: styles.settingIcon
271
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
272
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
273
+ style: styles.settingLabel,
274
+ children: "Security & Privacy"
275
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
276
+ style: styles.settingDescription,
277
+ children: "Password, 2FA, and privacy settings"
278
+ })]
279
+ })]
280
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
281
+ name: "chevron-forward",
282
+ size: 16,
283
+ color: "#ccc"
284
+ })]
285
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
286
+ style: styles.settingItem,
287
+ onPress: () => navigate?.('AccountSettings', {
288
+ activeTab: 'notifications'
289
+ }),
290
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
291
+ style: styles.settingInfo,
292
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
293
+ name: "notifications",
294
+ size: 20,
295
+ color: "#FF9500",
296
+ style: styles.settingIcon
297
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
298
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
299
+ style: styles.settingLabel,
300
+ children: "Notifications"
301
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
302
+ style: styles.settingDescription,
303
+ children: "Manage your notification preferences"
304
+ })]
305
+ })]
306
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
307
+ name: "chevron-forward",
308
+ size: 16,
309
+ color: "#ccc"
310
+ })]
311
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
312
+ style: [styles.settingItem],
313
+ onPress: () => navigate?.('PremiumSubscription'),
314
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
315
+ style: styles.settingInfo,
316
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
317
+ name: "star",
318
+ size: 20,
319
+ color: "#FFD700",
320
+ style: styles.settingIcon
321
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
322
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
323
+ style: styles.settingLabel,
324
+ children: "Oxy+ Subscriptions"
325
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
326
+ style: styles.settingDescription,
327
+ children: user.isPremium ? 'Manage your premium plan' : 'Upgrade to premium features'
328
+ })]
329
+ })]
330
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
331
+ name: "chevron-forward",
332
+ size: 16,
333
+ color: "#ccc"
334
+ })]
335
+ }), user.isPremium && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
336
+ style: [styles.settingItem, styles.lastSettingItem],
337
+ onPress: () => navigate?.('BillingManagement'),
338
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
339
+ style: styles.settingInfo,
340
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
341
+ name: "card",
342
+ size: 20,
343
+ color: "#34C759",
344
+ style: styles.settingIcon
345
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
346
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
347
+ style: styles.settingLabel,
348
+ children: "Billing Management"
349
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
350
+ style: styles.settingDescription,
351
+ children: "Payment methods and invoices"
352
+ })]
353
+ })]
354
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
355
+ name: "chevron-forward",
356
+ size: 16,
357
+ color: "#ccc"
358
+ })]
359
+ })]
360
+ }), showMoreAccounts && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
361
+ style: styles.section,
362
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
363
+ style: styles.sectionTitle,
364
+ children: ["Additional Accounts", additionalAccountsData.length > 0 ? ` (${additionalAccountsData.length})` : '']
365
+ }), loadingAdditionalAccounts ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
366
+ style: [styles.settingItem, styles.firstSettingItem, styles.lastSettingItem],
367
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
368
+ style: styles.loadingContainer,
369
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
370
+ size: "small",
371
+ color: "#007AFF"
372
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
373
+ style: styles.loadingText,
374
+ children: "Loading accounts..."
375
+ })]
376
+ })
377
+ }) : additionalAccountsData.length > 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
378
+ children: additionalAccountsData.map((account, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
379
+ style: [styles.settingItem, index === 0 && styles.firstSettingItem, index === additionalAccountsData.length - 1 && styles.lastSettingItem],
380
+ onPress: () => {
381
+ _sonner.toast.info(`Switch to ${account.username}?`);
382
+ // TODO: Implement account switching logic
383
+ // switchSession(account.sessionId);
384
+ },
385
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
386
+ style: styles.userIcon,
387
+ children: account.avatar?.url ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
388
+ source: {
389
+ uri: account.avatar.url
390
+ },
391
+ style: styles.accountAvatarImage
392
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
393
+ style: styles.accountAvatarFallback,
394
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
395
+ style: styles.accountAvatarText,
396
+ children: account.username?.charAt(0).toUpperCase() || '?'
397
+ })
398
+ })
399
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
400
+ style: styles.settingInfo,
401
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
402
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
403
+ style: styles.settingLabel,
404
+ children: typeof account.name === 'object' ? account.name?.full || account.name?.first || account.username : account.name || account.username
405
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
406
+ style: styles.settingDescription,
407
+ children: account.email || account.username
408
+ })]
409
+ })
410
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
411
+ name: "chevron-forward",
412
+ size: 16,
413
+ color: "#ccc"
414
+ })]
415
+ }, account.id))
416
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
417
+ style: [styles.settingItem, styles.firstSettingItem, styles.lastSettingItem],
418
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
419
+ style: styles.settingInfo,
420
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
421
+ name: "person-outline",
422
+ size: 20,
423
+ color: "#ccc",
424
+ style: styles.settingIcon
425
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
426
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
427
+ style: styles.settingLabel,
428
+ children: "No other accounts"
429
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
430
+ style: styles.settingDescription,
431
+ children: "Add another account to switch between them"
432
+ })]
433
+ })]
434
+ })
435
+ })]
436
+ }), showMoreAccounts && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
437
+ style: styles.section,
438
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
439
+ style: styles.sectionTitle,
440
+ children: "Account Management"
441
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
442
+ style: [styles.settingItem, styles.firstSettingItem],
443
+ onPress: handleAddAccount,
444
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
445
+ style: styles.settingInfo,
446
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
447
+ name: "add",
448
+ size: 20,
449
+ color: "#007AFF",
450
+ style: styles.settingIcon
451
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
452
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
453
+ style: styles.settingLabel,
454
+ children: "Add another account"
455
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
456
+ style: styles.settingDescription,
457
+ children: "Sign in with a different account"
458
+ })]
459
+ })]
460
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
461
+ name: "chevron-forward",
462
+ size: 16,
463
+ color: "#ccc"
464
+ })]
465
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
466
+ style: [styles.settingItem, styles.lastSettingItem],
467
+ onPress: handleSignOutAll,
468
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
469
+ style: styles.settingInfo,
470
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
471
+ name: "log-out",
472
+ size: 20,
473
+ color: "#FF3B30",
474
+ style: styles.settingIcon
475
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
476
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
477
+ style: styles.settingLabel,
478
+ children: "Sign out of all accounts"
479
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
480
+ style: styles.settingDescription,
481
+ children: "Remove all accounts from this device"
482
+ })]
483
+ })]
484
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
485
+ name: "chevron-forward",
486
+ size: 16,
487
+ color: "#ccc"
488
+ })]
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: "Quick Actions"
495
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
496
+ style: [styles.settingItem, styles.firstSettingItem],
497
+ onPress: () => setShowMoreAccounts(!showMoreAccounts),
498
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
499
+ style: styles.settingInfo,
500
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
501
+ name: "people",
502
+ size: 20,
503
+ color: "#5856D6",
504
+ style: styles.settingIcon
505
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
506
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
507
+ style: styles.settingLabel,
508
+ children: [showMoreAccounts ? 'Hide' : 'Show', " Account Switcher"]
509
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
510
+ style: styles.settingDescription,
511
+ children: showMoreAccounts ? 'Hide account switcher' : additionalAccountsData.length > 0 ? `Switch between ${additionalAccountsData.length + 1} accounts` : loadingAdditionalAccounts ? 'Loading additional accounts...' : 'Manage multiple accounts'
512
+ })]
513
+ })]
514
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
515
+ name: "chevron-forward",
516
+ size: 16,
517
+ color: "#ccc"
518
+ })]
519
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
520
+ style: styles.settingItem,
521
+ onPress: () => _sonner.toast.info('Download account data feature coming soon!'),
522
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
523
+ style: styles.settingInfo,
524
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
525
+ name: "download",
526
+ size: 20,
527
+ color: "#34C759",
528
+ style: styles.settingIcon
529
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
530
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
531
+ style: styles.settingLabel,
532
+ children: "Download My Data"
533
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
534
+ style: styles.settingDescription,
535
+ children: "Export your account information"
536
+ })]
537
+ })]
538
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
539
+ name: "chevron-forward",
540
+ size: 16,
541
+ color: "#ccc"
542
+ })]
543
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
544
+ style: [styles.settingItem, styles.lastSettingItem],
545
+ onPress: () => _sonner.toast.info('Delete account feature coming soon!'),
546
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
547
+ style: styles.settingInfo,
548
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
549
+ name: "trash",
550
+ size: 20,
551
+ color: "#FF3B30",
552
+ style: styles.settingIcon
553
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
554
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
555
+ style: styles.settingLabel,
556
+ children: "Delete Account"
557
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
558
+ style: styles.settingDescription,
559
+ children: "Permanently delete your account"
560
+ })]
561
+ })]
562
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
563
+ name: "chevron-forward",
564
+ size: 16,
565
+ color: "#ccc"
566
+ })]
567
+ })]
568
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
569
+ style: styles.section,
570
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
571
+ style: styles.sectionTitle,
572
+ children: "Support & Settings"
573
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
574
+ style: [styles.settingItem, styles.firstSettingItem],
575
+ onPress: () => _sonner.toast.info('Account preferences coming soon!'),
576
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
577
+ style: styles.settingInfo,
578
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
579
+ name: "settings",
580
+ size: 20,
581
+ color: "#8E8E93",
582
+ style: styles.settingIcon
583
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
584
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
585
+ style: styles.settingLabel,
586
+ children: "Account Preferences"
587
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
588
+ style: styles.settingDescription,
589
+ children: "Customize your account experience"
590
+ })]
591
+ })]
592
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
593
+ name: "chevron-forward",
594
+ size: 16,
595
+ color: "#ccc"
596
+ })]
597
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
598
+ style: styles.settingItem,
599
+ onPress: () => _sonner.toast.info('Help & support feature coming soon!'),
600
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
601
+ style: styles.settingInfo,
602
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
603
+ name: "help-circle",
604
+ size: 20,
605
+ color: "#007AFF",
606
+ style: styles.settingIcon
607
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
608
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
609
+ style: styles.settingLabel,
610
+ children: "Help & Support"
611
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
612
+ style: styles.settingDescription,
613
+ children: "Get help with your account"
614
+ })]
615
+ })]
616
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
617
+ name: "chevron-forward",
618
+ size: 16,
619
+ color: "#ccc"
620
+ })]
621
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
622
+ style: styles.settingItem,
623
+ onPress: () => _sonner.toast.info('Connected apps feature coming soon!'),
624
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
625
+ style: styles.settingInfo,
626
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
627
+ name: "link",
628
+ size: 20,
629
+ color: "#32D74B",
630
+ style: styles.settingIcon
631
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
632
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
633
+ style: styles.settingLabel,
634
+ children: "Connected Apps"
635
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
636
+ style: styles.settingDescription,
637
+ children: "Manage third-party app access"
638
+ })]
639
+ })]
640
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
641
+ name: "chevron-forward",
642
+ size: 16,
643
+ color: "#ccc"
644
+ })]
645
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
646
+ style: styles.settingItem,
647
+ onPress: () => _sonner.toast.info('Privacy Policy feature coming soon!'),
648
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
649
+ style: styles.settingInfo,
650
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
651
+ name: "document-lock",
652
+ size: 20,
653
+ color: "#FF9F0A",
654
+ style: styles.settingIcon
655
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
656
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
657
+ style: styles.settingLabel,
658
+ children: "Privacy Policy"
659
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
660
+ style: styles.settingDescription,
661
+ children: "Learn about data protection"
662
+ })]
663
+ })]
664
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
665
+ name: "chevron-forward",
666
+ size: 16,
667
+ color: "#ccc"
668
+ })]
669
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
670
+ style: [styles.settingItem, styles.lastSettingItem],
671
+ onPress: () => _sonner.toast.info('Terms of Service feature coming soon!'),
672
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
673
+ style: styles.settingInfo,
674
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
675
+ name: "document-text",
676
+ size: 20,
677
+ color: "#5856D6",
678
+ style: styles.settingIcon
679
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
680
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
681
+ style: styles.settingLabel,
682
+ children: "Terms of Service"
683
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
684
+ style: styles.settingDescription,
685
+ children: "Read our terms and conditions"
686
+ })]
687
+ })]
688
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
689
+ name: "chevron-forward",
690
+ size: 16,
691
+ color: "#ccc"
692
+ })]
693
+ })]
694
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
695
+ style: styles.section,
696
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
697
+ style: [styles.settingItem, styles.firstSettingItem, styles.lastSettingItem, styles.signOutButton],
698
+ onPress: confirmLogout,
699
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
700
+ style: styles.settingInfo,
701
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
702
+ name: "log-out",
703
+ size: 20,
704
+ color: "#ff4757",
705
+ style: styles.settingIcon
706
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
707
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
708
+ style: [styles.settingLabel, {
709
+ color: '#ff4757'
710
+ }],
711
+ children: "Sign Out"
712
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
713
+ style: styles.settingDescription,
714
+ children: "Sign out of your account"
715
+ })]
716
+ })]
717
+ })
718
+ })
719
+ })]
720
+ })]
721
+ });
722
+ };
723
+ const styles = _reactNative.StyleSheet.create({
724
+ container: {
725
+ flex: 1,
726
+ backgroundColor: '#f2f2f2'
727
+ },
728
+ header: {
729
+ paddingHorizontal: 20,
730
+ paddingTop: 60,
731
+ paddingBottom: 16,
732
+ backgroundColor: '#fff',
733
+ borderBottomWidth: 1,
734
+ borderBottomColor: '#e0e0e0',
735
+ flexDirection: 'row',
736
+ justifyContent: 'space-between',
737
+ alignItems: 'center'
738
+ },
739
+ headerTitle: {
740
+ fontSize: 24,
741
+ fontWeight: 'bold',
742
+ color: '#000'
743
+ },
744
+ closeButton: {
745
+ padding: 8
746
+ },
747
+ closeButtonText: {
748
+ fontSize: 24,
749
+ color: '#000',
750
+ fontWeight: '300'
751
+ },
752
+ content: {
753
+ flex: 1,
754
+ padding: 16
755
+ },
756
+ section: {
757
+ marginBottom: 24
758
+ },
759
+ sectionTitle: {
760
+ fontSize: 16,
761
+ fontWeight: '600',
762
+ color: '#333',
763
+ marginBottom: 12
764
+ },
765
+ settingItem: {
766
+ backgroundColor: '#fff',
767
+ padding: 16,
768
+ flexDirection: 'row',
769
+ alignItems: 'center',
770
+ justifyContent: 'space-between',
771
+ marginBottom: 2
772
+ },
773
+ firstSettingItem: {
774
+ borderTopLeftRadius: 24,
775
+ borderTopRightRadius: 24
776
+ },
777
+ lastSettingItem: {
778
+ borderBottomLeftRadius: 24,
779
+ borderBottomRightRadius: 24,
780
+ marginBottom: 8
781
+ },
782
+ settingInfo: {
783
+ flexDirection: 'row',
784
+ alignItems: 'center',
785
+ flex: 1
786
+ },
787
+ settingIcon: {
788
+ marginRight: 12
789
+ },
790
+ settingLabel: {
791
+ fontSize: 16,
792
+ fontWeight: '500',
793
+ color: '#333',
794
+ marginBottom: 2
795
+ },
796
+ settingDescription: {
797
+ fontSize: 14,
798
+ color: '#666'
799
+ },
800
+ userIcon: {
801
+ marginRight: 12
802
+ },
803
+ manageButton: {
804
+ backgroundColor: '#007AFF',
805
+ paddingHorizontal: 16,
806
+ paddingVertical: 8,
807
+ borderRadius: 16
808
+ },
809
+ manageButtonText: {
810
+ color: '#fff',
811
+ fontSize: 14,
812
+ fontWeight: '500'
813
+ },
814
+ accountAvatarImage: {
815
+ width: 40,
816
+ height: 40,
817
+ borderRadius: 20
818
+ },
819
+ accountAvatarFallback: {
820
+ width: 40,
821
+ height: 40,
822
+ borderRadius: 20,
823
+ backgroundColor: '#d169e5',
824
+ alignItems: 'center',
825
+ justifyContent: 'center'
826
+ },
827
+ accountAvatarText: {
828
+ color: 'white',
829
+ fontSize: 18,
830
+ fontWeight: 'bold'
831
+ },
832
+ signOutButton: {
833
+ borderWidth: 1,
834
+ borderColor: '#ff4757'
835
+ },
836
+ message: {
837
+ fontSize: 16,
838
+ textAlign: 'center',
839
+ marginTop: 24,
840
+ color: '#333'
841
+ },
842
+ loadingContainer: {
843
+ flexDirection: 'row',
844
+ alignItems: 'center',
845
+ justifyContent: 'center',
846
+ paddingVertical: 20,
847
+ gap: 12
848
+ },
849
+ loadingText: {
850
+ fontSize: 16,
851
+ color: '#666'
852
+ }
853
+ });
854
+ var _default = exports.default = /*#__PURE__*/_react.default.memo(AccountOverviewScreen);
855
+ //# sourceMappingURL=AccountOverviewScreen.js.map