@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,843 @@
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 _vectorIcons = require("@expo/vector-icons");
13
+ var _sonner = require("../../lib/sonner.js");
14
+ var _fonts = require("../styles/fonts.js");
15
+ var _jsxRuntime = require("react/jsx-runtime");
16
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
17
+ 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); }
18
+ const AccountSettingsScreen = ({
19
+ onClose,
20
+ theme,
21
+ goBack,
22
+ navigate
23
+ }) => {
24
+ const {
25
+ user,
26
+ oxyServices,
27
+ isLoading: authLoading
28
+ } = (0, _OxyContext.useOxy)();
29
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
30
+ const [isSaving, setIsSaving] = (0, _react.useState)(false);
31
+
32
+ // Animation refs
33
+ const saveButtonScale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
34
+
35
+ // Form state
36
+ const [displayName, setDisplayName] = (0, _react.useState)('');
37
+ const [username, setUsername] = (0, _react.useState)('');
38
+ const [email, setEmail] = (0, _react.useState)('');
39
+ const [bio, setBio] = (0, _react.useState)('');
40
+ const [location, setLocation] = (0, _react.useState)('');
41
+ const [website, setWebsite] = (0, _react.useState)('');
42
+ const [avatarUrl, setAvatarUrl] = (0, _react.useState)('');
43
+
44
+ // Editing states
45
+ const [editingField, setEditingField] = (0, _react.useState)(null);
46
+
47
+ // Temporary input states for inline editing
48
+ const [tempDisplayName, setTempDisplayName] = (0, _react.useState)('');
49
+ const [tempUsername, setTempUsername] = (0, _react.useState)('');
50
+ const [tempEmail, setTempEmail] = (0, _react.useState)('');
51
+ const [tempBio, setTempBio] = (0, _react.useState)('');
52
+ const [tempLocation, setTempLocation] = (0, _react.useState)('');
53
+ const [tempWebsite, setTempWebsite] = (0, _react.useState)('');
54
+
55
+ // Memoize theme-related calculations to prevent unnecessary recalculations
56
+ const themeStyles = (0, _react.useMemo)(() => {
57
+ const isDarkTheme = theme === 'dark';
58
+ return {
59
+ isDarkTheme,
60
+ backgroundColor: isDarkTheme ? '#121212' : '#f2f2f2',
61
+ primaryColor: '#007AFF'
62
+ };
63
+ }, [theme]);
64
+
65
+ // Memoize animation function to prevent recreation on every render
66
+ const animateSaveButton = (0, _react.useCallback)(toValue => {
67
+ _reactNative.Animated.spring(saveButtonScale, {
68
+ toValue,
69
+ useNativeDriver: true,
70
+ tension: 150,
71
+ friction: 8
72
+ }).start();
73
+ }, [saveButtonScale]);
74
+
75
+ // Load user data
76
+ (0, _react.useEffect)(() => {
77
+ if (user) {
78
+ const userDisplayName = typeof user.name === 'string' ? user.name : user.name?.full || user.name?.first || '';
79
+ setDisplayName(userDisplayName);
80
+ setUsername(user.username || '');
81
+ setEmail(user.email || '');
82
+ setBio(user.bio || '');
83
+ setLocation(user.location || '');
84
+ setWebsite(user.website || '');
85
+ setAvatarUrl(user.avatar?.url || '');
86
+ }
87
+ }, [user]);
88
+ const handleSave = async () => {
89
+ if (!user) return;
90
+ try {
91
+ setIsSaving(true);
92
+ animateSaveButton(0.95); // Scale down slightly for animation
93
+
94
+ const updates = {
95
+ username,
96
+ email,
97
+ bio,
98
+ location,
99
+ website
100
+ };
101
+
102
+ // Handle name field
103
+ if (displayName) {
104
+ updates.name = displayName;
105
+ }
106
+
107
+ // Handle avatar
108
+ if (avatarUrl !== user.avatar?.url) {
109
+ updates.avatar = {
110
+ url: avatarUrl
111
+ };
112
+ }
113
+ await oxyServices.updateProfile(updates);
114
+ _sonner.toast.success('Profile updated successfully');
115
+ animateSaveButton(1); // Scale back to normal
116
+
117
+ if (onClose) {
118
+ onClose();
119
+ } else if (goBack) {
120
+ goBack();
121
+ }
122
+ } catch (error) {
123
+ _sonner.toast.error(error.message || 'Failed to update profile');
124
+ animateSaveButton(1); // Scale back to normal on error
125
+ } finally {
126
+ setIsSaving(false);
127
+ }
128
+ };
129
+ const handleAvatarUpdate = () => {
130
+ _reactNative.Alert.alert('Update Avatar', 'Choose how you want to update your profile picture', [{
131
+ text: 'Cancel',
132
+ style: 'cancel'
133
+ }, {
134
+ text: 'Use Mock URL',
135
+ onPress: () => {
136
+ const mockUrl = `https://ui-avatars.com/api/?name=${displayName || username}&background=random`;
137
+ setAvatarUrl(mockUrl);
138
+ }
139
+ }, {
140
+ text: 'Remove Avatar',
141
+ onPress: () => setAvatarUrl(''),
142
+ style: 'destructive'
143
+ }]);
144
+ };
145
+ const startEditing = (type, currentValue) => {
146
+ switch (type) {
147
+ case 'displayName':
148
+ setTempDisplayName(currentValue);
149
+ break;
150
+ case 'username':
151
+ setTempUsername(currentValue);
152
+ break;
153
+ case 'email':
154
+ setTempEmail(currentValue);
155
+ break;
156
+ case 'bio':
157
+ setTempBio(currentValue);
158
+ break;
159
+ case 'location':
160
+ setTempLocation(currentValue);
161
+ break;
162
+ case 'website':
163
+ setTempWebsite(currentValue);
164
+ break;
165
+ }
166
+ setEditingField(type);
167
+ };
168
+ const saveField = type => {
169
+ animateSaveButton(0.95); // Scale down slightly for animation
170
+
171
+ switch (type) {
172
+ case 'displayName':
173
+ setDisplayName(tempDisplayName);
174
+ break;
175
+ case 'username':
176
+ setUsername(tempUsername);
177
+ break;
178
+ case 'email':
179
+ setEmail(tempEmail);
180
+ break;
181
+ case 'bio':
182
+ setBio(tempBio);
183
+ break;
184
+ case 'location':
185
+ setLocation(tempLocation);
186
+ break;
187
+ case 'website':
188
+ setWebsite(tempWebsite);
189
+ break;
190
+ }
191
+
192
+ // Brief delay for animation, then reset and close editing
193
+ setTimeout(() => {
194
+ animateSaveButton(1);
195
+ setEditingField(null);
196
+ }, 150);
197
+ };
198
+ const cancelEditing = () => {
199
+ setEditingField(null);
200
+ };
201
+ const getFieldLabel = type => {
202
+ const labels = {
203
+ displayName: 'Display Name',
204
+ username: 'Username',
205
+ email: 'Email',
206
+ bio: 'Bio',
207
+ location: 'Location',
208
+ website: 'Website'
209
+ };
210
+ return labels[type] || 'Field';
211
+ };
212
+ const getFieldIcon = type => {
213
+ const icons = {
214
+ displayName: {
215
+ name: 'person',
216
+ color: '#007AFF'
217
+ },
218
+ username: {
219
+ name: 'at',
220
+ color: '#5856D6'
221
+ },
222
+ email: {
223
+ name: 'mail',
224
+ color: '#FF9500'
225
+ },
226
+ bio: {
227
+ name: 'document-text',
228
+ color: '#34C759'
229
+ },
230
+ location: {
231
+ name: 'location',
232
+ color: '#FF3B30'
233
+ },
234
+ website: {
235
+ name: 'link',
236
+ color: '#32D74B'
237
+ }
238
+ };
239
+ return icons[type] || {
240
+ name: 'person',
241
+ color: '#007AFF'
242
+ };
243
+ };
244
+ const renderEditingField = type => {
245
+ const fieldConfig = {
246
+ displayName: {
247
+ label: 'Display Name',
248
+ value: displayName,
249
+ placeholder: 'Enter your display name',
250
+ icon: 'person',
251
+ color: '#007AFF',
252
+ multiline: false,
253
+ keyboardType: 'default'
254
+ },
255
+ username: {
256
+ label: 'Username',
257
+ value: username,
258
+ placeholder: 'Choose a username',
259
+ icon: 'at',
260
+ color: '#5856D6',
261
+ multiline: false,
262
+ keyboardType: 'default'
263
+ },
264
+ email: {
265
+ label: 'Email',
266
+ value: email,
267
+ placeholder: 'Enter your email address',
268
+ icon: 'mail',
269
+ color: '#FF9500',
270
+ multiline: false,
271
+ keyboardType: 'email-address'
272
+ },
273
+ bio: {
274
+ label: 'Bio',
275
+ value: bio,
276
+ placeholder: 'Tell people about yourself...',
277
+ icon: 'document-text',
278
+ color: '#34C759',
279
+ multiline: true,
280
+ keyboardType: 'default'
281
+ },
282
+ location: {
283
+ label: 'Location',
284
+ value: location,
285
+ placeholder: 'Enter your location',
286
+ icon: 'location',
287
+ color: '#FF3B30',
288
+ multiline: false,
289
+ keyboardType: 'default'
290
+ },
291
+ website: {
292
+ label: 'Website',
293
+ value: website,
294
+ placeholder: 'Enter your website URL',
295
+ icon: 'link',
296
+ color: '#32D74B',
297
+ multiline: false,
298
+ keyboardType: 'url'
299
+ }
300
+ };
301
+ const config = fieldConfig[type];
302
+ if (!config) return null;
303
+ const tempValue = (() => {
304
+ switch (type) {
305
+ case 'displayName':
306
+ return tempDisplayName;
307
+ case 'username':
308
+ return tempUsername;
309
+ case 'email':
310
+ return tempEmail;
311
+ case 'bio':
312
+ return tempBio;
313
+ case 'location':
314
+ return tempLocation;
315
+ case 'website':
316
+ return tempWebsite;
317
+ default:
318
+ return '';
319
+ }
320
+ })();
321
+ const setTempValue = text => {
322
+ switch (type) {
323
+ case 'displayName':
324
+ setTempDisplayName(text);
325
+ break;
326
+ case 'username':
327
+ setTempUsername(text);
328
+ break;
329
+ case 'email':
330
+ setTempEmail(text);
331
+ break;
332
+ case 'bio':
333
+ setTempBio(text);
334
+ break;
335
+ case 'location':
336
+ setTempLocation(text);
337
+ break;
338
+ case 'website':
339
+ setTempWebsite(text);
340
+ break;
341
+ }
342
+ };
343
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
344
+ style: styles.editingFieldContainer,
345
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
346
+ style: styles.editingFieldContent,
347
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
348
+ style: styles.newValueSection,
349
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
350
+ style: styles.editingFieldLabel,
351
+ children: `Enter ${config.label.toLowerCase()}:`
352
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
353
+ style: [config.multiline ? styles.editingFieldTextArea : styles.editingFieldInput, {
354
+ backgroundColor: themeStyles.isDarkTheme ? '#333' : '#fff',
355
+ color: themeStyles.isDarkTheme ? '#fff' : '#000',
356
+ borderColor: themeStyles.primaryColor
357
+ }],
358
+ value: tempValue,
359
+ onChangeText: setTempValue,
360
+ placeholder: config.placeholder,
361
+ placeholderTextColor: themeStyles.isDarkTheme ? '#aaa' : '#999',
362
+ multiline: config.multiline,
363
+ numberOfLines: config.multiline ? 6 : 1,
364
+ keyboardType: config.keyboardType,
365
+ autoFocus: true,
366
+ selectionColor: themeStyles.primaryColor
367
+ })]
368
+ })
369
+ })
370
+ });
371
+ };
372
+ const renderField = (type, label, value, placeholder, icon, iconColor, multiline = false, keyboardType = 'default', isFirst = false, isLast = false) => {
373
+ const itemStyles = [styles.settingItem, isFirst && styles.firstSettingItem, isLast && styles.lastSettingItem];
374
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
375
+ style: itemStyles,
376
+ onPress: () => startEditing(type, value),
377
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
378
+ style: styles.settingInfo,
379
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
380
+ name: icon,
381
+ size: 20,
382
+ color: iconColor,
383
+ style: styles.settingIcon
384
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
385
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
386
+ style: styles.settingLabel,
387
+ children: label
388
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
389
+ style: styles.settingDescription,
390
+ children: value || placeholder
391
+ })]
392
+ })]
393
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
394
+ name: "chevron-forward",
395
+ size: 16,
396
+ color: "#ccc"
397
+ })]
398
+ });
399
+ };
400
+ if (authLoading || !user) {
401
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
402
+ style: [styles.container, {
403
+ backgroundColor: themeStyles.backgroundColor,
404
+ justifyContent: 'center'
405
+ }],
406
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
407
+ size: "large",
408
+ color: themeStyles.primaryColor
409
+ })
410
+ });
411
+ }
412
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
413
+ style: [styles.container, {
414
+ backgroundColor: themeStyles.backgroundColor
415
+ }],
416
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
417
+ style: styles.header,
418
+ children: editingField ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
419
+ style: styles.editingHeader,
420
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
421
+ style: styles.editingHeaderTop,
422
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
423
+ style: styles.cancelButton,
424
+ onPress: cancelEditing,
425
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
426
+ name: "close",
427
+ size: 24,
428
+ color: "#666"
429
+ })
430
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
431
+ style: {
432
+ transform: [{
433
+ scale: saveButtonScale
434
+ }]
435
+ },
436
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
437
+ style: [styles.saveHeaderButton, {
438
+ opacity: isSaving ? 0.7 : 1,
439
+ backgroundColor: editingField ? getFieldIcon(editingField).color : '#007AFF'
440
+ }],
441
+ onPress: () => saveField(editingField),
442
+ disabled: isSaving,
443
+ children: isSaving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
444
+ size: "small",
445
+ color: "#fff"
446
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
447
+ style: styles.saveButtonText,
448
+ children: "Save"
449
+ })
450
+ })
451
+ })]
452
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
453
+ style: styles.editingHeaderBottom,
454
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
455
+ style: styles.headerTitleWithIcon,
456
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
457
+ name: getFieldIcon(editingField).name,
458
+ size: 50,
459
+ color: getFieldIcon(editingField).color,
460
+ style: styles.headerIcon
461
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
462
+ style: styles.headerTitleLarge,
463
+ children: getFieldLabel(editingField)
464
+ })]
465
+ })
466
+ })]
467
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
468
+ style: styles.normalHeader,
469
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
470
+ style: styles.cancelButton,
471
+ onPress: onClose || goBack,
472
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
473
+ name: "close",
474
+ size: 24,
475
+ color: "#666"
476
+ })
477
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
478
+ style: styles.headerTitle,
479
+ children: "Account Settings"
480
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.View, {
481
+ style: {
482
+ transform: [{
483
+ scale: saveButtonScale
484
+ }]
485
+ },
486
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
487
+ style: [styles.saveIconButton, {
488
+ opacity: isSaving ? 0.7 : 1
489
+ }],
490
+ onPress: handleSave,
491
+ disabled: isSaving,
492
+ children: isSaving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
493
+ size: "small",
494
+ color: themeStyles.primaryColor
495
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
496
+ name: "checkmark",
497
+ size: 24,
498
+ color: themeStyles.primaryColor
499
+ })
500
+ })
501
+ })]
502
+ })
503
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
504
+ style: editingField ? styles.contentEditing : styles.content,
505
+ children: editingField ?
506
+ /*#__PURE__*/
507
+ // Show only the editing interface when editing
508
+ (0, _jsxRuntime.jsx)(_reactNative.View, {
509
+ style: styles.editingOnlyContainer,
510
+ children: renderEditingField(editingField)
511
+ }) :
512
+ /*#__PURE__*/
513
+ // Show all settings when not editing
514
+ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
515
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
516
+ style: styles.section,
517
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
518
+ style: styles.sectionTitle,
519
+ children: "Profile Picture"
520
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
521
+ style: [styles.settingItem, styles.firstSettingItem, styles.lastSettingItem],
522
+ onPress: handleAvatarUpdate,
523
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
524
+ style: styles.userIcon,
525
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Avatar.default, {
526
+ uri: avatarUrl,
527
+ name: displayName || username,
528
+ size: 50,
529
+ theme: theme
530
+ })
531
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
532
+ style: styles.settingInfo,
533
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
534
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
535
+ style: styles.settingLabel,
536
+ children: "Profile Photo"
537
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
538
+ style: styles.settingDescription,
539
+ children: avatarUrl ? 'Tap to change your profile picture' : 'Tap to add a profile picture'
540
+ })]
541
+ })
542
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
543
+ name: "chevron-forward",
544
+ size: 16,
545
+ color: "#ccc"
546
+ })]
547
+ })]
548
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
549
+ style: styles.section,
550
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
551
+ style: styles.sectionTitle,
552
+ children: "Basic Information"
553
+ }), renderField('displayName', 'Display Name', displayName, 'Add your display name', 'person', '#007AFF', false, 'default', true, false), renderField('username', 'Username', username, 'Choose a username', 'at', '#5856D6', false, 'default', false, false), renderField('email', 'Email', email, 'Add your email address', 'mail', '#FF9500', false, 'email-address', false, true)]
554
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
555
+ style: styles.section,
556
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
557
+ style: styles.sectionTitle,
558
+ children: "About You"
559
+ }), renderField('bio', 'Bio', bio, 'Tell people about yourself', 'document-text', '#34C759', true, 'default', true, false), renderField('location', 'Location', location, 'Add your location', 'location', '#FF3B30', false, 'default', false, false), renderField('website', 'Website', website, 'Add your website', 'link', '#32D74B', false, 'url', false, true)]
560
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
561
+ style: styles.section,
562
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
563
+ style: styles.sectionTitle,
564
+ children: "Quick Actions"
565
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
566
+ style: [styles.settingItem, styles.firstSettingItem],
567
+ onPress: () => _sonner.toast.info('Privacy settings coming soon!'),
568
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
569
+ style: styles.settingInfo,
570
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
571
+ name: "shield-checkmark",
572
+ size: 20,
573
+ color: "#8E8E93",
574
+ style: styles.settingIcon
575
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
576
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
577
+ style: styles.settingLabel,
578
+ children: "Privacy Settings"
579
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
580
+ style: styles.settingDescription,
581
+ children: "Control who can see your profile"
582
+ })]
583
+ })]
584
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
585
+ name: "chevron-forward",
586
+ size: 16,
587
+ color: "#ccc"
588
+ })]
589
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
590
+ style: [styles.settingItem, styles.lastSettingItem],
591
+ onPress: () => _sonner.toast.info('Account verification coming soon!'),
592
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
593
+ style: styles.settingInfo,
594
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
595
+ name: "checkmark-circle",
596
+ size: 20,
597
+ color: "#30D158",
598
+ style: styles.settingIcon
599
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
600
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
601
+ style: styles.settingLabel,
602
+ children: "Verify Account"
603
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
604
+ style: styles.settingDescription,
605
+ children: "Get a verified badge"
606
+ })]
607
+ })]
608
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
609
+ name: "chevron-forward",
610
+ size: 16,
611
+ color: "#ccc"
612
+ })]
613
+ })]
614
+ })]
615
+ })
616
+ })]
617
+ });
618
+ };
619
+ const styles = _reactNative.StyleSheet.create({
620
+ container: {
621
+ flex: 1,
622
+ backgroundColor: '#f2f2f2'
623
+ },
624
+ header: {
625
+ paddingHorizontal: 20,
626
+ paddingVertical: 10,
627
+ backgroundColor: '#fff',
628
+ borderBottomWidth: 1,
629
+ borderBottomColor: '#e0e0e0'
630
+ },
631
+ normalHeader: {
632
+ flexDirection: 'row',
633
+ justifyContent: 'space-between',
634
+ alignItems: 'center'
635
+ },
636
+ editingHeader: {
637
+ flexDirection: 'column'
638
+ },
639
+ editingHeaderTop: {
640
+ flexDirection: 'row',
641
+ justifyContent: 'space-between',
642
+ alignItems: 'center',
643
+ marginBottom: 16
644
+ },
645
+ editingHeaderBottom: {
646
+ flexDirection: 'row',
647
+ alignItems: 'center',
648
+ justifyContent: 'flex-start'
649
+ },
650
+ headerTitle: {
651
+ fontSize: 24,
652
+ fontWeight: 'bold',
653
+ color: '#000',
654
+ fontFamily: _fonts.fontFamilies.phuduBold
655
+ },
656
+ headerTitleWithIcon: {
657
+ flexDirection: 'column',
658
+ alignItems: 'flex-start',
659
+ flex: 1,
660
+ justifyContent: 'flex-start',
661
+ maxWidth: '90%'
662
+ },
663
+ headerTitleLarge: {
664
+ fontSize: 48,
665
+ fontWeight: '800',
666
+ color: '#000',
667
+ fontFamily: _fonts.fontFamilies.phuduExtraBold,
668
+ textAlign: 'left'
669
+ },
670
+ headerIcon: {
671
+ marginBottom: 2
672
+ },
673
+ cancelButton: {
674
+ padding: 5
675
+ },
676
+ saveHeaderButton: {
677
+ paddingHorizontal: 16,
678
+ paddingVertical: 8,
679
+ borderRadius: 20,
680
+ minWidth: 60,
681
+ alignItems: 'center',
682
+ justifyContent: 'center'
683
+ },
684
+ saveIconButton: {
685
+ padding: 5
686
+ },
687
+ saveButtonText: {
688
+ color: '#fff',
689
+ fontSize: 16,
690
+ fontWeight: '600',
691
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
692
+ },
693
+ content: {
694
+ flex: 1,
695
+ padding: 16
696
+ },
697
+ contentEditing: {
698
+ flex: 1,
699
+ padding: 0
700
+ },
701
+ section: {
702
+ marginBottom: 24
703
+ },
704
+ sectionTitle: {
705
+ fontSize: 16,
706
+ fontWeight: '600',
707
+ color: '#333',
708
+ marginBottom: 12,
709
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
710
+ },
711
+ settingItem: {
712
+ backgroundColor: '#fff',
713
+ padding: 16,
714
+ flexDirection: 'row',
715
+ alignItems: 'center',
716
+ justifyContent: 'space-between',
717
+ marginBottom: 2
718
+ },
719
+ firstSettingItem: {
720
+ borderTopLeftRadius: 24,
721
+ borderTopRightRadius: 24
722
+ },
723
+ lastSettingItem: {
724
+ borderBottomLeftRadius: 24,
725
+ borderBottomRightRadius: 24,
726
+ marginBottom: 8
727
+ },
728
+ settingInfo: {
729
+ flexDirection: 'row',
730
+ alignItems: 'center',
731
+ flex: 1
732
+ },
733
+ settingIcon: {
734
+ marginRight: 12
735
+ },
736
+ settingLabel: {
737
+ fontSize: 16,
738
+ fontWeight: '500',
739
+ color: '#333',
740
+ marginBottom: 2
741
+ },
742
+ settingDescription: {
743
+ fontSize: 14,
744
+ color: '#666'
745
+ },
746
+ userIcon: {
747
+ marginRight: 12
748
+ },
749
+ // Inline editing styles
750
+ editingContainer: {
751
+ flex: 1
752
+ },
753
+ editingActions: {
754
+ flexDirection: 'row',
755
+ alignItems: 'center'
756
+ },
757
+ editingButton: {
758
+ padding: 8
759
+ },
760
+ editingButtonText: {
761
+ fontSize: 16,
762
+ fontWeight: '500'
763
+ },
764
+ inlineInput: {
765
+ backgroundColor: '#f8f8f8',
766
+ borderWidth: 1,
767
+ borderColor: '#e0e0e0',
768
+ borderRadius: 8,
769
+ padding: 12,
770
+ fontSize: 16,
771
+ minHeight: 44
772
+ },
773
+ inlineTextArea: {
774
+ backgroundColor: '#f8f8f8',
775
+ borderWidth: 1,
776
+ borderColor: '#e0e0e0',
777
+ borderRadius: 8,
778
+ padding: 12,
779
+ fontSize: 16,
780
+ minHeight: 100,
781
+ textAlignVertical: 'top'
782
+ },
783
+ // Editing-only mode styles
784
+ editingOnlyContainer: {
785
+ flex: 1
786
+ },
787
+ editingFieldContainer: {
788
+ backgroundColor: '#fff',
789
+ padding: 16,
790
+ flex: 1
791
+ },
792
+ editingFieldHeader: {
793
+ marginBottom: 16
794
+ },
795
+ editingFieldTitleContainer: {
796
+ flexDirection: 'row',
797
+ alignItems: 'center'
798
+ },
799
+ editingFieldIcon: {
800
+ marginRight: 12
801
+ },
802
+ editingFieldTitle: {
803
+ fontSize: 20,
804
+ fontWeight: '600',
805
+ color: '#000'
806
+ },
807
+ editingFieldContent: {
808
+ flex: 1
809
+ },
810
+ newValueSection: {
811
+ flex: 1
812
+ },
813
+ editingFieldLabel: {
814
+ fontSize: 16,
815
+ fontWeight: '600',
816
+ color: '#333',
817
+ marginBottom: 12,
818
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
819
+ },
820
+ editingFieldInput: {
821
+ backgroundColor: '#fff',
822
+ borderWidth: 2,
823
+ borderColor: '#e0e0e0',
824
+ borderRadius: 12,
825
+ padding: 16,
826
+ fontSize: 17,
827
+ minHeight: 52,
828
+ fontWeight: '400'
829
+ },
830
+ editingFieldTextArea: {
831
+ backgroundColor: '#fff',
832
+ borderWidth: 2,
833
+ borderColor: '#e0e0e0',
834
+ borderRadius: 12,
835
+ padding: 16,
836
+ fontSize: 17,
837
+ minHeight: 120,
838
+ textAlignVertical: 'top',
839
+ fontWeight: '400'
840
+ }
841
+ });
842
+ var _default = exports.default = /*#__PURE__*/_react.default.memo(AccountSettingsScreen);
843
+ //# sourceMappingURL=AccountSettingsScreen.js.map