@oxyhq/services 5.16.23 → 5.16.24

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 (1367) 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/assets/illustrations/HighFive.tsx +41 -0
  13. package/lib/commonjs/assets/assets/lottie/welcomeheader_background_op1.json +1 -0
  14. package/lib/commonjs/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  15. package/lib/commonjs/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  16. package/lib/commonjs/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  17. package/lib/commonjs/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  18. package/lib/commonjs/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  19. package/lib/commonjs/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  20. package/lib/commonjs/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  21. package/lib/commonjs/assets/icons/OxyServices.js +51 -0
  22. package/lib/commonjs/assets/icons/OxyServices.js.map +1 -0
  23. package/lib/commonjs/assets/icons/logo_OxyServices.svg +1 -0
  24. package/lib/commonjs/assets/illustrations/HighFive.js +59 -0
  25. package/lib/commonjs/assets/illustrations/HighFive.js.map +1 -0
  26. package/lib/commonjs/assets/lottie/welcomeheader_background_op1.json +1 -0
  27. package/lib/commonjs/constants/version.js +28 -0
  28. package/lib/commonjs/constants/version.js.map +1 -0
  29. package/lib/commonjs/core/HttpService.js +507 -0
  30. package/lib/commonjs/core/HttpService.js.map +1 -0
  31. package/lib/commonjs/core/OxyServices.base.js +283 -0
  32. package/lib/commonjs/core/OxyServices.base.js.map +1 -0
  33. package/lib/commonjs/core/OxyServices.errors.js +26 -0
  34. package/lib/commonjs/core/OxyServices.errors.js.map +1 -0
  35. package/lib/commonjs/core/OxyServices.js +146 -0
  36. package/lib/commonjs/core/OxyServices.js.map +1 -0
  37. package/lib/commonjs/core/index.js +126 -0
  38. package/lib/commonjs/core/index.js.map +1 -0
  39. package/lib/commonjs/core/mixins/OxyServices.analytics.js +60 -0
  40. package/lib/commonjs/core/mixins/OxyServices.analytics.js.map +1 -0
  41. package/lib/commonjs/core/mixins/OxyServices.assets.js +375 -0
  42. package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -0
  43. package/lib/commonjs/core/mixins/OxyServices.auth.js +271 -0
  44. package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -0
  45. package/lib/commonjs/core/mixins/OxyServices.developer.js +115 -0
  46. package/lib/commonjs/core/mixins/OxyServices.developer.js.map +1 -0
  47. package/lib/commonjs/core/mixins/OxyServices.devices.js +133 -0
  48. package/lib/commonjs/core/mixins/OxyServices.devices.js.map +1 -0
  49. package/lib/commonjs/core/mixins/OxyServices.karma.js +117 -0
  50. package/lib/commonjs/core/mixins/OxyServices.karma.js.map +1 -0
  51. package/lib/commonjs/core/mixins/OxyServices.language.js +124 -0
  52. package/lib/commonjs/core/mixins/OxyServices.language.js.map +1 -0
  53. package/lib/commonjs/core/mixins/OxyServices.location.js +55 -0
  54. package/lib/commonjs/core/mixins/OxyServices.location.js.map +1 -0
  55. package/lib/commonjs/core/mixins/OxyServices.payment.js +168 -0
  56. package/lib/commonjs/core/mixins/OxyServices.payment.js.map +1 -0
  57. package/lib/commonjs/core/mixins/OxyServices.privacy.js +174 -0
  58. package/lib/commonjs/core/mixins/OxyServices.privacy.js.map +1 -0
  59. package/lib/commonjs/core/mixins/OxyServices.security.js +96 -0
  60. package/lib/commonjs/core/mixins/OxyServices.security.js.map +1 -0
  61. package/lib/commonjs/core/mixins/OxyServices.user.js +393 -0
  62. package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -0
  63. package/lib/commonjs/core/mixins/OxyServices.utility.js +165 -0
  64. package/lib/commonjs/core/mixins/OxyServices.utility.js.map +1 -0
  65. package/lib/commonjs/core/mixins/index.js +39 -0
  66. package/lib/commonjs/core/mixins/index.js.map +1 -0
  67. package/lib/commonjs/core/mixins/mixinHelpers.js +62 -0
  68. package/lib/commonjs/core/mixins/mixinHelpers.js.map +1 -0
  69. package/lib/commonjs/core/services/SessionService.js +163 -0
  70. package/lib/commonjs/core/services/SessionService.js.map +1 -0
  71. package/lib/commonjs/core/services/TokenService.js +206 -0
  72. package/lib/commonjs/core/services/TokenService.js.map +1 -0
  73. package/lib/commonjs/crypto/index.js +27 -0
  74. package/lib/commonjs/crypto/index.js.map +1 -0
  75. package/lib/commonjs/crypto/keyManager.js +511 -0
  76. package/lib/commonjs/crypto/keyManager.js.map +1 -0
  77. package/lib/commonjs/crypto/polyfill.js +86 -0
  78. package/lib/commonjs/crypto/polyfill.js.map +1 -0
  79. package/lib/commonjs/crypto/signatureService.js +289 -0
  80. package/lib/commonjs/crypto/signatureService.js.map +1 -0
  81. package/lib/commonjs/crypto/types.js +2 -0
  82. package/lib/commonjs/crypto/types.js.map +1 -0
  83. package/lib/commonjs/i18n/index.js +76 -0
  84. package/lib/commonjs/i18n/index.js.map +1 -0
  85. package/lib/commonjs/i18n/locales/ar-SA.json +120 -0
  86. package/lib/commonjs/i18n/locales/ca-ES.json +120 -0
  87. package/lib/commonjs/i18n/locales/de-DE.json +120 -0
  88. package/lib/commonjs/i18n/locales/en-US.json +956 -0
  89. package/lib/commonjs/i18n/locales/es-ES.json +723 -0
  90. package/lib/commonjs/i18n/locales/fr-FR.json +120 -0
  91. package/lib/commonjs/i18n/locales/it-IT.json +120 -0
  92. package/lib/commonjs/i18n/locales/ja-JP.json +119 -0
  93. package/lib/commonjs/i18n/locales/ko-KR.json +120 -0
  94. package/lib/commonjs/i18n/locales/pt-PT.json +120 -0
  95. package/lib/commonjs/i18n/locales/zh-CN.json +120 -0
  96. package/lib/commonjs/index.js +601 -0
  97. package/lib/commonjs/index.js.map +1 -0
  98. package/lib/commonjs/lib/sonner-safe.js +32 -0
  99. package/lib/commonjs/lib/sonner-safe.js.map +1 -0
  100. package/lib/commonjs/lib/sonner.js +23 -0
  101. package/lib/commonjs/lib/sonner.js.map +1 -0
  102. package/lib/commonjs/models/interfaces.js +76 -0
  103. package/lib/commonjs/models/interfaces.js.map +1 -0
  104. package/lib/commonjs/models/session.js +2 -0
  105. package/lib/commonjs/models/session.js.map +1 -0
  106. package/lib/commonjs/node/index.js +59 -0
  107. package/lib/commonjs/node/index.js.map +1 -0
  108. package/lib/commonjs/ui/components/ActivityIndicator.js +203 -0
  109. package/lib/commonjs/ui/components/ActivityIndicator.js.map +1 -0
  110. package/lib/commonjs/ui/components/AnimationExample.js +213 -0
  111. package/lib/commonjs/ui/components/AnimationExample.js.map +1 -0
  112. package/lib/commonjs/ui/components/AutoHeightScrollView.js +46 -0
  113. package/lib/commonjs/ui/components/AutoHeightScrollView.js.map +1 -0
  114. package/lib/commonjs/ui/components/Avatar.js +172 -0
  115. package/lib/commonjs/ui/components/Avatar.js.map +1 -0
  116. package/lib/commonjs/ui/components/BottomSheet.js +407 -0
  117. package/lib/commonjs/ui/components/BottomSheet.js.map +1 -0
  118. package/lib/commonjs/ui/components/BottomSheetRouter.js +366 -0
  119. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -0
  120. package/lib/commonjs/ui/components/CrossFadeIcon.js +106 -0
  121. package/lib/commonjs/ui/components/CrossFadeIcon.js.map +1 -0
  122. package/lib/commonjs/ui/components/EmptyState.js +41 -0
  123. package/lib/commonjs/ui/components/EmptyState.js.map +1 -0
  124. package/lib/commonjs/ui/components/ErrorBoundary.js +145 -0
  125. package/lib/commonjs/ui/components/ErrorBoundary.js.map +1 -0
  126. package/lib/commonjs/ui/components/FollowButton.js +230 -0
  127. package/lib/commonjs/ui/components/FollowButton.js.map +1 -0
  128. package/lib/commonjs/ui/components/FontLoader.js +162 -0
  129. package/lib/commonjs/ui/components/FontLoader.js.map +1 -0
  130. package/lib/commonjs/ui/components/GroupedItem.js +140 -0
  131. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -0
  132. package/lib/commonjs/ui/components/GroupedSection.js +42 -0
  133. package/lib/commonjs/ui/components/GroupedSection.js.map +1 -0
  134. package/lib/commonjs/ui/components/Header.js +434 -0
  135. package/lib/commonjs/ui/components/Header.js.map +1 -0
  136. package/lib/commonjs/ui/components/HelperText.js +103 -0
  137. package/lib/commonjs/ui/components/HelperText.js.map +1 -0
  138. package/lib/commonjs/ui/components/Icon.js +109 -0
  139. package/lib/commonjs/ui/components/Icon.js.map +1 -0
  140. package/lib/commonjs/ui/components/IconButton/IconButton.js +159 -0
  141. package/lib/commonjs/ui/components/IconButton/IconButton.js.map +1 -0
  142. package/lib/commonjs/ui/components/IconButton/utils.js +155 -0
  143. package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -0
  144. package/lib/commonjs/ui/components/LoadingState.js +47 -0
  145. package/lib/commonjs/ui/components/LoadingState.js.map +1 -0
  146. package/lib/commonjs/ui/components/OxyLogo.js +54 -0
  147. package/lib/commonjs/ui/components/OxyLogo.js.map +1 -0
  148. package/lib/commonjs/ui/components/OxyPayButton.js +117 -0
  149. package/lib/commonjs/ui/components/OxyPayButton.js.map +1 -0
  150. package/lib/commonjs/ui/components/OxyProvider.js +144 -0
  151. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -0
  152. package/lib/commonjs/ui/components/OxySignInButton.js +180 -0
  153. package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -0
  154. package/lib/commonjs/ui/components/ProfileCard.js +138 -0
  155. package/lib/commonjs/ui/components/ProfileCard.js.map +1 -0
  156. package/lib/commonjs/ui/components/QuickActions.js +88 -0
  157. package/lib/commonjs/ui/components/QuickActions.js.map +1 -0
  158. package/lib/commonjs/ui/components/Section.js +39 -0
  159. package/lib/commonjs/ui/components/Section.js.map +1 -0
  160. package/lib/commonjs/ui/components/SectionTitle.js +35 -0
  161. package/lib/commonjs/ui/components/SectionTitle.js.map +1 -0
  162. package/lib/commonjs/ui/components/SettingRow.js +77 -0
  163. package/lib/commonjs/ui/components/SettingRow.js.map +1 -0
  164. package/lib/commonjs/ui/components/StepBasedScreen.js +397 -0
  165. package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -0
  166. package/lib/commonjs/ui/components/Surface.js +258 -0
  167. package/lib/commonjs/ui/components/Surface.js.map +1 -0
  168. package/lib/commonjs/ui/components/TextField/Addons/Outline.js +46 -0
  169. package/lib/commonjs/ui/components/TextField/Addons/Outline.js.map +1 -0
  170. package/lib/commonjs/ui/components/TextField/Addons/Underline.js +53 -0
  171. package/lib/commonjs/ui/components/TextField/Addons/Underline.js.map +1 -0
  172. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js +155 -0
  173. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -0
  174. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAffix.js +144 -0
  175. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldAffix.js.map +1 -0
  176. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldIcon.js +137 -0
  177. package/lib/commonjs/ui/components/TextField/Adornment/TextFieldIcon.js.map +1 -0
  178. package/lib/commonjs/ui/components/TextField/Adornment/enums.js +22 -0
  179. package/lib/commonjs/ui/components/TextField/Adornment/enums.js.map +1 -0
  180. package/lib/commonjs/ui/components/TextField/Adornment/types.js +6 -0
  181. package/lib/commonjs/ui/components/TextField/Adornment/types.js.map +1 -0
  182. package/lib/commonjs/ui/components/TextField/Adornment/utils.js +62 -0
  183. package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -0
  184. package/lib/commonjs/ui/components/TextField/Label/InputLabel.js +176 -0
  185. package/lib/commonjs/ui/components/TextField/Label/InputLabel.js.map +1 -0
  186. package/lib/commonjs/ui/components/TextField/Label/LabelBackground.js +84 -0
  187. package/lib/commonjs/ui/components/TextField/Label/LabelBackground.js.map +1 -0
  188. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js +379 -0
  189. package/lib/commonjs/ui/components/TextField/TextFieldFlat.js.map +1 -0
  190. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js +363 -0
  191. package/lib/commonjs/ui/components/TextField/TextFieldOutlined.js.map +1 -0
  192. package/lib/commonjs/ui/components/TextField/constants.js +50 -0
  193. package/lib/commonjs/ui/components/TextField/constants.js.map +1 -0
  194. package/lib/commonjs/ui/components/TextField/helpers.js +490 -0
  195. package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -0
  196. package/lib/commonjs/ui/components/TextField/types.js +6 -0
  197. package/lib/commonjs/ui/components/TextField/types.js.map +1 -0
  198. package/lib/commonjs/ui/components/TextField.js +339 -0
  199. package/lib/commonjs/ui/components/TextField.js.map +1 -0
  200. package/lib/commonjs/ui/components/TouchableRipple/Pressable.js +12 -0
  201. package/lib/commonjs/ui/components/TouchableRipple/Pressable.js.map +1 -0
  202. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js +258 -0
  203. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.js.map +1 -0
  204. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js +107 -0
  205. package/lib/commonjs/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -0
  206. package/lib/commonjs/ui/components/TouchableRipple/utils.js +56 -0
  207. package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -0
  208. package/lib/commonjs/ui/components/Typography/AnimatedText.js +62 -0
  209. package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -0
  210. package/lib/commonjs/ui/components/Typography/types.js +26 -0
  211. package/lib/commonjs/ui/components/Typography/types.js.map +1 -0
  212. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +171 -0
  213. package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -0
  214. package/lib/commonjs/ui/components/fileManagement/FileViewer.js +409 -0
  215. package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -0
  216. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +181 -0
  217. package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -0
  218. package/lib/commonjs/ui/components/fileManagement/styles.js +868 -0
  219. package/lib/commonjs/ui/components/fileManagement/styles.js.map +1 -0
  220. package/lib/commonjs/ui/components/icon/FAIRWalletIcon.js +64 -0
  221. package/lib/commonjs/ui/components/icon/FAIRWalletIcon.js.map +1 -0
  222. package/lib/commonjs/ui/components/icon/OxyIcon.js +25 -0
  223. package/lib/commonjs/ui/components/icon/OxyIcon.js.map +1 -0
  224. package/lib/commonjs/ui/components/icon/index.js +21 -0
  225. package/lib/commonjs/ui/components/icon/index.js.map +1 -0
  226. package/lib/commonjs/ui/components/index.js +132 -0
  227. package/lib/commonjs/ui/components/index.js.map +1 -0
  228. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +209 -0
  229. package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -0
  230. package/lib/commonjs/ui/components/internal/PinInput.js +115 -0
  231. package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -0
  232. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js +161 -0
  233. package/lib/commonjs/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
  234. package/lib/commonjs/ui/components/profile/EditBioModal.js +181 -0
  235. package/lib/commonjs/ui/components/profile/EditBioModal.js.map +1 -0
  236. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +204 -0
  237. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -0
  238. package/lib/commonjs/ui/components/profile/EditEmailModal.js +184 -0
  239. package/lib/commonjs/ui/components/profile/EditEmailModal.js.map +1 -0
  240. package/lib/commonjs/ui/components/profile/EditLinksModal.js +315 -0
  241. package/lib/commonjs/ui/components/profile/EditLinksModal.js.map +1 -0
  242. package/lib/commonjs/ui/components/profile/EditLocationModal.js +273 -0
  243. package/lib/commonjs/ui/components/profile/EditLocationModal.js.map +1 -0
  244. package/lib/commonjs/ui/components/profile/EditUsernameModal.js +180 -0
  245. package/lib/commonjs/ui/components/profile/EditUsernameModal.js.map +1 -0
  246. package/lib/commonjs/ui/components/styles/overlay.js +85 -0
  247. package/lib/commonjs/ui/components/styles/overlay.js.map +1 -0
  248. package/lib/commonjs/ui/components/styles/shadow.js +132 -0
  249. package/lib/commonjs/ui/components/styles/shadow.js.map +1 -0
  250. package/lib/commonjs/ui/components/theming.js +116 -0
  251. package/lib/commonjs/ui/components/theming.js.map +1 -0
  252. package/lib/commonjs/ui/components/types.js +2 -0
  253. package/lib/commonjs/ui/components/types.js.map +1 -0
  254. package/lib/commonjs/ui/components/utils/forwardRef.js +18 -0
  255. package/lib/commonjs/ui/components/utils/forwardRef.js.map +1 -0
  256. package/lib/commonjs/ui/components/utils/hasTouchHandler.js +13 -0
  257. package/lib/commonjs/ui/components/utils/hasTouchHandler.js.map +1 -0
  258. package/lib/commonjs/ui/components/utils/roundLayoutSize.js +9 -0
  259. package/lib/commonjs/ui/components/utils/roundLayoutSize.js.map +1 -0
  260. package/lib/commonjs/ui/components/utils/splitStyles.js +50 -0
  261. package/lib/commonjs/ui/components/utils/splitStyles.js.map +1 -0
  262. package/lib/commonjs/ui/constants/iconColors.js +84 -0
  263. package/lib/commonjs/ui/constants/iconColors.js.map +1 -0
  264. package/lib/commonjs/ui/constants/spacing.js +50 -0
  265. package/lib/commonjs/ui/constants/spacing.js.map +1 -0
  266. package/lib/commonjs/ui/constants/theme.js +123 -0
  267. package/lib/commonjs/ui/constants/theme.js.map +1 -0
  268. package/lib/commonjs/ui/context/OxyContext.js +850 -0
  269. package/lib/commonjs/ui/context/OxyContext.js.map +1 -0
  270. package/lib/commonjs/ui/context/ThemeContext.js +36 -0
  271. package/lib/commonjs/ui/context/ThemeContext.js.map +1 -0
  272. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +621 -0
  273. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -0
  274. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js +73 -0
  275. package/lib/commonjs/ui/context/hooks/useDeviceManagement.js.map +1 -0
  276. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js +112 -0
  277. package/lib/commonjs/ui/context/hooks/useLanguageManagement.js.map +1 -0
  278. package/lib/commonjs/ui/context/hooks/useSessionManagement.js +281 -0
  279. package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
  280. package/lib/commonjs/ui/context/hooks/useStorage.js +79 -0
  281. package/lib/commonjs/ui/context/hooks/useStorage.js.map +1 -0
  282. package/lib/commonjs/ui/hooks/index.js +46 -0
  283. package/lib/commonjs/ui/hooks/index.js.map +1 -0
  284. package/lib/commonjs/ui/hooks/mutations/index.js +68 -0
  285. package/lib/commonjs/ui/hooks/mutations/index.js.map +1 -0
  286. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +551 -0
  287. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  288. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +193 -0
  289. package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  290. package/lib/commonjs/ui/hooks/queries/index.js +118 -0
  291. package/lib/commonjs/ui/hooks/queries/index.js.map +1 -0
  292. package/lib/commonjs/ui/hooks/queries/queryKeys.js +96 -0
  293. package/lib/commonjs/ui/hooks/queries/queryKeys.js.map +1 -0
  294. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +219 -0
  295. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -0
  296. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +58 -0
  297. package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -0
  298. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +186 -0
  299. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -0
  300. package/lib/commonjs/ui/hooks/queryClient.js +117 -0
  301. package/lib/commonjs/ui/hooks/queryClient.js.map +1 -0
  302. package/lib/commonjs/ui/hooks/use-color-scheme.js +29 -0
  303. package/lib/commonjs/ui/hooks/use-color-scheme.js.map +1 -0
  304. package/lib/commonjs/ui/hooks/use-haptic-press.js +21 -0
  305. package/lib/commonjs/ui/hooks/use-haptic-press.js.map +1 -0
  306. package/lib/commonjs/ui/hooks/useAssets.js +245 -0
  307. package/lib/commonjs/ui/hooks/useAssets.js.map +1 -0
  308. package/lib/commonjs/ui/hooks/useDeviceManagement.js +73 -0
  309. package/lib/commonjs/ui/hooks/useDeviceManagement.js.map +1 -0
  310. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js +103 -0
  311. package/lib/commonjs/ui/hooks/useFileDownloadUrl.js.map +1 -0
  312. package/lib/commonjs/ui/hooks/useFollow.js +167 -0
  313. package/lib/commonjs/ui/hooks/useFollow.js.map +1 -0
  314. package/lib/commonjs/ui/hooks/useFollow.types.js +2 -0
  315. package/lib/commonjs/ui/hooks/useFollow.types.js.map +1 -0
  316. package/lib/commonjs/ui/hooks/useI18n.js +22 -0
  317. package/lib/commonjs/ui/hooks/useI18n.js.map +1 -0
  318. package/lib/commonjs/ui/hooks/useLanguageManagement.js +112 -0
  319. package/lib/commonjs/ui/hooks/useLanguageManagement.js.map +1 -0
  320. package/lib/commonjs/ui/hooks/useProfileEditing.js +107 -0
  321. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -0
  322. package/lib/commonjs/ui/hooks/useQueryClient.js +20 -0
  323. package/lib/commonjs/ui/hooks/useQueryClient.js.map +1 -0
  324. package/lib/commonjs/ui/hooks/useSessionManagement.js +281 -0
  325. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -0
  326. package/lib/commonjs/ui/hooks/useSessionSocket.js +474 -0
  327. package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -0
  328. package/lib/commonjs/ui/hooks/useStorage.js +79 -0
  329. package/lib/commonjs/ui/hooks/useStorage.js.map +1 -0
  330. package/lib/commonjs/ui/hooks/useThemeColors.js +31 -0
  331. package/lib/commonjs/ui/hooks/useThemeColors.js.map +1 -0
  332. package/lib/commonjs/ui/hooks/useThemeStyles.js +69 -0
  333. package/lib/commonjs/ui/hooks/useThemeStyles.js.map +1 -0
  334. package/lib/commonjs/ui/index.js +101 -0
  335. package/lib/commonjs/ui/index.js.map +1 -0
  336. package/lib/commonjs/ui/isFrontend.js +10 -0
  337. package/lib/commonjs/ui/isFrontend.js.map +1 -0
  338. package/lib/commonjs/ui/navigation/bottomSheetManager.js +180 -0
  339. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -0
  340. package/lib/commonjs/ui/navigation/routes.js +88 -0
  341. package/lib/commonjs/ui/navigation/routes.js.map +1 -0
  342. package/lib/commonjs/ui/screens/AccountCenterScreen.js +329 -0
  343. package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -0
  344. package/lib/commonjs/ui/screens/AccountOverviewScreen.js +752 -0
  345. package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -0
  346. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +2163 -0
  347. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -0
  348. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +703 -0
  349. package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -0
  350. package/lib/commonjs/ui/screens/AccountVerificationScreen.js +210 -0
  351. package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -0
  352. package/lib/commonjs/ui/screens/AppInfoScreen.js +414 -0
  353. package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -0
  354. package/lib/commonjs/ui/screens/FeedbackScreen.js +1191 -0
  355. package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -0
  356. package/lib/commonjs/ui/screens/FileManagementScreen.js +2333 -0
  357. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -0
  358. package/lib/commonjs/ui/screens/HelpSupportScreen.js +134 -0
  359. package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -0
  360. package/lib/commonjs/ui/screens/HistoryViewScreen.js +218 -0
  361. package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -0
  362. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +218 -0
  363. package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -0
  364. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +184 -0
  365. package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -0
  366. package/lib/commonjs/ui/screens/OxyAuthScreen.js +537 -0
  367. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -0
  368. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +1587 -0
  369. package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -0
  370. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +1647 -0
  371. package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
  372. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +472 -0
  373. package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -0
  374. package/lib/commonjs/ui/screens/ProfileScreen.js +647 -0
  375. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -0
  376. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +167 -0
  377. package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -0
  378. package/lib/commonjs/ui/screens/SearchSettingsScreen.js +166 -0
  379. package/lib/commonjs/ui/screens/SearchSettingsScreen.js.map +1 -0
  380. package/lib/commonjs/ui/screens/SessionManagementScreen.js +445 -0
  381. package/lib/commonjs/ui/screens/SessionManagementScreen.js.map +1 -0
  382. package/lib/commonjs/ui/screens/UserLinksScreen.js +86 -0
  383. package/lib/commonjs/ui/screens/UserLinksScreen.js.map +1 -0
  384. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +434 -0
  385. package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -0
  386. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +98 -0
  387. package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
  388. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +343 -0
  389. package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
  390. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +194 -0
  391. package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
  392. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +151 -0
  393. package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
  394. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +609 -0
  395. package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
  396. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +109 -0
  397. package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
  398. package/lib/commonjs/ui/stores/accountStore.js +252 -0
  399. package/lib/commonjs/ui/stores/accountStore.js.map +1 -0
  400. package/lib/commonjs/ui/stores/assetStore.js +225 -0
  401. package/lib/commonjs/ui/stores/assetStore.js.map +1 -0
  402. package/lib/commonjs/ui/stores/authStore.js +85 -0
  403. package/lib/commonjs/ui/stores/authStore.js.map +1 -0
  404. package/lib/commonjs/ui/stores/fileStore.js +153 -0
  405. package/lib/commonjs/ui/stores/fileStore.js.map +1 -0
  406. package/lib/commonjs/ui/stores/followStore.js +229 -0
  407. package/lib/commonjs/ui/stores/followStore.js.map +1 -0
  408. package/lib/commonjs/ui/styles/authStyles.js +338 -0
  409. package/lib/commonjs/ui/styles/authStyles.js.map +1 -0
  410. package/lib/commonjs/ui/styles/fonts.js +84 -0
  411. package/lib/commonjs/ui/styles/fonts.js.map +1 -0
  412. package/lib/commonjs/ui/styles/index.js +50 -0
  413. package/lib/commonjs/ui/styles/index.js.map +1 -0
  414. package/lib/commonjs/ui/styles/spacing.js +109 -0
  415. package/lib/commonjs/ui/styles/spacing.js.map +1 -0
  416. package/lib/commonjs/ui/styles/theme.js +121 -0
  417. package/lib/commonjs/ui/styles/theme.js.map +1 -0
  418. package/lib/commonjs/ui/types/fileManagement.js +6 -0
  419. package/lib/commonjs/ui/types/fileManagement.js.map +1 -0
  420. package/lib/commonjs/ui/types/navigation.js +6 -0
  421. package/lib/commonjs/ui/types/navigation.js.map +1 -0
  422. package/lib/commonjs/ui/utils/avatarUtils.js +131 -0
  423. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -0
  424. package/lib/commonjs/ui/utils/colorUtils.js +52 -0
  425. package/lib/commonjs/ui/utils/colorUtils.js.map +1 -0
  426. package/lib/commonjs/ui/utils/confirmAction.js +28 -0
  427. package/lib/commonjs/ui/utils/confirmAction.js.map +1 -0
  428. package/lib/commonjs/ui/utils/errorHandlers.js +137 -0
  429. package/lib/commonjs/ui/utils/errorHandlers.js.map +1 -0
  430. package/lib/commonjs/ui/utils/fileManagement.js +260 -0
  431. package/lib/commonjs/ui/utils/fileManagement.js.map +1 -0
  432. package/lib/commonjs/ui/utils/sessionHelpers.js +101 -0
  433. package/lib/commonjs/ui/utils/sessionHelpers.js.map +1 -0
  434. package/lib/commonjs/ui/utils/storageHelpers.js +119 -0
  435. package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -0
  436. package/lib/commonjs/ui/utils/themeUtils.js +47 -0
  437. package/lib/commonjs/ui/utils/themeUtils.js.map +1 -0
  438. package/lib/commonjs/ui/utils/user-utils.js +53 -0
  439. package/lib/commonjs/ui/utils/user-utils.js.map +1 -0
  440. package/lib/commonjs/utils/apiUtils.js +79 -0
  441. package/lib/commonjs/utils/apiUtils.js.map +1 -0
  442. package/lib/commonjs/utils/asyncUtils.js +207 -0
  443. package/lib/commonjs/utils/asyncUtils.js.map +1 -0
  444. package/lib/commonjs/utils/cache.js +259 -0
  445. package/lib/commonjs/utils/cache.js.map +1 -0
  446. package/lib/commonjs/utils/deviceManager.js +177 -0
  447. package/lib/commonjs/utils/deviceManager.js.map +1 -0
  448. package/lib/commonjs/utils/errorUtils.js +181 -0
  449. package/lib/commonjs/utils/errorUtils.js.map +1 -0
  450. package/lib/commonjs/utils/hookUtils.js +399 -0
  451. package/lib/commonjs/utils/hookUtils.js.map +1 -0
  452. package/lib/commonjs/utils/index.js +106 -0
  453. package/lib/commonjs/utils/index.js.map +1 -0
  454. package/lib/commonjs/utils/languageUtils.js +159 -0
  455. package/lib/commonjs/utils/languageUtils.js.map +1 -0
  456. package/lib/commonjs/utils/loggerUtils.js +160 -0
  457. package/lib/commonjs/utils/loggerUtils.js.map +1 -0
  458. package/lib/commonjs/utils/requestUtils.js +217 -0
  459. package/lib/commonjs/utils/requestUtils.js.map +1 -0
  460. package/lib/commonjs/utils/sessionUtils.js +191 -0
  461. package/lib/commonjs/utils/sessionUtils.js.map +1 -0
  462. package/lib/commonjs/utils/validationUtils.js +191 -0
  463. package/lib/commonjs/utils/validationUtils.js.map +1 -0
  464. package/lib/module/assets/OxyLogo.svg +1 -0
  465. package/lib/module/assets/assets/OxyLogo.svg +1 -0
  466. package/lib/module/assets/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  467. package/lib/module/assets/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  468. package/lib/module/assets/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  469. package/lib/module/assets/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  470. package/lib/module/assets/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  471. package/lib/module/assets/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  472. package/lib/module/assets/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  473. package/lib/module/assets/assets/icons/OxyServices.tsx +67 -0
  474. package/lib/module/assets/assets/icons/logo_OxyServices.svg +1 -0
  475. package/lib/module/assets/assets/illustrations/HighFive.tsx +41 -0
  476. package/lib/module/assets/assets/lottie/welcomeheader_background_op1.json +1 -0
  477. package/lib/module/assets/fonts/Phudu/Phudu-Black.ttf +0 -0
  478. package/lib/module/assets/fonts/Phudu/Phudu-Bold.ttf +0 -0
  479. package/lib/module/assets/fonts/Phudu/Phudu-ExtraBold.ttf +0 -0
  480. package/lib/module/assets/fonts/Phudu/Phudu-Light.ttf +0 -0
  481. package/lib/module/assets/fonts/Phudu/Phudu-Medium.ttf +0 -0
  482. package/lib/module/assets/fonts/Phudu/Phudu-Regular.ttf +0 -0
  483. package/lib/module/assets/fonts/Phudu/Phudu-SemiBold.ttf +0 -0
  484. package/lib/module/assets/icons/OxyServices.js +45 -0
  485. package/lib/module/assets/icons/OxyServices.js.map +1 -0
  486. package/lib/module/assets/icons/logo_OxyServices.svg +1 -0
  487. package/lib/module/assets/illustrations/HighFive.js +54 -0
  488. package/lib/module/assets/illustrations/HighFive.js.map +1 -0
  489. package/lib/module/assets/lottie/welcomeheader_background_op1.json +1 -0
  490. package/lib/module/constants/version.js +21 -0
  491. package/lib/module/constants/version.js.map +1 -0
  492. package/lib/module/core/HttpService.js +502 -0
  493. package/lib/module/core/HttpService.js.map +1 -0
  494. package/lib/module/core/OxyServices.base.js +278 -0
  495. package/lib/module/core/OxyServices.base.js.map +1 -0
  496. package/lib/module/core/OxyServices.errors.js +20 -0
  497. package/lib/module/core/OxyServices.errors.js.map +1 -0
  498. package/lib/module/core/OxyServices.js +131 -0
  499. package/lib/module/core/OxyServices.js.map +1 -0
  500. package/lib/module/core/index.js +27 -0
  501. package/lib/module/core/index.js.map +1 -0
  502. package/lib/module/core/mixins/OxyServices.analytics.js +56 -0
  503. package/lib/module/core/mixins/OxyServices.analytics.js.map +1 -0
  504. package/lib/module/core/mixins/OxyServices.assets.js +371 -0
  505. package/lib/module/core/mixins/OxyServices.assets.js.map +1 -0
  506. package/lib/module/core/mixins/OxyServices.auth.js +267 -0
  507. package/lib/module/core/mixins/OxyServices.auth.js.map +1 -0
  508. package/lib/module/core/mixins/OxyServices.developer.js +111 -0
  509. package/lib/module/core/mixins/OxyServices.developer.js.map +1 -0
  510. package/lib/module/core/mixins/OxyServices.devices.js +129 -0
  511. package/lib/module/core/mixins/OxyServices.devices.js.map +1 -0
  512. package/lib/module/core/mixins/OxyServices.karma.js +113 -0
  513. package/lib/module/core/mixins/OxyServices.karma.js.map +1 -0
  514. package/lib/module/core/mixins/OxyServices.language.js +120 -0
  515. package/lib/module/core/mixins/OxyServices.language.js.map +1 -0
  516. package/lib/module/core/mixins/OxyServices.location.js +51 -0
  517. package/lib/module/core/mixins/OxyServices.location.js.map +1 -0
  518. package/lib/module/core/mixins/OxyServices.payment.js +164 -0
  519. package/lib/module/core/mixins/OxyServices.payment.js.map +1 -0
  520. package/lib/module/core/mixins/OxyServices.privacy.js +170 -0
  521. package/lib/module/core/mixins/OxyServices.privacy.js.map +1 -0
  522. package/lib/module/core/mixins/OxyServices.security.js +92 -0
  523. package/lib/module/core/mixins/OxyServices.security.js.map +1 -0
  524. package/lib/module/core/mixins/OxyServices.user.js +389 -0
  525. package/lib/module/core/mixins/OxyServices.user.js.map +1 -0
  526. package/lib/module/core/mixins/OxyServices.utility.js +160 -0
  527. package/lib/module/core/mixins/OxyServices.utility.js.map +1 -0
  528. package/lib/module/core/mixins/index.js +36 -0
  529. package/lib/module/core/mixins/index.js.map +1 -0
  530. package/lib/module/core/mixins/mixinHelpers.js +56 -0
  531. package/lib/module/core/mixins/mixinHelpers.js.map +1 -0
  532. package/lib/module/core/services/SessionService.js +159 -0
  533. package/lib/module/core/services/SessionService.js.map +1 -0
  534. package/lib/module/core/services/TokenService.js +203 -0
  535. package/lib/module/core/services/TokenService.js.map +1 -0
  536. package/lib/module/crypto/index.js +16 -0
  537. package/lib/module/crypto/index.js.map +1 -0
  538. package/lib/module/crypto/keyManager.js +508 -0
  539. package/lib/module/crypto/keyManager.js.map +1 -0
  540. package/lib/module/crypto/polyfill.js +78 -0
  541. package/lib/module/crypto/polyfill.js.map +1 -0
  542. package/lib/module/crypto/signatureService.js +286 -0
  543. package/lib/module/crypto/signatureService.js.map +1 -0
  544. package/lib/module/crypto/types.js +2 -0
  545. package/lib/module/crypto/types.js.map +1 -0
  546. package/lib/module/i18n/index.js +71 -0
  547. package/lib/module/i18n/index.js.map +1 -0
  548. package/lib/module/i18n/locales/ar-SA.json +120 -0
  549. package/lib/module/i18n/locales/ca-ES.json +120 -0
  550. package/lib/module/i18n/locales/de-DE.json +120 -0
  551. package/lib/module/i18n/locales/en-US.json +956 -0
  552. package/lib/module/i18n/locales/es-ES.json +723 -0
  553. package/lib/module/i18n/locales/fr-FR.json +120 -0
  554. package/lib/module/i18n/locales/it-IT.json +120 -0
  555. package/lib/module/i18n/locales/ja-JP.json +119 -0
  556. package/lib/module/i18n/locales/ko-KR.json +120 -0
  557. package/lib/module/i18n/locales/pt-PT.json +120 -0
  558. package/lib/module/i18n/locales/zh-CN.json +120 -0
  559. package/lib/module/index.js +74 -0
  560. package/lib/module/index.js.map +1 -0
  561. package/lib/module/lib/sonner-safe.js +29 -0
  562. package/lib/module/lib/sonner-safe.js.map +1 -0
  563. package/lib/module/lib/sonner.js +19 -0
  564. package/lib/module/lib/sonner.js.map +1 -0
  565. package/lib/module/models/interfaces.js +72 -0
  566. package/lib/module/models/interfaces.js.map +1 -0
  567. package/lib/module/models/session.js +2 -0
  568. package/lib/module/models/session.js.map +1 -0
  569. package/lib/module/node/index.js +20 -0
  570. package/lib/module/node/index.js.map +1 -0
  571. package/lib/module/ui/components/ActivityIndicator.js +198 -0
  572. package/lib/module/ui/components/ActivityIndicator.js.map +1 -0
  573. package/lib/module/ui/components/AnimationExample.js +209 -0
  574. package/lib/module/ui/components/AnimationExample.js.map +1 -0
  575. package/lib/module/ui/components/AutoHeightScrollView.js +41 -0
  576. package/lib/module/ui/components/AutoHeightScrollView.js.map +1 -0
  577. package/lib/module/ui/components/Avatar.js +168 -0
  578. package/lib/module/ui/components/Avatar.js.map +1 -0
  579. package/lib/module/ui/components/BottomSheet.js +402 -0
  580. package/lib/module/ui/components/BottomSheet.js.map +1 -0
  581. package/lib/module/ui/components/BottomSheetRouter.js +356 -0
  582. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -0
  583. package/lib/module/ui/components/CrossFadeIcon.js +101 -0
  584. package/lib/module/ui/components/CrossFadeIcon.js.map +1 -0
  585. package/lib/module/ui/components/EmptyState.js +36 -0
  586. package/lib/module/ui/components/EmptyState.js.map +1 -0
  587. package/lib/module/ui/components/ErrorBoundary.js +139 -0
  588. package/lib/module/ui/components/ErrorBoundary.js.map +1 -0
  589. package/lib/module/ui/components/FollowButton.js +226 -0
  590. package/lib/module/ui/components/FollowButton.js.map +1 -0
  591. package/lib/module/ui/components/FontLoader.js +157 -0
  592. package/lib/module/ui/components/FontLoader.js.map +1 -0
  593. package/lib/module/ui/components/GroupedItem.js +135 -0
  594. package/lib/module/ui/components/GroupedItem.js.map +1 -0
  595. package/lib/module/ui/components/GroupedSection.js +37 -0
  596. package/lib/module/ui/components/GroupedSection.js.map +1 -0
  597. package/lib/module/ui/components/Header.js +428 -0
  598. package/lib/module/ui/components/Header.js.map +1 -0
  599. package/lib/module/ui/components/HelperText.js +99 -0
  600. package/lib/module/ui/components/HelperText.js.map +1 -0
  601. package/lib/module/ui/components/Icon.js +102 -0
  602. package/lib/module/ui/components/Icon.js.map +1 -0
  603. package/lib/module/ui/components/IconButton/IconButton.js +153 -0
  604. package/lib/module/ui/components/IconButton/IconButton.js.map +1 -0
  605. package/lib/module/ui/components/IconButton/utils.js +149 -0
  606. package/lib/module/ui/components/IconButton/utils.js.map +1 -0
  607. package/lib/module/ui/components/LoadingState.js +42 -0
  608. package/lib/module/ui/components/LoadingState.js.map +1 -0
  609. package/lib/module/ui/components/OxyLogo.js +48 -0
  610. package/lib/module/ui/components/OxyLogo.js.map +1 -0
  611. package/lib/module/ui/components/OxyPayButton.js +112 -0
  612. package/lib/module/ui/components/OxyPayButton.js.map +1 -0
  613. package/lib/module/ui/components/OxyProvider.js +140 -0
  614. package/lib/module/ui/components/OxyProvider.js.map +1 -0
  615. package/lib/module/ui/components/OxySignInButton.js +174 -0
  616. package/lib/module/ui/components/OxySignInButton.js.map +1 -0
  617. package/lib/module/ui/components/ProfileCard.js +133 -0
  618. package/lib/module/ui/components/ProfileCard.js.map +1 -0
  619. package/lib/module/ui/components/QuickActions.js +84 -0
  620. package/lib/module/ui/components/QuickActions.js.map +1 -0
  621. package/lib/module/ui/components/Section.js +34 -0
  622. package/lib/module/ui/components/Section.js.map +1 -0
  623. package/lib/module/ui/components/SectionTitle.js +31 -0
  624. package/lib/module/ui/components/SectionTitle.js.map +1 -0
  625. package/lib/module/ui/components/SettingRow.js +72 -0
  626. package/lib/module/ui/components/SettingRow.js.map +1 -0
  627. package/lib/module/ui/components/StepBasedScreen.js +392 -0
  628. package/lib/module/ui/components/StepBasedScreen.js.map +1 -0
  629. package/lib/module/ui/components/Surface.js +252 -0
  630. package/lib/module/ui/components/Surface.js.map +1 -0
  631. package/lib/module/ui/components/TextField/Addons/Outline.js +40 -0
  632. package/lib/module/ui/components/TextField/Addons/Outline.js.map +1 -0
  633. package/lib/module/ui/components/TextField/Addons/Underline.js +47 -0
  634. package/lib/module/ui/components/TextField/Addons/Underline.js.map +1 -0
  635. package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js +148 -0
  636. package/lib/module/ui/components/TextField/Adornment/TextFieldAdornment.js.map +1 -0
  637. package/lib/module/ui/components/TextField/Adornment/TextFieldAffix.js +141 -0
  638. package/lib/module/ui/components/TextField/Adornment/TextFieldAffix.js.map +1 -0
  639. package/lib/module/ui/components/TextField/Adornment/TextFieldIcon.js +135 -0
  640. package/lib/module/ui/components/TextField/Adornment/TextFieldIcon.js.map +1 -0
  641. package/lib/module/ui/components/TextField/Adornment/enums.js +18 -0
  642. package/lib/module/ui/components/TextField/Adornment/enums.js.map +1 -0
  643. package/lib/module/ui/components/TextField/Adornment/types.js +4 -0
  644. package/lib/module/ui/components/TextField/Adornment/types.js.map +1 -0
  645. package/lib/module/ui/components/TextField/Adornment/utils.js +57 -0
  646. package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -0
  647. package/lib/module/ui/components/TextField/Label/InputLabel.js +171 -0
  648. package/lib/module/ui/components/TextField/Label/InputLabel.js.map +1 -0
  649. package/lib/module/ui/components/TextField/Label/LabelBackground.js +78 -0
  650. package/lib/module/ui/components/TextField/Label/LabelBackground.js.map +1 -0
  651. package/lib/module/ui/components/TextField/TextFieldFlat.js +374 -0
  652. package/lib/module/ui/components/TextField/TextFieldFlat.js.map +1 -0
  653. package/lib/module/ui/components/TextField/TextFieldOutlined.js +357 -0
  654. package/lib/module/ui/components/TextField/TextFieldOutlined.js.map +1 -0
  655. package/lib/module/ui/components/TextField/constants.js +46 -0
  656. package/lib/module/ui/components/TextField/constants.js.map +1 -0
  657. package/lib/module/ui/components/TextField/helpers.js +472 -0
  658. package/lib/module/ui/components/TextField/helpers.js.map +1 -0
  659. package/lib/module/ui/components/TextField/types.js +4 -0
  660. package/lib/module/ui/components/TextField/types.js.map +1 -0
  661. package/lib/module/ui/components/TextField.js +333 -0
  662. package/lib/module/ui/components/TextField.js.map +1 -0
  663. package/lib/module/ui/components/TouchableRipple/Pressable.js +9 -0
  664. package/lib/module/ui/components/TouchableRipple/Pressable.js.map +1 -0
  665. package/lib/module/ui/components/TouchableRipple/TouchableRipple.js +253 -0
  666. package/lib/module/ui/components/TouchableRipple/TouchableRipple.js.map +1 -0
  667. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js +101 -0
  668. package/lib/module/ui/components/TouchableRipple/TouchableRipple.native.js.map +1 -0
  669. package/lib/module/ui/components/TouchableRipple/utils.js +50 -0
  670. package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -0
  671. package/lib/module/ui/components/Typography/AnimatedText.js +56 -0
  672. package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -0
  673. package/lib/module/ui/components/Typography/types.js +22 -0
  674. package/lib/module/ui/components/Typography/types.js.map +1 -0
  675. package/lib/module/ui/components/fileManagement/FileDetailsModal.js +165 -0
  676. package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -0
  677. package/lib/module/ui/components/fileManagement/FileViewer.js +402 -0
  678. package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -0
  679. package/lib/module/ui/components/fileManagement/UploadPreview.js +175 -0
  680. package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -0
  681. package/lib/module/ui/components/fileManagement/styles.js +864 -0
  682. package/lib/module/ui/components/fileManagement/styles.js.map +1 -0
  683. package/lib/module/ui/components/icon/FAIRWalletIcon.js +59 -0
  684. package/lib/module/ui/components/icon/FAIRWalletIcon.js.map +1 -0
  685. package/lib/module/ui/components/icon/OxyIcon.js +21 -0
  686. package/lib/module/ui/components/icon/OxyIcon.js.map +1 -0
  687. package/lib/module/ui/components/icon/index.js +5 -0
  688. package/lib/module/ui/components/icon/index.js.map +1 -0
  689. package/lib/module/ui/components/index.js +22 -0
  690. package/lib/module/ui/components/index.js.map +1 -0
  691. package/lib/module/ui/components/internal/GroupedPillButtons.js +205 -0
  692. package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -0
  693. package/lib/module/ui/components/internal/PinInput.js +110 -0
  694. package/lib/module/ui/components/internal/PinInput.js.map +1 -0
  695. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js +156 -0
  696. package/lib/module/ui/components/photogrid/JustifiedPhotoGrid.js.map +1 -0
  697. package/lib/module/ui/components/profile/EditBioModal.js +175 -0
  698. package/lib/module/ui/components/profile/EditBioModal.js.map +1 -0
  699. package/lib/module/ui/components/profile/EditDisplayNameModal.js +198 -0
  700. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -0
  701. package/lib/module/ui/components/profile/EditEmailModal.js +178 -0
  702. package/lib/module/ui/components/profile/EditEmailModal.js.map +1 -0
  703. package/lib/module/ui/components/profile/EditLinksModal.js +309 -0
  704. package/lib/module/ui/components/profile/EditLinksModal.js.map +1 -0
  705. package/lib/module/ui/components/profile/EditLocationModal.js +267 -0
  706. package/lib/module/ui/components/profile/EditLocationModal.js.map +1 -0
  707. package/lib/module/ui/components/profile/EditUsernameModal.js +174 -0
  708. package/lib/module/ui/components/profile/EditUsernameModal.js.map +1 -0
  709. package/lib/module/ui/components/styles/overlay.js +80 -0
  710. package/lib/module/ui/components/styles/overlay.js.map +1 -0
  711. package/lib/module/ui/components/styles/shadow.js +128 -0
  712. package/lib/module/ui/components/styles/shadow.js.map +1 -0
  713. package/lib/module/ui/components/theming.js +111 -0
  714. package/lib/module/ui/components/theming.js.map +1 -0
  715. package/lib/module/ui/components/types.js +2 -0
  716. package/lib/module/ui/components/types.js.map +1 -0
  717. package/lib/module/ui/components/utils/forwardRef.js +13 -0
  718. package/lib/module/ui/components/utils/forwardRef.js.map +1 -0
  719. package/lib/module/ui/components/utils/hasTouchHandler.js +9 -0
  720. package/lib/module/ui/components/utils/hasTouchHandler.js.map +1 -0
  721. package/lib/module/ui/components/utils/roundLayoutSize.js +4 -0
  722. package/lib/module/ui/components/utils/roundLayoutSize.js.map +1 -0
  723. package/lib/module/ui/components/utils/splitStyles.js +46 -0
  724. package/lib/module/ui/components/utils/splitStyles.js.map +1 -0
  725. package/lib/module/ui/constants/iconColors.js +78 -0
  726. package/lib/module/ui/constants/iconColors.js.map +1 -0
  727. package/lib/module/ui/constants/spacing.js +45 -0
  728. package/lib/module/ui/constants/spacing.js.map +1 -0
  729. package/lib/module/ui/constants/theme.js +119 -0
  730. package/lib/module/ui/constants/theme.js.map +1 -0
  731. package/lib/module/ui/context/OxyContext.js +844 -0
  732. package/lib/module/ui/context/OxyContext.js.map +1 -0
  733. package/lib/module/ui/context/ThemeContext.js +29 -0
  734. package/lib/module/ui/context/ThemeContext.js.map +1 -0
  735. package/lib/module/ui/context/hooks/useAuthOperations.js +615 -0
  736. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -0
  737. package/lib/module/ui/context/hooks/useDeviceManagement.js +68 -0
  738. package/lib/module/ui/context/hooks/useDeviceManagement.js.map +1 -0
  739. package/lib/module/ui/context/hooks/useLanguageManagement.js +107 -0
  740. package/lib/module/ui/context/hooks/useLanguageManagement.js.map +1 -0
  741. package/lib/module/ui/context/hooks/useSessionManagement.js +276 -0
  742. package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
  743. package/lib/module/ui/context/hooks/useStorage.js +74 -0
  744. package/lib/module/ui/context/hooks/useStorage.js.map +1 -0
  745. package/lib/module/ui/hooks/index.js +7 -0
  746. package/lib/module/ui/hooks/index.js.map +1 -0
  747. package/lib/module/ui/hooks/mutations/index.js +15 -0
  748. package/lib/module/ui/hooks/mutations/index.js.map +1 -0
  749. package/lib/module/ui/hooks/mutations/useAccountMutations.js +543 -0
  750. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -0
  751. package/lib/module/ui/hooks/mutations/useServicesMutations.js +185 -0
  752. package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -0
  753. package/lib/module/ui/hooks/queries/index.js +21 -0
  754. package/lib/module/ui/hooks/queries/index.js.map +1 -0
  755. package/lib/module/ui/hooks/queries/queryKeys.js +89 -0
  756. package/lib/module/ui/hooks/queries/queryKeys.js.map +1 -0
  757. package/lib/module/ui/hooks/queries/useAccountQueries.js +209 -0
  758. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -0
  759. package/lib/module/ui/hooks/queries/useSecurityQueries.js +52 -0
  760. package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -0
  761. package/lib/module/ui/hooks/queries/useServicesQueries.js +178 -0
  762. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -0
  763. package/lib/module/ui/hooks/queryClient.js +110 -0
  764. package/lib/module/ui/hooks/queryClient.js.map +1 -0
  765. package/lib/module/ui/hooks/use-color-scheme.js +26 -0
  766. package/lib/module/ui/hooks/use-color-scheme.js.map +1 -0
  767. package/lib/module/ui/hooks/use-haptic-press.js +17 -0
  768. package/lib/module/ui/hooks/use-haptic-press.js.map +1 -0
  769. package/lib/module/ui/hooks/useAssets.js +239 -0
  770. package/lib/module/ui/hooks/useAssets.js.map +1 -0
  771. package/lib/module/ui/hooks/useDeviceManagement.js +68 -0
  772. package/lib/module/ui/hooks/useDeviceManagement.js.map +1 -0
  773. package/lib/module/ui/hooks/useFileDownloadUrl.js +97 -0
  774. package/lib/module/ui/hooks/useFileDownloadUrl.js.map +1 -0
  775. package/lib/module/ui/hooks/useFollow.js +161 -0
  776. package/lib/module/ui/hooks/useFollow.js.map +1 -0
  777. package/lib/module/ui/hooks/useFollow.types.js +2 -0
  778. package/lib/module/ui/hooks/useFollow.types.js.map +1 -0
  779. package/lib/module/ui/hooks/useI18n.js +18 -0
  780. package/lib/module/ui/hooks/useI18n.js.map +1 -0
  781. package/lib/module/ui/hooks/useLanguageManagement.js +107 -0
  782. package/lib/module/ui/hooks/useLanguageManagement.js.map +1 -0
  783. package/lib/module/ui/hooks/useProfileEditing.js +102 -0
  784. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -0
  785. package/lib/module/ui/hooks/useQueryClient.js +15 -0
  786. package/lib/module/ui/hooks/useQueryClient.js.map +1 -0
  787. package/lib/module/ui/hooks/useSessionManagement.js +276 -0
  788. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -0
  789. package/lib/module/ui/hooks/useSessionSocket.js +469 -0
  790. package/lib/module/ui/hooks/useSessionSocket.js.map +1 -0
  791. package/lib/module/ui/hooks/useStorage.js +74 -0
  792. package/lib/module/ui/hooks/useStorage.js.map +1 -0
  793. package/lib/module/ui/hooks/useThemeColors.js +27 -0
  794. package/lib/module/ui/hooks/useThemeColors.js.map +1 -0
  795. package/lib/module/ui/hooks/useThemeStyles.js +64 -0
  796. package/lib/module/ui/hooks/useThemeStyles.js.map +1 -0
  797. package/lib/module/ui/index.js +63 -0
  798. package/lib/module/ui/index.js.map +1 -0
  799. package/lib/module/ui/isFrontend.js +6 -0
  800. package/lib/module/ui/isFrontend.js.map +1 -0
  801. package/lib/module/ui/navigation/bottomSheetManager.js +168 -0
  802. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -0
  803. package/lib/module/ui/navigation/routes.js +82 -0
  804. package/lib/module/ui/navigation/routes.js.map +1 -0
  805. package/lib/module/ui/screens/AccountCenterScreen.js +324 -0
  806. package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -0
  807. package/lib/module/ui/screens/AccountOverviewScreen.js +747 -0
  808. package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -0
  809. package/lib/module/ui/screens/AccountSettingsScreen.js +2158 -0
  810. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -0
  811. package/lib/module/ui/screens/AccountSwitcherScreen.js +698 -0
  812. package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -0
  813. package/lib/module/ui/screens/AccountVerificationScreen.js +205 -0
  814. package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -0
  815. package/lib/module/ui/screens/AppInfoScreen.js +409 -0
  816. package/lib/module/ui/screens/AppInfoScreen.js.map +1 -0
  817. package/lib/module/ui/screens/FeedbackScreen.js +1186 -0
  818. package/lib/module/ui/screens/FeedbackScreen.js.map +1 -0
  819. package/lib/module/ui/screens/FileManagementScreen.js +2327 -0
  820. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -0
  821. package/lib/module/ui/screens/HelpSupportScreen.js +129 -0
  822. package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -0
  823. package/lib/module/ui/screens/HistoryViewScreen.js +213 -0
  824. package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -0
  825. package/lib/module/ui/screens/LanguageSelectorScreen.js +213 -0
  826. package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -0
  827. package/lib/module/ui/screens/LegalDocumentsScreen.js +179 -0
  828. package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -0
  829. package/lib/module/ui/screens/OxyAuthScreen.js +533 -0
  830. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -0
  831. package/lib/module/ui/screens/PaymentGatewayScreen.js +1583 -0
  832. package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -0
  833. package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1643 -0
  834. package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -0
  835. package/lib/module/ui/screens/PrivacySettingsScreen.js +467 -0
  836. package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -0
  837. package/lib/module/ui/screens/ProfileScreen.js +642 -0
  838. package/lib/module/ui/screens/ProfileScreen.js.map +1 -0
  839. package/lib/module/ui/screens/SavesCollectionsScreen.js +162 -0
  840. package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -0
  841. package/lib/module/ui/screens/SearchSettingsScreen.js +161 -0
  842. package/lib/module/ui/screens/SearchSettingsScreen.js.map +1 -0
  843. package/lib/module/ui/screens/SessionManagementScreen.js +442 -0
  844. package/lib/module/ui/screens/SessionManagementScreen.js.map +1 -0
  845. package/lib/module/ui/screens/UserLinksScreen.js +82 -0
  846. package/lib/module/ui/screens/UserLinksScreen.js.map +1 -0
  847. package/lib/module/ui/screens/WelcomeNewUserScreen.js +428 -0
  848. package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -0
  849. package/lib/module/ui/screens/karma/KarmaAboutScreen.js +94 -0
  850. package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -0
  851. package/lib/module/ui/screens/karma/KarmaCenterScreen.js +339 -0
  852. package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -0
  853. package/lib/module/ui/screens/karma/KarmaFAQScreen.js +189 -0
  854. package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -0
  855. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +146 -0
  856. package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -0
  857. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +605 -0
  858. package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -0
  859. package/lib/module/ui/screens/karma/KarmaRulesScreen.js +105 -0
  860. package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -0
  861. package/lib/module/ui/stores/accountStore.js +244 -0
  862. package/lib/module/ui/stores/accountStore.js.map +1 -0
  863. package/lib/module/ui/stores/assetStore.js +212 -0
  864. package/lib/module/ui/stores/assetStore.js.map +1 -0
  865. package/lib/module/ui/stores/authStore.js +81 -0
  866. package/lib/module/ui/stores/authStore.js.map +1 -0
  867. package/lib/module/ui/stores/fileStore.js +145 -0
  868. package/lib/module/ui/stores/fileStore.js.map +1 -0
  869. package/lib/module/ui/stores/followStore.js +225 -0
  870. package/lib/module/ui/stores/followStore.js.map +1 -0
  871. package/lib/module/ui/styles/authStyles.js +333 -0
  872. package/lib/module/ui/styles/authStyles.js.map +1 -0
  873. package/lib/module/ui/styles/fonts.js +81 -0
  874. package/lib/module/ui/styles/fonts.js.map +1 -0
  875. package/lib/module/ui/styles/index.js +7 -0
  876. package/lib/module/ui/styles/index.js.map +1 -0
  877. package/lib/module/ui/styles/spacing.js +58 -0
  878. package/lib/module/ui/styles/spacing.js.map +1 -0
  879. package/lib/module/ui/styles/theme.js +114 -0
  880. package/lib/module/ui/styles/theme.js.map +1 -0
  881. package/lib/module/ui/types/fileManagement.js +4 -0
  882. package/lib/module/ui/types/fileManagement.js.map +1 -0
  883. package/lib/module/ui/types/navigation.js +4 -0
  884. package/lib/module/ui/types/navigation.js.map +1 -0
  885. package/lib/module/ui/utils/avatarUtils.js +126 -0
  886. package/lib/module/ui/utils/avatarUtils.js.map +1 -0
  887. package/lib/module/ui/utils/colorUtils.js +46 -0
  888. package/lib/module/ui/utils/colorUtils.js.map +1 -0
  889. package/lib/module/ui/utils/confirmAction.js +25 -0
  890. package/lib/module/ui/utils/confirmAction.js.map +1 -0
  891. package/lib/module/ui/utils/errorHandlers.js +129 -0
  892. package/lib/module/ui/utils/errorHandlers.js.map +1 -0
  893. package/lib/module/ui/utils/fileManagement.js +251 -0
  894. package/lib/module/ui/utils/fileManagement.js.map +1 -0
  895. package/lib/module/ui/utils/sessionHelpers.js +94 -0
  896. package/lib/module/ui/utils/sessionHelpers.js.map +1 -0
  897. package/lib/module/ui/utils/storageHelpers.js +111 -0
  898. package/lib/module/ui/utils/storageHelpers.js.map +1 -0
  899. package/lib/module/ui/utils/themeUtils.js +41 -0
  900. package/lib/module/ui/utils/themeUtils.js.map +1 -0
  901. package/lib/module/ui/utils/user-utils.js +46 -0
  902. package/lib/module/ui/utils/user-utils.js.map +1 -0
  903. package/lib/module/utils/apiUtils.js +72 -0
  904. package/lib/module/utils/apiUtils.js.map +1 -0
  905. package/lib/module/utils/asyncUtils.js +192 -0
  906. package/lib/module/utils/asyncUtils.js.map +1 -0
  907. package/lib/module/utils/cache.js +250 -0
  908. package/lib/module/utils/cache.js.map +1 -0
  909. package/lib/module/utils/deviceManager.js +171 -0
  910. package/lib/module/utils/deviceManager.js.map +1 -0
  911. package/lib/module/utils/errorUtils.js +167 -0
  912. package/lib/module/utils/errorUtils.js.map +1 -0
  913. package/lib/module/utils/hookUtils.js +381 -0
  914. package/lib/module/utils/hookUtils.js.map +1 -0
  915. package/lib/module/utils/index.js +11 -0
  916. package/lib/module/utils/index.js.map +1 -0
  917. package/lib/module/utils/languageUtils.js +151 -0
  918. package/lib/module/utils/languageUtils.js.map +1 -0
  919. package/lib/module/utils/loggerUtils.js +149 -0
  920. package/lib/module/utils/loggerUtils.js.map +1 -0
  921. package/lib/module/utils/requestUtils.js +210 -0
  922. package/lib/module/utils/requestUtils.js.map +1 -0
  923. package/lib/module/utils/sessionUtils.js +180 -0
  924. package/lib/module/utils/sessionUtils.js.map +1 -0
  925. package/lib/module/utils/validationUtils.js +170 -0
  926. package/lib/module/utils/validationUtils.js.map +1 -0
  927. package/lib/typescript/assets/icons/OxyServices.d.ts +29 -0
  928. package/lib/typescript/assets/icons/OxyServices.d.ts.map +1 -0
  929. package/lib/typescript/assets/illustrations/HighFive.d.ts +9 -0
  930. package/lib/typescript/assets/illustrations/HighFive.d.ts.map +1 -0
  931. package/lib/typescript/constants/version.d.ts +14 -0
  932. package/lib/typescript/constants/version.d.ts.map +1 -0
  933. package/lib/typescript/core/HttpService.d.ts +159 -0
  934. package/lib/typescript/core/HttpService.d.ts.map +1 -0
  935. package/lib/typescript/core/OxyServices.base.d.ts +133 -0
  936. package/lib/typescript/core/OxyServices.base.d.ts.map +1 -0
  937. package/lib/typescript/core/OxyServices.d.ts +113 -0
  938. package/lib/typescript/core/OxyServices.d.ts.map +1 -0
  939. package/lib/typescript/core/OxyServices.errors.d.ts +12 -0
  940. package/lib/typescript/core/OxyServices.errors.d.ts.map +1 -0
  941. package/lib/typescript/core/index.d.ts +17 -0
  942. package/lib/typescript/core/index.d.ts.map +1 -0
  943. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts +67 -0
  944. package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -0
  945. package/lib/typescript/core/mixins/OxyServices.assets.d.ts +136 -0
  946. package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -0
  947. package/lib/typescript/core/mixins/OxyServices.auth.d.ts +192 -0
  948. package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -0
  949. package/lib/typescript/core/mixins/OxyServices.developer.d.ts +100 -0
  950. package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -0
  951. package/lib/typescript/core/mixins/OxyServices.devices.d.ts +97 -0
  952. package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -0
  953. package/lib/typescript/core/mixins/OxyServices.karma.d.ts +86 -0
  954. package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -0
  955. package/lib/typescript/core/mixins/OxyServices.language.d.ts +82 -0
  956. package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -0
  957. package/lib/typescript/core/mixins/OxyServices.location.d.ts +65 -0
  958. package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -0
  959. package/lib/typescript/core/mixins/OxyServices.payment.d.ts +112 -0
  960. package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -0
  961. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts +123 -0
  962. package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -0
  963. package/lib/typescript/core/mixins/OxyServices.security.d.ts +79 -0
  964. package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -0
  965. package/lib/typescript/core/mixins/OxyServices.user.d.ts +183 -0
  966. package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -0
  967. package/lib/typescript/core/mixins/OxyServices.utility.d.ts +94 -0
  968. package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -0
  969. package/lib/typescript/core/mixins/index.d.ts +853 -0
  970. package/lib/typescript/core/mixins/index.d.ts.map +1 -0
  971. package/lib/typescript/core/mixins/mixinHelpers.d.ts +32 -0
  972. package/lib/typescript/core/mixins/mixinHelpers.d.ts.map +1 -0
  973. package/lib/typescript/core/services/SessionService.d.ts +78 -0
  974. package/lib/typescript/core/services/SessionService.d.ts.map +1 -0
  975. package/lib/typescript/core/services/TokenService.d.ts +72 -0
  976. package/lib/typescript/core/services/TokenService.d.ts.map +1 -0
  977. package/lib/typescript/crypto/index.d.ts +12 -0
  978. package/lib/typescript/crypto/index.d.ts.map +1 -0
  979. package/lib/typescript/crypto/keyManager.d.ts +97 -0
  980. package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
  981. package/lib/typescript/crypto/polyfill.d.ts +13 -0
  982. package/lib/typescript/crypto/polyfill.d.ts.map +1 -0
  983. package/lib/typescript/crypto/signatureService.d.ts +87 -0
  984. package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
  985. package/lib/typescript/crypto/types.d.ts +18 -0
  986. package/lib/typescript/crypto/types.d.ts.map +1 -0
  987. package/lib/typescript/i18n/index.d.ts +4 -0
  988. package/lib/typescript/i18n/index.d.ts.map +1 -0
  989. package/lib/typescript/index.d.ts +38 -0
  990. package/lib/typescript/index.d.ts.map +1 -0
  991. package/lib/typescript/lib/sonner-safe.d.ts +9 -0
  992. package/lib/typescript/lib/sonner-safe.d.ts.map +1 -0
  993. package/lib/typescript/lib/sonner.d.ts +15 -0
  994. package/lib/typescript/lib/sonner.d.ts.map +1 -0
  995. package/lib/typescript/models/interfaces.d.ts +428 -0
  996. package/lib/typescript/models/interfaces.d.ts.map +1 -0
  997. package/lib/typescript/models/session.d.ts +31 -0
  998. package/lib/typescript/models/session.d.ts.map +1 -0
  999. package/lib/typescript/node/index.d.ts +10 -0
  1000. package/lib/typescript/node/index.d.ts.map +1 -0
  1001. package/lib/typescript/types/buffer.d.ts +97 -0
  1002. package/lib/typescript/types/color.d.ts +20 -0
  1003. package/lib/typescript/types/elliptic.d.ts +62 -0
  1004. package/lib/typescript/types/expo-crypto.d.ts +30 -0
  1005. package/lib/typescript/types/expo-document-picker.d.ts +36 -0
  1006. package/lib/typescript/types/expo-secure-store.d.ts +22 -0
  1007. package/lib/typescript/types/expo-vector-icons.d.ts +19 -0
  1008. package/lib/typescript/types/express.d.ts +24 -0
  1009. package/lib/typescript/ui/components/ActivityIndicator.d.ts +45 -0
  1010. package/lib/typescript/ui/components/ActivityIndicator.d.ts.map +1 -0
  1011. package/lib/typescript/ui/components/AnimationExample.d.ts +4 -0
  1012. package/lib/typescript/ui/components/AnimationExample.d.ts.map +1 -0
  1013. package/lib/typescript/ui/components/AutoHeightScrollView.d.ts +23 -0
  1014. package/lib/typescript/ui/components/AutoHeightScrollView.d.ts.map +1 -0
  1015. package/lib/typescript/ui/components/Avatar.d.ts +61 -0
  1016. package/lib/typescript/ui/components/Avatar.d.ts.map +1 -0
  1017. package/lib/typescript/ui/components/BottomSheet.d.ts +29 -0
  1018. package/lib/typescript/ui/components/BottomSheet.d.ts.map +1 -0
  1019. package/lib/typescript/ui/components/BottomSheetRouter.d.ts +14 -0
  1020. package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -0
  1021. package/lib/typescript/ui/components/CrossFadeIcon.d.ts +27 -0
  1022. package/lib/typescript/ui/components/CrossFadeIcon.d.ts.map +1 -0
  1023. package/lib/typescript/ui/components/EmptyState.d.ts +8 -0
  1024. package/lib/typescript/ui/components/EmptyState.d.ts.map +1 -0
  1025. package/lib/typescript/ui/components/ErrorBoundary.d.ts +31 -0
  1026. package/lib/typescript/ui/components/ErrorBoundary.d.ts.map +1 -0
  1027. package/lib/typescript/ui/components/FollowButton.d.ts +18 -0
  1028. package/lib/typescript/ui/components/FollowButton.d.ts.map +1 -0
  1029. package/lib/typescript/ui/components/FontLoader.d.ts +15 -0
  1030. package/lib/typescript/ui/components/FontLoader.d.ts.map +1 -0
  1031. package/lib/typescript/ui/components/GroupedItem.d.ts +20 -0
  1032. package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -0
  1033. package/lib/typescript/ui/components/GroupedSection.d.ts +25 -0
  1034. package/lib/typescript/ui/components/GroupedSection.d.ts.map +1 -0
  1035. package/lib/typescript/ui/components/Header.d.ts +38 -0
  1036. package/lib/typescript/ui/components/Header.d.ts.map +1 -0
  1037. package/lib/typescript/ui/components/HelperText.d.ts +47 -0
  1038. package/lib/typescript/ui/components/HelperText.d.ts.map +1 -0
  1039. package/lib/typescript/ui/components/Icon.d.ts +60 -0
  1040. package/lib/typescript/ui/components/Icon.d.ts.map +1 -0
  1041. package/lib/typescript/ui/components/IconButton/IconButton.d.ts +99 -0
  1042. package/lib/typescript/ui/components/IconButton/IconButton.d.ts.map +1 -0
  1043. package/lib/typescript/ui/components/IconButton/utils.d.ts +19 -0
  1044. package/lib/typescript/ui/components/IconButton/utils.d.ts.map +1 -0
  1045. package/lib/typescript/ui/components/LoadingState.d.ts +9 -0
  1046. package/lib/typescript/ui/components/LoadingState.d.ts.map +1 -0
  1047. package/lib/typescript/ui/components/OxyLogo.d.ts +29 -0
  1048. package/lib/typescript/ui/components/OxyLogo.d.ts.map +1 -0
  1049. package/lib/typescript/ui/components/OxyPayButton.d.ts +29 -0
  1050. package/lib/typescript/ui/components/OxyPayButton.d.ts.map +1 -0
  1051. package/lib/typescript/ui/components/OxyProvider.d.ts +11 -0
  1052. package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -0
  1053. package/lib/typescript/ui/components/OxySignInButton.d.ts +65 -0
  1054. package/lib/typescript/ui/components/OxySignInButton.d.ts.map +1 -0
  1055. package/lib/typescript/ui/components/ProfileCard.d.ts +18 -0
  1056. package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -0
  1057. package/lib/typescript/ui/components/QuickActions.d.ts +15 -0
  1058. package/lib/typescript/ui/components/QuickActions.d.ts.map +1 -0
  1059. package/lib/typescript/ui/components/Section.d.ts +12 -0
  1060. package/lib/typescript/ui/components/Section.d.ts.map +1 -0
  1061. package/lib/typescript/ui/components/SectionTitle.d.ts +10 -0
  1062. package/lib/typescript/ui/components/SectionTitle.d.ts.map +1 -0
  1063. package/lib/typescript/ui/components/SettingRow.d.ts +14 -0
  1064. package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -0
  1065. package/lib/typescript/ui/components/StepBasedScreen.d.ts +26 -0
  1066. package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -0
  1067. package/lib/typescript/ui/components/Surface.d.ts +76 -0
  1068. package/lib/typescript/ui/components/Surface.d.ts.map +1 -0
  1069. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +16 -0
  1070. package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts.map +1 -0
  1071. package/lib/typescript/ui/components/TextField/Addons/Underline.d.ts +19 -0
  1072. package/lib/typescript/ui/components/TextField/Addons/Underline.d.ts.map +1 -0
  1073. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAdornment.d.ts +45 -0
  1074. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAdornment.d.ts.map +1 -0
  1075. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAffix.d.ts +73 -0
  1076. package/lib/typescript/ui/components/TextField/Adornment/TextFieldAffix.d.ts.map +1 -0
  1077. package/lib/typescript/ui/components/TextField/Adornment/TextFieldIcon.d.ts +78 -0
  1078. package/lib/typescript/ui/components/TextField/Adornment/TextFieldIcon.d.ts.map +1 -0
  1079. package/lib/typescript/ui/components/TextField/Adornment/enums.d.ts +13 -0
  1080. package/lib/typescript/ui/components/TextField/Adornment/enums.d.ts.map +1 -0
  1081. package/lib/typescript/ui/components/TextField/Adornment/types.d.ts +12 -0
  1082. package/lib/typescript/ui/components/TextField/Adornment/types.d.ts.map +1 -0
  1083. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +12 -0
  1084. package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -0
  1085. package/lib/typescript/ui/components/TextField/Label/InputLabel.d.ts +5 -0
  1086. package/lib/typescript/ui/components/TextField/Label/InputLabel.d.ts.map +1 -0
  1087. package/lib/typescript/ui/components/TextField/Label/LabelBackground.d.ts +4 -0
  1088. package/lib/typescript/ui/components/TextField/Label/LabelBackground.d.ts.map +1 -0
  1089. package/lib/typescript/ui/components/TextField/TextFieldFlat.d.ts +4 -0
  1090. package/lib/typescript/ui/components/TextField/TextFieldFlat.d.ts.map +1 -0
  1091. package/lib/typescript/ui/components/TextField/TextFieldOutlined.d.ts +4 -0
  1092. package/lib/typescript/ui/components/TextField/TextFieldOutlined.d.ts.map +1 -0
  1093. package/lib/typescript/ui/components/TextField/constants.d.ts +32 -0
  1094. package/lib/typescript/ui/components/TextField/constants.d.ts.map +1 -0
  1095. package/lib/typescript/ui/components/TextField/helpers.d.ts +97 -0
  1096. package/lib/typescript/ui/components/TextField/helpers.d.ts.map +1 -0
  1097. package/lib/typescript/ui/components/TextField/types.d.ts +156 -0
  1098. package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -0
  1099. package/lib/typescript/ui/components/TextField.d.ts +192 -0
  1100. package/lib/typescript/ui/components/TextField.d.ts.map +1 -0
  1101. package/lib/typescript/ui/components/TouchableRipple/Pressable.d.ts +13 -0
  1102. package/lib/typescript/ui/components/TouchableRipple/Pressable.d.ts.map +1 -0
  1103. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.d.ts +62 -0
  1104. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.d.ts.map +1 -0
  1105. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.native.d.ts +25 -0
  1106. package/lib/typescript/ui/components/TouchableRipple/TouchableRipple.native.d.ts.map +1 -0
  1107. package/lib/typescript/ui/components/TouchableRipple/utils.d.ts +11 -0
  1108. package/lib/typescript/ui/components/TouchableRipple/utils.d.ts.map +1 -0
  1109. package/lib/typescript/ui/components/Typography/AnimatedText.d.ts +35 -0
  1110. package/lib/typescript/ui/components/Typography/AnimatedText.d.ts.map +1 -0
  1111. package/lib/typescript/ui/components/Typography/types.d.ts +19 -0
  1112. package/lib/typescript/ui/components/Typography/types.d.ts.map +1 -0
  1113. package/lib/typescript/ui/components/fileManagement/FileDetailsModal.d.ts +15 -0
  1114. package/lib/typescript/ui/components/fileManagement/FileDetailsModal.d.ts.map +1 -0
  1115. package/lib/typescript/ui/components/fileManagement/FileViewer.d.ts +18 -0
  1116. package/lib/typescript/ui/components/fileManagement/FileViewer.d.ts.map +1 -0
  1117. package/lib/typescript/ui/components/fileManagement/UploadPreview.d.ts +21 -0
  1118. package/lib/typescript/ui/components/fileManagement/UploadPreview.d.ts.map +1 -0
  1119. package/lib/typescript/ui/components/fileManagement/styles.d.ts +860 -0
  1120. package/lib/typescript/ui/components/fileManagement/styles.d.ts.map +1 -0
  1121. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts +9 -0
  1122. package/lib/typescript/ui/components/icon/FAIRWalletIcon.d.ts.map +1 -0
  1123. package/lib/typescript/ui/components/icon/OxyIcon.d.ts +10 -0
  1124. package/lib/typescript/ui/components/icon/OxyIcon.d.ts.map +1 -0
  1125. package/lib/typescript/ui/components/icon/index.d.ts +4 -0
  1126. package/lib/typescript/ui/components/icon/index.d.ts.map +1 -0
  1127. package/lib/typescript/ui/components/index.d.ts +17 -0
  1128. package/lib/typescript/ui/components/index.d.ts.map +1 -0
  1129. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts +18 -0
  1130. package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -0
  1131. package/lib/typescript/ui/components/internal/PinInput.d.ts +23 -0
  1132. package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -0
  1133. package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts +27 -0
  1134. package/lib/typescript/ui/components/photogrid/JustifiedPhotoGrid.d.ts.map +1 -0
  1135. package/lib/typescript/ui/components/profile/EditBioModal.d.ts +11 -0
  1136. package/lib/typescript/ui/components/profile/EditBioModal.d.ts.map +1 -0
  1137. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts +12 -0
  1138. package/lib/typescript/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -0
  1139. package/lib/typescript/ui/components/profile/EditEmailModal.d.ts +11 -0
  1140. package/lib/typescript/ui/components/profile/EditEmailModal.d.ts.map +1 -0
  1141. package/lib/typescript/ui/components/profile/EditLinksModal.d.ts +18 -0
  1142. package/lib/typescript/ui/components/profile/EditLinksModal.d.ts.map +1 -0
  1143. package/lib/typescript/ui/components/profile/EditLocationModal.d.ts +20 -0
  1144. package/lib/typescript/ui/components/profile/EditLocationModal.d.ts.map +1 -0
  1145. package/lib/typescript/ui/components/profile/EditUsernameModal.d.ts +11 -0
  1146. package/lib/typescript/ui/components/profile/EditUsernameModal.d.ts.map +1 -0
  1147. package/lib/typescript/ui/components/styles/overlay.d.ts +4 -0
  1148. package/lib/typescript/ui/components/styles/overlay.d.ts.map +1 -0
  1149. package/lib/typescript/ui/components/styles/shadow.d.ts +3 -0
  1150. package/lib/typescript/ui/components/styles/shadow.d.ts.map +1 -0
  1151. package/lib/typescript/ui/components/theming.d.ts +8 -0
  1152. package/lib/typescript/ui/components/theming.d.ts.map +1 -0
  1153. package/lib/typescript/ui/components/types.d.ts +80 -0
  1154. package/lib/typescript/ui/components/types.d.ts.map +1 -0
  1155. package/lib/typescript/ui/components/utils/forwardRef.d.ts +12 -0
  1156. package/lib/typescript/ui/components/utils/forwardRef.d.ts.map +1 -0
  1157. package/lib/typescript/ui/components/utils/hasTouchHandler.d.ts +6 -0
  1158. package/lib/typescript/ui/components/utils/hasTouchHandler.d.ts.map +1 -0
  1159. package/lib/typescript/ui/components/utils/roundLayoutSize.d.ts +2 -0
  1160. package/lib/typescript/ui/components/utils/roundLayoutSize.d.ts.map +1 -0
  1161. package/lib/typescript/ui/components/utils/splitStyles.d.ts +20 -0
  1162. package/lib/typescript/ui/components/utils/splitStyles.d.ts.map +1 -0
  1163. package/lib/typescript/ui/constants/iconColors.d.ts +130 -0
  1164. package/lib/typescript/ui/constants/iconColors.d.ts.map +1 -0
  1165. package/lib/typescript/ui/constants/spacing.d.ts +33 -0
  1166. package/lib/typescript/ui/constants/spacing.d.ts.map +1 -0
  1167. package/lib/typescript/ui/constants/theme.d.ts +97 -0
  1168. package/lib/typescript/ui/constants/theme.d.ts.map +1 -0
  1169. package/lib/typescript/ui/context/OxyContext.d.ts +86 -0
  1170. package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -0
  1171. package/lib/typescript/ui/context/ThemeContext.d.ts +19 -0
  1172. package/lib/typescript/ui/context/ThemeContext.d.ts.map +1 -0
  1173. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +59 -0
  1174. package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -0
  1175. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts +27 -0
  1176. package/lib/typescript/ui/context/hooks/useDeviceManagement.d.ts.map +1 -0
  1177. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts +25 -0
  1178. package/lib/typescript/ui/context/hooks/useLanguageManagement.d.ts.map +1 -0
  1179. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
  1180. package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
  1181. package/lib/typescript/ui/context/hooks/useStorage.d.ts +22 -0
  1182. package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +1 -0
  1183. package/lib/typescript/ui/hooks/index.d.ts +5 -0
  1184. package/lib/typescript/ui/hooks/index.d.ts.map +1 -0
  1185. package/lib/typescript/ui/hooks/mutations/index.d.ts +9 -0
  1186. package/lib/typescript/ui/hooks/mutations/index.d.ts.map +1 -0
  1187. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts +44 -0
  1188. package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -0
  1189. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts +23 -0
  1190. package/lib/typescript/ui/hooks/mutations/useServicesMutations.d.ts.map +1 -0
  1191. package/lib/typescript/ui/hooks/queries/index.d.ts +11 -0
  1192. package/lib/typescript/ui/hooks/queries/index.d.ts.map +1 -0
  1193. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts +65 -0
  1194. package/lib/typescript/ui/hooks/queries/queryKeys.d.ts.map +1 -0
  1195. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts +47 -0
  1196. package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -0
  1197. package/lib/typescript/ui/hooks/queries/useSecurityQueries.d.ts +15 -0
  1198. package/lib/typescript/ui/hooks/queries/useSecurityQueries.d.ts.map +1 -0
  1199. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts +34 -0
  1200. package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -0
  1201. package/lib/typescript/ui/hooks/queryClient.d.ts +19 -0
  1202. package/lib/typescript/ui/hooks/queryClient.d.ts.map +1 -0
  1203. package/lib/typescript/ui/hooks/use-color-scheme.d.ts +8 -0
  1204. package/lib/typescript/ui/hooks/use-color-scheme.d.ts.map +1 -0
  1205. package/lib/typescript/ui/hooks/use-haptic-press.d.ts +8 -0
  1206. package/lib/typescript/ui/hooks/use-haptic-press.d.ts.map +1 -0
  1207. package/lib/typescript/ui/hooks/useAssets.d.ts +35 -0
  1208. package/lib/typescript/ui/hooks/useAssets.d.ts.map +1 -0
  1209. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts +27 -0
  1210. package/lib/typescript/ui/hooks/useDeviceManagement.d.ts.map +1 -0
  1211. package/lib/typescript/ui/hooks/useFileDownloadUrl.d.ts +19 -0
  1212. package/lib/typescript/ui/hooks/useFileDownloadUrl.d.ts.map +1 -0
  1213. package/lib/typescript/ui/hooks/useFollow.d.ts +62 -0
  1214. package/lib/typescript/ui/hooks/useFollow.d.ts.map +1 -0
  1215. package/lib/typescript/ui/hooks/useFollow.types.d.ts +33 -0
  1216. package/lib/typescript/ui/hooks/useFollow.types.d.ts.map +1 -0
  1217. package/lib/typescript/ui/hooks/useI18n.d.ts +5 -0
  1218. package/lib/typescript/ui/hooks/useI18n.d.ts.map +1 -0
  1219. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts +25 -0
  1220. package/lib/typescript/ui/hooks/useLanguageManagement.d.ts.map +1 -0
  1221. package/lib/typescript/ui/hooks/useProfileEditing.d.ts +36 -0
  1222. package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -0
  1223. package/lib/typescript/ui/hooks/useQueryClient.d.ts +7 -0
  1224. package/lib/typescript/ui/hooks/useQueryClient.d.ts.map +1 -0
  1225. package/lib/typescript/ui/hooks/useSessionManagement.d.ts +41 -0
  1226. package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -0
  1227. package/lib/typescript/ui/hooks/useSessionSocket.d.ts +28 -0
  1228. package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -0
  1229. package/lib/typescript/ui/hooks/useStorage.d.ts +22 -0
  1230. package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -0
  1231. package/lib/typescript/ui/hooks/useThemeColors.d.ts +94 -0
  1232. package/lib/typescript/ui/hooks/useThemeColors.d.ts.map +1 -0
  1233. package/lib/typescript/ui/hooks/useThemeStyles.d.ts +45 -0
  1234. package/lib/typescript/ui/hooks/useThemeStyles.d.ts.map +1 -0
  1235. package/lib/typescript/ui/index.d.ts +5 -0
  1236. package/lib/typescript/ui/index.d.ts.map +1 -0
  1237. package/lib/typescript/ui/isFrontend.d.ts +3 -0
  1238. package/lib/typescript/ui/isFrontend.d.ts.map +1 -0
  1239. package/lib/typescript/ui/navigation/bottomSheetManager.d.ts +74 -0
  1240. package/lib/typescript/ui/navigation/bottomSheetManager.d.ts.map +1 -0
  1241. package/lib/typescript/ui/navigation/routes.d.ts +6 -0
  1242. package/lib/typescript/ui/navigation/routes.d.ts.map +1 -0
  1243. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts +5 -0
  1244. package/lib/typescript/ui/screens/AccountCenterScreen.d.ts.map +1 -0
  1245. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts +5 -0
  1246. package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -0
  1247. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts +8 -0
  1248. package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -0
  1249. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts +5 -0
  1250. package/lib/typescript/ui/screens/AccountSwitcherScreen.d.ts.map +1 -0
  1251. package/lib/typescript/ui/screens/AccountVerificationScreen.d.ts +5 -0
  1252. package/lib/typescript/ui/screens/AccountVerificationScreen.d.ts.map +1 -0
  1253. package/lib/typescript/ui/screens/AppInfoScreen.d.ts +5 -0
  1254. package/lib/typescript/ui/screens/AppInfoScreen.d.ts.map +1 -0
  1255. package/lib/typescript/ui/screens/FeedbackScreen.d.ts +5 -0
  1256. package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -0
  1257. package/lib/typescript/ui/screens/FileManagementScreen.d.ts +5 -0
  1258. package/lib/typescript/ui/screens/FileManagementScreen.d.ts.map +1 -0
  1259. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts +5 -0
  1260. package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -0
  1261. package/lib/typescript/ui/screens/HistoryViewScreen.d.ts +5 -0
  1262. package/lib/typescript/ui/screens/HistoryViewScreen.d.ts.map +1 -0
  1263. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts +7 -0
  1264. package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -0
  1265. package/lib/typescript/ui/screens/LegalDocumentsScreen.d.ts +5 -0
  1266. package/lib/typescript/ui/screens/LegalDocumentsScreen.d.ts.map +1 -0
  1267. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +17 -0
  1268. package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -0
  1269. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +27 -0
  1270. package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -0
  1271. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts +5 -0
  1272. package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -0
  1273. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts +5 -0
  1274. package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -0
  1275. package/lib/typescript/ui/screens/ProfileScreen.d.ts +9 -0
  1276. package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -0
  1277. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts +5 -0
  1278. package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -0
  1279. package/lib/typescript/ui/screens/SearchSettingsScreen.d.ts +5 -0
  1280. package/lib/typescript/ui/screens/SearchSettingsScreen.d.ts.map +1 -0
  1281. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts +5 -0
  1282. package/lib/typescript/ui/screens/SessionManagementScreen.d.ts.map +1 -0
  1283. package/lib/typescript/ui/screens/UserLinksScreen.d.ts +15 -0
  1284. package/lib/typescript/ui/screens/UserLinksScreen.d.ts.map +1 -0
  1285. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts +13 -0
  1286. package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -0
  1287. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts +5 -0
  1288. package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -0
  1289. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts +5 -0
  1290. package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -0
  1291. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts +5 -0
  1292. package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -0
  1293. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts +5 -0
  1294. package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -0
  1295. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts +5 -0
  1296. package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -0
  1297. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts +5 -0
  1298. package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -0
  1299. package/lib/typescript/ui/stores/accountStore.d.ts +34 -0
  1300. package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -0
  1301. package/lib/typescript/ui/stores/assetStore.d.ts +54 -0
  1302. package/lib/typescript/ui/stores/assetStore.d.ts.map +1 -0
  1303. package/lib/typescript/ui/stores/authStore.d.ts +21 -0
  1304. package/lib/typescript/ui/stores/authStore.d.ts.map +1 -0
  1305. package/lib/typescript/ui/stores/fileStore.d.ts +31 -0
  1306. package/lib/typescript/ui/stores/fileStore.d.ts.map +1 -0
  1307. package/lib/typescript/ui/stores/followStore.d.ts +25 -0
  1308. package/lib/typescript/ui/stores/followStore.d.ts.map +1 -0
  1309. package/lib/typescript/ui/styles/authStyles.d.ts +332 -0
  1310. package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -0
  1311. package/lib/typescript/ui/styles/fonts.d.ts +21 -0
  1312. package/lib/typescript/ui/styles/fonts.d.ts.map +1 -0
  1313. package/lib/typescript/ui/styles/index.d.ts +5 -0
  1314. package/lib/typescript/ui/styles/index.d.ts.map +1 -0
  1315. package/lib/typescript/ui/styles/spacing.d.ts +49 -0
  1316. package/lib/typescript/ui/styles/spacing.d.ts.map +1 -0
  1317. package/lib/typescript/ui/styles/theme.d.ts +68 -0
  1318. package/lib/typescript/ui/styles/theme.d.ts.map +1 -0
  1319. package/lib/typescript/ui/types/fileManagement.d.ts +41 -0
  1320. package/lib/typescript/ui/types/fileManagement.d.ts.map +1 -0
  1321. package/lib/typescript/ui/types/navigation.d.ts +36 -0
  1322. package/lib/typescript/ui/types/navigation.d.ts.map +1 -0
  1323. package/lib/typescript/ui/utils/avatarUtils.d.ts +34 -0
  1324. package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -0
  1325. package/lib/typescript/ui/utils/colorUtils.d.ts +14 -0
  1326. package/lib/typescript/ui/utils/colorUtils.d.ts.map +1 -0
  1327. package/lib/typescript/ui/utils/confirmAction.d.ts +7 -0
  1328. package/lib/typescript/ui/utils/confirmAction.d.ts.map +1 -0
  1329. package/lib/typescript/ui/utils/errorHandlers.d.ts +35 -0
  1330. package/lib/typescript/ui/utils/errorHandlers.d.ts.map +1 -0
  1331. package/lib/typescript/ui/utils/fileManagement.d.ts +87 -0
  1332. package/lib/typescript/ui/utils/fileManagement.d.ts.map +1 -0
  1333. package/lib/typescript/ui/utils/sessionHelpers.d.ts +59 -0
  1334. package/lib/typescript/ui/utils/sessionHelpers.d.ts.map +1 -0
  1335. package/lib/typescript/ui/utils/storageHelpers.d.ts +31 -0
  1336. package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -0
  1337. package/lib/typescript/ui/utils/themeUtils.d.ts +24 -0
  1338. package/lib/typescript/ui/utils/themeUtils.d.ts.map +1 -0
  1339. package/lib/typescript/ui/utils/user-utils.d.ts +29 -0
  1340. package/lib/typescript/ui/utils/user-utils.d.ts.map +1 -0
  1341. package/lib/typescript/utils/apiUtils.d.ts +54 -0
  1342. package/lib/typescript/utils/apiUtils.d.ts.map +1 -0
  1343. package/lib/typescript/utils/asyncUtils.d.ts +59 -0
  1344. package/lib/typescript/utils/asyncUtils.d.ts.map +1 -0
  1345. package/lib/typescript/utils/cache.d.ts +128 -0
  1346. package/lib/typescript/utils/cache.d.ts.map +1 -0
  1347. package/lib/typescript/utils/deviceManager.d.ts +66 -0
  1348. package/lib/typescript/utils/deviceManager.d.ts.map +1 -0
  1349. package/lib/typescript/utils/errorUtils.d.ts +53 -0
  1350. package/lib/typescript/utils/errorUtils.d.ts.map +1 -0
  1351. package/lib/typescript/utils/hookUtils.d.ts +102 -0
  1352. package/lib/typescript/utils/hookUtils.d.ts.map +1 -0
  1353. package/lib/typescript/utils/index.d.ts +7 -0
  1354. package/lib/typescript/utils/index.d.ts.map +1 -0
  1355. package/lib/typescript/utils/languageUtils.d.ts +38 -0
  1356. package/lib/typescript/utils/languageUtils.d.ts.map +1 -0
  1357. package/lib/typescript/utils/loggerUtils.d.ts +49 -0
  1358. package/lib/typescript/utils/loggerUtils.d.ts.map +1 -0
  1359. package/lib/typescript/utils/requestUtils.d.ts +122 -0
  1360. package/lib/typescript/utils/requestUtils.d.ts.map +1 -0
  1361. package/lib/typescript/utils/sessionUtils.d.ts +55 -0
  1362. package/lib/typescript/utils/sessionUtils.d.ts.map +1 -0
  1363. package/lib/typescript/utils/validationUtils.d.ts +86 -0
  1364. package/lib/typescript/utils/validationUtils.d.ts.map +1 -0
  1365. package/package.json +1 -1
  1366. package/src/ui/context/OxyContext.tsx +1 -0
  1367. package/src/ui/hooks/useSessionSocket.ts +13 -8
@@ -0,0 +1,2163 @@
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 _OxyIcon = _interopRequireDefault(require("../components/icon/OxyIcon"));
10
+ var _vectorIcons = require("@expo/vector-icons");
11
+ var _sonner = require("../../lib/sonner");
12
+ var _fonts = require("../styles/fonts");
13
+ var _confirmAction = require("../utils/confirmAction");
14
+ var _authStore = require("../stores/authStore");
15
+ var _components = require("../components");
16
+ var _useI18n = require("../hooks/useI18n");
17
+ var _useThemeStyles = require("../hooks/useThemeStyles");
18
+ var _useColorScheme = require("../hooks/use-color-scheme");
19
+ var _theme = require("../constants/theme");
20
+ var _themeUtils = require("../utils/themeUtils");
21
+ var _useHapticPress = require("../hooks/use-haptic-press");
22
+ var _EditDisplayNameModal = require("../components/profile/EditDisplayNameModal");
23
+ var _EditUsernameModal = require("../components/profile/EditUsernameModal");
24
+ var _EditEmailModal = require("../components/profile/EditEmailModal");
25
+ var _EditBioModal = require("../components/profile/EditBioModal");
26
+ var _EditLocationModal = require("../components/profile/EditLocationModal");
27
+ var _EditLinksModal = require("../components/profile/EditLinksModal");
28
+ var _userUtils = require("../utils/user-utils");
29
+ var _cache = require("../../utils/cache");
30
+ var _OxyContext = require("../context/OxyContext");
31
+ var _useAccountQueries = require("../hooks/queries/useAccountQueries");
32
+ var _useAccountMutations = require("../hooks/mutations/useAccountMutations");
33
+ var _spacing = require("../constants/spacing");
34
+ var _jsxRuntime = require("react/jsx-runtime");
35
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
36
+ 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); }
37
+ // @ts-ignore - MaterialCommunityIcons is available at runtime
38
+
39
+ // Caches for link metadata and location searches
40
+ const linkMetadataCache = new _cache.TTLCache(30 * 60 * 1000); // 30 minutes cache for link metadata
41
+ const locationSearchCache = new _cache.TTLCache(60 * 60 * 1000); // 1 hour cache for location searches
42
+ (0, _cache.registerCacheForCleanup)(linkMetadataCache);
43
+ (0, _cache.registerCacheForCleanup)(locationSearchCache);
44
+ const AccountSettingsScreen = ({
45
+ onClose,
46
+ theme,
47
+ goBack,
48
+ navigate,
49
+ initialField,
50
+ initialSection,
51
+ scrollTo
52
+ }) => {
53
+ // Use useOxy() hook for OxyContext values
54
+ const {
55
+ oxyServices,
56
+ isAuthenticated,
57
+ activeSessionId
58
+ } = (0, _OxyContext.useOxy)();
59
+ const {
60
+ t
61
+ } = (0, _useI18n.useI18n)();
62
+ const normalizedTheme = (0, _themeUtils.normalizeTheme)(theme);
63
+
64
+ // Use TanStack Query for user data
65
+ const {
66
+ data: user,
67
+ isLoading: userLoading
68
+ } = (0, _useAccountQueries.useCurrentUser)({
69
+ enabled: isAuthenticated
70
+ });
71
+ const updateProfileMutation = (0, _useAccountMutations.useUpdateProfile)();
72
+ const uploadAvatarMutation = (0, _useAccountMutations.useUploadAvatar)();
73
+
74
+ // Fallback to store for backward compatibility
75
+ const userFromStore = (0, _authStore.useAuthStore)(state => state.user);
76
+ const finalUser = user || userFromStore;
77
+ const [isLoading, setIsLoading] = (0, _react.useState)(false);
78
+ const isSaving = updateProfileMutation.isPending;
79
+ const isUpdatingAvatar = uploadAvatarMutation.isPending;
80
+ const [optimisticAvatarId, setOptimisticAvatarId] = (0, _react.useState)(null);
81
+ const scrollViewRef = (0, _react.useRef)(null);
82
+ const avatarSectionRef = (0, _react.useRef)(null);
83
+ const [avatarSectionY, setAvatarSectionY] = (0, _react.useState)(null);
84
+
85
+ // Section refs for navigation
86
+ const profilePictureSectionRef = (0, _react.useRef)(null);
87
+ const basicInfoSectionRef = (0, _react.useRef)(null);
88
+ const aboutSectionRef = (0, _react.useRef)(null);
89
+ const quickActionsSectionRef = (0, _react.useRef)(null);
90
+ const securitySectionRef = (0, _react.useRef)(null);
91
+
92
+ // Section Y positions for scrolling
93
+ const [profilePictureSectionY, setProfilePictureSectionY] = (0, _react.useState)(null);
94
+ const [basicInfoSectionY, setBasicInfoSectionY] = (0, _react.useState)(null);
95
+ const [aboutSectionY, setAboutSectionY] = (0, _react.useState)(null);
96
+ const [quickActionsSectionY, setQuickActionsSectionY] = (0, _react.useState)(null);
97
+ const [securitySectionY, setSecuritySectionY] = (0, _react.useState)(null);
98
+
99
+ // Animation refs
100
+ const saveButtonScale = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
101
+
102
+ // Form state
103
+ const [displayName, setDisplayName] = (0, _react.useState)('');
104
+ const [lastName, setLastName] = (0, _react.useState)('');
105
+ const [username, setUsername] = (0, _react.useState)('');
106
+ const [email, setEmail] = (0, _react.useState)('');
107
+ const [bio, setBio] = (0, _react.useState)('');
108
+ const [location, setLocation] = (0, _react.useState)('');
109
+ const [links, setLinks] = (0, _react.useState)([]);
110
+ const [avatarFileId, setAvatarFileId] = (0, _react.useState)('');
111
+
112
+ // Modal visibility states
113
+ const [showEditDisplayNameModal, setShowEditDisplayNameModal] = (0, _react.useState)(false);
114
+ const [showEditUsernameModal, setShowEditUsernameModal] = (0, _react.useState)(false);
115
+ const [showEditEmailModal, setShowEditEmailModal] = (0, _react.useState)(false);
116
+ const [showEditBioModal, setShowEditBioModal] = (0, _react.useState)(false);
117
+ const [showEditLocationModal, setShowEditLocationModal] = (0, _react.useState)(false);
118
+ const [showEditLinksModal, setShowEditLinksModal] = (0, _react.useState)(false);
119
+
120
+ // Location and links state (for display only - modals handle editing)
121
+ const [locations, setLocations] = (0, _react.useState)([]);
122
+ const [linksMetadata, setLinksMetadata] = (0, _react.useState)([]);
123
+
124
+ // State for inline editing (used by old renderEditingField code)
125
+ const [editingField, setEditingField] = (0, _react.useState)(null);
126
+ const [tempDisplayName, setTempDisplayName] = (0, _react.useState)('');
127
+ const [tempLastName, setTempLastName] = (0, _react.useState)('');
128
+ const [tempUsername, setTempUsername] = (0, _react.useState)('');
129
+ const [tempEmail, setTempEmail] = (0, _react.useState)('');
130
+ const [tempBio, setTempBio] = (0, _react.useState)('');
131
+ const [tempLocation, setTempLocation] = (0, _react.useState)('');
132
+ const [tempLinks, setTempLinks] = (0, _react.useState)([]);
133
+ const [tempLocations, setTempLocations] = (0, _react.useState)([]);
134
+ const [tempLinksWithMetadata, setTempLinksWithMetadata] = (0, _react.useState)([]);
135
+ const [isAddingLocation, setIsAddingLocation] = (0, _react.useState)(false);
136
+ const [isSearchingLocations, setIsSearchingLocations] = (0, _react.useState)(false);
137
+ const [locationSearchResults, setLocationSearchResults] = (0, _react.useState)([]);
138
+ const [newLocationQuery, setNewLocationQuery] = (0, _react.useState)('');
139
+ const [isAddingLink, setIsAddingLink] = (0, _react.useState)(false);
140
+ const [isFetchingMetadata, setIsFetchingMetadata] = (0, _react.useState)(false);
141
+ const [newLinkUrl, setNewLinkUrl] = (0, _react.useState)('');
142
+
143
+ // Get theme colors using centralized hook
144
+ const colorScheme = (0, _useColorScheme.useColorScheme)();
145
+ const themeStyles = (0, _useThemeStyles.useThemeStyles)(theme || 'light', colorScheme);
146
+ const handlePressIn = (0, _useHapticPress.useHapticPress)();
147
+
148
+ // Extract colors for convenience - ensure it's always defined
149
+ // useThemeStyles always returns colors, but add safety check for edge cases
150
+ const colors = themeStyles.colors || _theme.Colors[(0, _themeUtils.normalizeColorScheme)(colorScheme, theme || 'light')];
151
+
152
+ // Memoize onBack handler to provide stable reference for Reanimated
153
+ const handleBack = (0, _react.useMemo)(() => {
154
+ return goBack || onClose || undefined;
155
+ }, [goBack, onClose]);
156
+
157
+ // Memoize animation function to prevent recreation on every render
158
+ const animateSaveButton = (0, _react.useCallback)((toValue, onComplete) => {
159
+ _reactNative.Animated.spring(saveButtonScale, {
160
+ toValue,
161
+ useNativeDriver: _reactNative.Platform.OS !== 'web',
162
+ tension: 150,
163
+ friction: 8
164
+ }).start(onComplete ? finished => {
165
+ if (finished) {
166
+ onComplete();
167
+ }
168
+ } : undefined);
169
+ }, [saveButtonScale]);
170
+
171
+ // Track initialization to prevent unnecessary resets
172
+ const isInitializedRef = (0, _react.useRef)(false);
173
+ const previousUserIdRef = (0, _react.useRef)(null);
174
+ const previousAvatarRef = (0, _react.useRef)(null);
175
+
176
+ // Load user data - only reset fields when user actually changes (not just avatar)
177
+ (0, _react.useEffect)(() => {
178
+ if (finalUser) {
179
+ const currentUserId = finalUser.id;
180
+ const currentAvatar = typeof finalUser.avatar === 'string' ? finalUser.avatar : '';
181
+ const isNewUser = previousUserIdRef.current !== currentUserId;
182
+ const isAvatarOnlyUpdate = !isNewUser && previousUserIdRef.current === currentUserId && previousAvatarRef.current !== currentAvatar && previousAvatarRef.current !== null;
183
+ const shouldInitialize = !isInitializedRef.current || isNewUser;
184
+
185
+ // Only reset all fields if it's a new user or first load
186
+ // Skip reset if it's just an avatar update
187
+ if (shouldInitialize && !isAvatarOnlyUpdate) {
188
+ const userDisplayName = typeof finalUser.name === 'string' ? finalUser.name : finalUser.name?.first || finalUser.name?.full || '';
189
+ const userLastName = typeof finalUser.name === 'object' ? finalUser.name?.last || '' : '';
190
+ setDisplayName(userDisplayName);
191
+ setLastName(userLastName);
192
+ setUsername(finalUser.username || '');
193
+ setEmail(finalUser.email || '');
194
+ setBio(finalUser.bio || '');
195
+ setLocation(finalUser.location || '');
196
+
197
+ // Handle locations - convert single location to array format
198
+ if (finalUser.locations && Array.isArray(finalUser.locations)) {
199
+ setLocations(finalUser.locations.map((loc, index) => ({
200
+ id: loc.id || `existing-${index}`,
201
+ name: loc.name,
202
+ label: loc.label,
203
+ coordinates: loc.coordinates
204
+ })));
205
+ } else if (finalUser.location) {
206
+ // Convert single location string to array format
207
+ setLocations([{
208
+ id: 'existing-0',
209
+ name: finalUser.location,
210
+ label: 'Location'
211
+ }]);
212
+ } else {
213
+ setLocations([]);
214
+ }
215
+
216
+ // Handle links - simple and direct like other fields
217
+ if (finalUser.linksMetadata && Array.isArray(finalUser.linksMetadata)) {
218
+ const urls = finalUser.linksMetadata.map(l => l.url);
219
+ setLinks(urls);
220
+ const metadataWithIds = finalUser.linksMetadata.map((link, index) => ({
221
+ ...link,
222
+ id: link.id || `existing-${index}`
223
+ }));
224
+ setLinksMetadata(metadataWithIds);
225
+ } else if (Array.isArray(finalUser.links)) {
226
+ const simpleLinks = finalUser.links.map(l => typeof l === 'string' ? l : l.link).filter(Boolean);
227
+ setLinks(simpleLinks);
228
+ const linksWithMetadata = simpleLinks.map((url, index) => ({
229
+ url,
230
+ title: url.replace(/^https?:\/\//, '').replace(/\/$/, ''),
231
+ description: `Link to ${url}`,
232
+ image: undefined,
233
+ id: `existing-${index}`
234
+ }));
235
+ setLinksMetadata(linksWithMetadata);
236
+ } else if (finalUser.website) {
237
+ setLinks([finalUser.website]);
238
+ setLinksMetadata([{
239
+ url: finalUser.website,
240
+ title: finalUser.website.replace(/^https?:\/\//, '').replace(/\/$/, ''),
241
+ description: `Link to ${finalUser.website}`,
242
+ image: undefined,
243
+ id: 'existing-0'
244
+ }]);
245
+ } else {
246
+ setLinks([]);
247
+ setLinksMetadata([]);
248
+ }
249
+ isInitializedRef.current = true;
250
+ }
251
+
252
+ // Update avatar only if it changed and we're not in optimistic/updating state
253
+ // This allows the server response to update the avatar without resetting other fields
254
+ // But don't override if we have a pending optimistic update
255
+ if (currentAvatar !== avatarFileId && !isUpdatingAvatar && !optimisticAvatarId) {
256
+ setAvatarFileId(currentAvatar);
257
+ }
258
+
259
+ // If we just finished updating and the server avatar matches our optimistic one, clear optimistic state
260
+ // Also clear if the server avatar matches our current avatarFileId (update completed)
261
+ if (isUpdatingAvatar === false && optimisticAvatarId) {
262
+ if (currentAvatar === optimisticAvatarId || currentAvatar === avatarFileId) {
263
+ setOptimisticAvatarId(null);
264
+ }
265
+ }
266
+ previousUserIdRef.current = currentUserId;
267
+ previousAvatarRef.current = currentAvatar;
268
+ }
269
+ }, [finalUser, avatarFileId, isUpdatingAvatar, optimisticAvatarId]);
270
+
271
+ // Set initial editing field if provided via props (e.g., from navigation)
272
+ // Use a ref to track if we've already set the initial field to avoid loops
273
+ const hasSetInitialFieldRef = (0, _react.useRef)(false);
274
+ const previousInitialFieldRef = (0, _react.useRef)(undefined);
275
+ const initialFieldTimeoutRef = (0, _react.useRef)(null);
276
+
277
+ // Delay constant for scroll completion
278
+ const SCROLL_DELAY_MS = 600;
279
+
280
+ // Helper functions for inline editing (legacy support)
281
+ const startEditing = (0, _react.useCallback)((field, initialValue) => {
282
+ setEditingField(field);
283
+ switch (field) {
284
+ case 'displayName':
285
+ setTempDisplayName(initialValue || displayName);
286
+ setTempLastName(lastName);
287
+ break;
288
+ case 'username':
289
+ setTempUsername(initialValue || username);
290
+ break;
291
+ case 'email':
292
+ setTempEmail(initialValue || email);
293
+ break;
294
+ case 'bio':
295
+ setTempBio(initialValue || bio);
296
+ break;
297
+ case 'location':
298
+ setTempLocations([...locations]);
299
+ break;
300
+ case 'links':
301
+ setTempLinksWithMetadata([...linksMetadata]);
302
+ break;
303
+ }
304
+ }, [displayName, lastName, username, email, bio, locations, linksMetadata]);
305
+ const cancelEditing = (0, _react.useCallback)(() => {
306
+ setEditingField(null);
307
+ setTempDisplayName('');
308
+ setTempLastName('');
309
+ setTempUsername('');
310
+ setTempEmail('');
311
+ setTempBio('');
312
+ setTempLocation('');
313
+ setTempLinks([]);
314
+ setTempLocations([]);
315
+ setTempLinksWithMetadata([]);
316
+ setIsAddingLocation(false);
317
+ setIsSearchingLocations(false);
318
+ setLocationSearchResults([]);
319
+ setNewLocationQuery('');
320
+ setIsAddingLink(false);
321
+ setIsFetchingMetadata(false);
322
+ setNewLinkUrl('');
323
+ }, []);
324
+ const saveField = (0, _react.useCallback)(async field => {
325
+ if (!field) return;
326
+ try {
327
+ switch (field) {
328
+ case 'displayName':
329
+ await updateProfileMutation.mutateAsync({
330
+ name: {
331
+ first: tempDisplayName,
332
+ last: tempLastName
333
+ }
334
+ });
335
+ setDisplayName(tempDisplayName);
336
+ setLastName(tempLastName);
337
+ break;
338
+ case 'username':
339
+ await updateProfileMutation.mutateAsync({
340
+ username: tempUsername
341
+ });
342
+ setUsername(tempUsername);
343
+ break;
344
+ case 'email':
345
+ await updateProfileMutation.mutateAsync({
346
+ email: tempEmail
347
+ });
348
+ setEmail(tempEmail);
349
+ break;
350
+ case 'bio':
351
+ await updateProfileMutation.mutateAsync({
352
+ bio: tempBio
353
+ });
354
+ setBio(tempBio);
355
+ break;
356
+ case 'location':
357
+ await updateProfileMutation.mutateAsync({
358
+ locations: tempLocations
359
+ });
360
+ setLocations(tempLocations);
361
+ break;
362
+ case 'links':
363
+ await updateProfileMutation.mutateAsync({
364
+ linksMetadata: tempLinksWithMetadata
365
+ });
366
+ setLinksMetadata(tempLinksWithMetadata);
367
+ setLinks(tempLinksWithMetadata.map(l => l.url));
368
+ break;
369
+ }
370
+ setEditingField(null);
371
+ _sonner.toast.success(t('editProfile.toasts.saved') || 'Saved');
372
+ } catch (error) {
373
+ // Error is already handled by mutation's onError
374
+ }
375
+ }, [tempDisplayName, tempLastName, tempUsername, tempEmail, tempBio, tempLocations, tempLinksWithMetadata, updateProfileMutation, t]);
376
+
377
+ // Helper to get current value for a field
378
+ const getFieldCurrentValue = (0, _react.useCallback)(field => {
379
+ switch (field) {
380
+ case 'displayName':
381
+ return displayName;
382
+ case 'username':
383
+ return username;
384
+ case 'email':
385
+ return email;
386
+ case 'bio':
387
+ return bio;
388
+ case 'location':
389
+ case 'links':
390
+ default:
391
+ return '';
392
+ }
393
+ }, [displayName, username, email, bio]);
394
+
395
+ // Handle initialSection prop to scroll to specific section
396
+ const hasScrolledToSectionRef = (0, _react.useRef)(false);
397
+ const previousInitialSectionRef = (0, _react.useRef)(undefined);
398
+ const SCROLL_OFFSET = 100; // Offset to show section near top of viewport
399
+
400
+ // Map section names to their Y positions
401
+ const sectionYPositions = (0, _react.useMemo)(() => ({
402
+ profilePicture: profilePictureSectionY,
403
+ basicInfo: basicInfoSectionY,
404
+ about: aboutSectionY,
405
+ quickActions: quickActionsSectionY,
406
+ security: securitySectionY
407
+ }), [profilePictureSectionY, basicInfoSectionY, aboutSectionY, quickActionsSectionY, securitySectionY]);
408
+ (0, _react.useEffect)(() => {
409
+ // If initialSection changed, reset the flag
410
+ if (previousInitialSectionRef.current !== initialSection) {
411
+ hasScrolledToSectionRef.current = false;
412
+ previousInitialSectionRef.current = initialSection;
413
+ }
414
+
415
+ // Scroll to the specified section if initialSection is provided and we haven't scrolled yet
416
+ if (initialSection && !hasScrolledToSectionRef.current) {
417
+ const sectionY = sectionYPositions[initialSection];
418
+ if (sectionY !== null && sectionY !== undefined && scrollTo) {
419
+ requestAnimationFrame(() => {
420
+ requestAnimationFrame(() => {
421
+ scrollTo(Math.max(0, sectionY - SCROLL_OFFSET), true);
422
+ hasScrolledToSectionRef.current = true;
423
+ });
424
+ });
425
+ }
426
+ }
427
+ }, [initialSection, sectionYPositions]);
428
+ const handleSave = async () => {
429
+ if (!finalUser) return;
430
+ try {
431
+ animateSaveButton(0.95); // Scale down slightly for animation
432
+
433
+ const updates = {
434
+ username,
435
+ email,
436
+ bio,
437
+ location: locations.length > 0 ? locations[0].name : '',
438
+ // Keep backward compatibility
439
+ locations: locations.length > 0 ? locations : undefined,
440
+ links,
441
+ linksMetadata: linksMetadata.length > 0 ? linksMetadata : undefined
442
+ };
443
+
444
+ // Handle name field
445
+ if (displayName || lastName) {
446
+ updates.name = {
447
+ first: displayName,
448
+ last: lastName
449
+ };
450
+ }
451
+
452
+ // Handle avatar
453
+ if (avatarFileId !== (typeof finalUser.avatar === 'string' ? finalUser.avatar : '')) {
454
+ updates.avatar = avatarFileId;
455
+ }
456
+ await updateProfileMutation.mutateAsync(updates);
457
+ _sonner.toast.success(t('editProfile.toasts.profileUpdated') || 'Profile updated successfully');
458
+ animateSaveButton(1); // Scale back to normal
459
+
460
+ if (onClose) {
461
+ onClose();
462
+ } else if (goBack) {
463
+ goBack();
464
+ }
465
+ } catch (error) {
466
+ // Error is already handled by mutation's onError
467
+ animateSaveButton(1); // Scale back to normal on error
468
+ }
469
+ };
470
+ const handleAvatarRemove = () => {
471
+ (0, _confirmAction.confirmAction)(t('editProfile.confirms.removeAvatar') || 'Remove your profile picture?', () => {
472
+ setAvatarFileId('');
473
+ _sonner.toast.success(t('editProfile.toasts.avatarRemoved') || 'Avatar removed');
474
+ });
475
+ };
476
+ const {
477
+ openAvatarPicker
478
+ } = (0, _OxyContext.useOxy)();
479
+
480
+ // Handlers to open modals
481
+ const handleOpenDisplayNameModal = (0, _react.useCallback)(() => setShowEditDisplayNameModal(true), []);
482
+ const handleOpenUsernameModal = (0, _react.useCallback)(() => setShowEditUsernameModal(true), []);
483
+ const handleOpenEmailModal = (0, _react.useCallback)(() => setShowEditEmailModal(true), []);
484
+ const handleOpenBioModal = (0, _react.useCallback)(() => setShowEditBioModal(true), []);
485
+ const handleOpenLocationModal = (0, _react.useCallback)(() => setShowEditLocationModal(true), []);
486
+ const handleOpenLinksModal = (0, _react.useCallback)(() => setShowEditLinksModal(true), []);
487
+
488
+ // Handler to refresh data after modal saves
489
+ // Note: Access user directly from store when invoked to get latest value,
490
+ // not from closure which may be stale after modal saves update the backend
491
+ const handleModalSave = (0, _react.useCallback)(() => {
492
+ // Get fresh user data from store to ensure we have the latest values
493
+ // after the modal's save operation updates the backend
494
+ // Read from store directly (not from closure) to avoid stale data
495
+ const currentUser = _authStore.useAuthStore.getState().user;
496
+
497
+ // Reload user data to reflect changes
498
+ if (currentUser) {
499
+ const userDisplayName = typeof currentUser.name === 'string' ? currentUser.name : currentUser.name?.first || currentUser.name?.full || '';
500
+ const userLastName = typeof currentUser.name === 'object' ? currentUser.name?.last || '' : '';
501
+ setDisplayName(userDisplayName);
502
+ setLastName(userLastName);
503
+ setUsername(currentUser.username || '');
504
+ setEmail(currentUser.email || '');
505
+ setBio(currentUser.bio || '');
506
+
507
+ // Reload locations and links
508
+ if (currentUser.locations && Array.isArray(currentUser.locations)) {
509
+ setLocations(currentUser.locations.map((loc, index) => ({
510
+ id: loc.id || `existing-${index}`,
511
+ name: loc.name,
512
+ label: loc.label,
513
+ coordinates: loc.coordinates
514
+ })));
515
+ } else if (currentUser.location) {
516
+ setLocations([{
517
+ id: 'existing-0',
518
+ name: currentUser.location,
519
+ label: 'Location'
520
+ }]);
521
+ } else {
522
+ setLocations([]);
523
+ }
524
+ if (currentUser.linksMetadata && Array.isArray(currentUser.linksMetadata)) {
525
+ setLinksMetadata(currentUser.linksMetadata.map((link, index) => ({
526
+ ...link,
527
+ id: link.id || `existing-${index}`
528
+ })));
529
+ } else {
530
+ setLinksMetadata([]);
531
+ }
532
+ }
533
+ }, []); // Empty dependency array - callback reads fresh data from store at call time
534
+
535
+ // Handle initialField prop - open appropriate modal
536
+ (0, _react.useEffect)(() => {
537
+ if (initialField) {
538
+ // Special handling for avatar - open avatar picker directly
539
+ if (initialField === 'avatar') {
540
+ setTimeout(() => {
541
+ openAvatarPicker();
542
+ }, 300);
543
+ } else {
544
+ // Open appropriate modal
545
+ setTimeout(() => {
546
+ switch (initialField) {
547
+ case 'displayName':
548
+ setShowEditDisplayNameModal(true);
549
+ break;
550
+ case 'username':
551
+ setShowEditUsernameModal(true);
552
+ break;
553
+ case 'email':
554
+ setShowEditEmailModal(true);
555
+ break;
556
+ case 'bio':
557
+ setShowEditBioModal(true);
558
+ break;
559
+ case 'location':
560
+ setShowEditLocationModal(true);
561
+ break;
562
+ case 'links':
563
+ setShowEditLinksModal(true);
564
+ break;
565
+ }
566
+ }, 300);
567
+ }
568
+ }
569
+ }, [initialField, openAvatarPicker]);
570
+
571
+ // Removed fetchLinkMetadata - now handled by EditLinksModal
572
+ const _fetchLinkMetadata = async url => {
573
+ // Check cache first
574
+ const cacheKey = url.toLowerCase().trim();
575
+ const cached = linkMetadataCache.get(cacheKey);
576
+ if (cached) {
577
+ return cached;
578
+ }
579
+ try {
580
+ setIsFetchingMetadata(true);
581
+
582
+ // Use the backend API to fetch metadata
583
+ const metadata = await oxyServices.fetchLinkMetadata(url);
584
+ const result = {
585
+ ...metadata,
586
+ id: Date.now().toString()
587
+ };
588
+
589
+ // Cache the result
590
+ linkMetadataCache.set(cacheKey, result);
591
+ return result;
592
+ } catch (error) {
593
+ // Fallback to basic metadata
594
+ const fallback = {
595
+ url: url.startsWith('http') ? url : 'https://' + url,
596
+ title: url.replace(/^https?:\/\//, '').replace(/\/$/, ''),
597
+ description: 'Link',
598
+ image: undefined,
599
+ id: Date.now().toString()
600
+ };
601
+ // Cache fallback too (shorter TTL)
602
+ linkMetadataCache.set(cacheKey, fallback, 5 * 60 * 1000); // 5 minutes for fallbacks
603
+ return fallback;
604
+ } finally {
605
+ setIsFetchingMetadata(false);
606
+ }
607
+ };
608
+
609
+ // Helper functions for inline editing (legacy support - still used by renderEditingField)
610
+ const searchLocations = async query => {
611
+ if (!query.trim() || query.length < 3) {
612
+ setLocationSearchResults([]);
613
+ return;
614
+ }
615
+
616
+ // Check cache first
617
+ const cacheKey = query.toLowerCase().trim();
618
+ const cached = locationSearchCache.get(cacheKey);
619
+ if (cached) {
620
+ setLocationSearchResults(cached);
621
+ return;
622
+ }
623
+ try {
624
+ setIsSearchingLocations(true);
625
+ const response = await fetch(`https://nominatim.openstreetmap.org/search?format=json&q=${encodeURIComponent(query)}&limit=5&addressdetails=1`);
626
+ const data = await response.json();
627
+
628
+ // Cache the results
629
+ locationSearchCache.set(cacheKey, data);
630
+ setLocationSearchResults(data);
631
+ } catch (error) {
632
+ setLocationSearchResults([]);
633
+ } finally {
634
+ setIsSearchingLocations(false);
635
+ }
636
+ };
637
+ const addLocation = locationData => {
638
+ const newLocation = {
639
+ id: Date.now().toString(),
640
+ name: locationData.display_name,
641
+ label: locationData.type === 'city' ? 'City' : locationData.type === 'country' ? 'Country' : locationData.type === 'state' ? 'State' : 'Location',
642
+ coordinates: {
643
+ lat: Number.parseFloat(locationData.lat),
644
+ lon: Number.parseFloat(locationData.lon)
645
+ }
646
+ };
647
+ setTempLocations(prev => [...prev, newLocation]);
648
+ setNewLocationQuery('');
649
+ setLocationSearchResults([]);
650
+ setIsAddingLocation(false);
651
+ };
652
+ const removeLocation = id => {
653
+ setTempLocations(prev => prev.filter(loc => loc.id !== id));
654
+ };
655
+ const moveLocation = (fromIndex, toIndex) => {
656
+ setTempLocations(prev => {
657
+ const newLocations = [...prev];
658
+ const [movedLocation] = newLocations.splice(fromIndex, 1);
659
+ newLocations.splice(toIndex, 0, movedLocation);
660
+ return newLocations;
661
+ });
662
+ };
663
+ const addLink = async () => {
664
+ if (!newLinkUrl.trim()) return;
665
+ const url = newLinkUrl.trim();
666
+ const metadata = await _fetchLinkMetadata(url);
667
+ setTempLinksWithMetadata(prev => [...prev, metadata]);
668
+ setNewLinkUrl('');
669
+ setIsAddingLink(false);
670
+ };
671
+ const removeLink = id => {
672
+ setTempLinksWithMetadata(prev => prev.filter(link => link.id !== id));
673
+ };
674
+ const moveLink = (fromIndex, toIndex) => {
675
+ setTempLinksWithMetadata(prev => {
676
+ const newLinks = [...prev];
677
+ const [movedLink] = newLinks.splice(fromIndex, 1);
678
+ newLinks.splice(toIndex, 0, movedLink);
679
+ return newLinks;
680
+ });
681
+ };
682
+
683
+ // Memoize display name for avatar
684
+ const displayNameForAvatar = (0, _react.useMemo)(() => (0, _userUtils.getDisplayName)(finalUser), [finalUser]);
685
+
686
+ // Legacy renderEditingField function (fallback)
687
+ const renderEditingField = type => {
688
+ if (!type) return null;
689
+ if (type === 'displayName') {
690
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
691
+ style: [styles.editingFieldContainer, {
692
+ backgroundColor: colors.background
693
+ }],
694
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
695
+ style: styles.editingFieldContent,
696
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
697
+ style: styles.newValueSection,
698
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
699
+ style: styles.editingFieldHeader,
700
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
701
+ style: [styles.editingFieldLabel, {
702
+ color: colors.text
703
+ }],
704
+ children: "Edit Full Name"
705
+ })
706
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
707
+ style: {
708
+ flexDirection: 'row',
709
+ gap: 12
710
+ },
711
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
712
+ style: {
713
+ flex: 1
714
+ },
715
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
716
+ style: styles.editingFieldLabel,
717
+ children: "First Name"
718
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
719
+ style: styles.editingFieldInput,
720
+ value: tempDisplayName,
721
+ onChangeText: setTempDisplayName,
722
+ placeholder: "Enter your first name",
723
+ placeholderTextColor: colors.secondaryText,
724
+ autoFocus: true,
725
+ selectionColor: themeStyles.primaryColor
726
+ })]
727
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
728
+ style: {
729
+ flex: 1
730
+ },
731
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
732
+ style: styles.editingFieldLabel,
733
+ children: "Last Name"
734
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
735
+ style: styles.editingFieldInput,
736
+ value: tempLastName,
737
+ onChangeText: setTempLastName,
738
+ placeholder: "Enter your last name",
739
+ placeholderTextColor: colors.secondaryText,
740
+ selectionColor: themeStyles.primaryColor
741
+ })]
742
+ })]
743
+ })]
744
+ })
745
+ })
746
+ });
747
+ }
748
+ if (type === 'location') {
749
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
750
+ style: [styles.editingFieldContainer, {
751
+ backgroundColor: colors.background
752
+ }],
753
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
754
+ style: styles.editingFieldContent,
755
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
756
+ style: styles.newValueSection,
757
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
758
+ style: styles.editingFieldHeader,
759
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
760
+ style: [styles.editingFieldLabel, {
761
+ color: colors.text
762
+ }],
763
+ children: "Manage Your Locations"
764
+ })
765
+ }), isAddingLocation ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
766
+ style: styles.addLocationSection,
767
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
768
+ style: styles.addLocationLabel,
769
+ children: ["Add New Location", isSearchingLocations && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
770
+ style: [styles.searchingText, {
771
+ color: colors.iconSecurity
772
+ }],
773
+ children: " \u2022 Searching..."
774
+ })]
775
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
776
+ style: styles.addLocationInputContainer,
777
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
778
+ style: styles.addLocationInput,
779
+ value: newLocationQuery,
780
+ onChangeText: text => {
781
+ setNewLocationQuery(text);
782
+ searchLocations(text);
783
+ },
784
+ placeholder: "Search for a location...",
785
+ placeholderTextColor: colors.secondaryText,
786
+ autoFocus: true,
787
+ selectionColor: themeStyles.primaryColor
788
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
789
+ style: styles.addLocationButtons,
790
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
791
+ style: [styles.addLocationButton, styles.cancelButton],
792
+ onPress: () => {
793
+ setIsAddingLocation(false);
794
+ setNewLocationQuery('');
795
+ setLocationSearchResults([]);
796
+ },
797
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
798
+ style: styles.cancelButtonText,
799
+ children: "Cancel"
800
+ })
801
+ })
802
+ })]
803
+ }), locationSearchResults.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
804
+ style: styles.searchResults,
805
+ children: locationSearchResults.map(result => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
806
+ style: styles.searchResultItem,
807
+ onPress: () => addLocation(result),
808
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
809
+ style: styles.searchResultName,
810
+ numberOfLines: 2,
811
+ children: result.display_name
812
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
813
+ style: styles.searchResultType,
814
+ children: result.type
815
+ })]
816
+ }, result.place_id))
817
+ })]
818
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.TouchableOpacity, {
819
+ style: styles.addLocationTrigger,
820
+ onPress: () => setIsAddingLocation(true),
821
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
822
+ name: "add",
823
+ size: 20,
824
+ color: themeStyles.primaryColor
825
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
826
+ style: [styles.addLocationTriggerText, {
827
+ color: colors.iconSecurity
828
+ }],
829
+ children: "Add a new location"
830
+ })]
831
+ }), tempLocations.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
832
+ style: styles.locationsList,
833
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
834
+ style: styles.locationsListTitle,
835
+ children: ["Your Locations (", tempLocations.length, ")"]
836
+ }), tempLocations.map((location, index) => /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
837
+ style: styles.locationItem,
838
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
839
+ style: styles.locationItemContent,
840
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
841
+ style: styles.locationItemDragHandle,
842
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
843
+ style: styles.reorderButtons,
844
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
845
+ style: [styles.reorderButton, index === 0 && styles.reorderButtonDisabled],
846
+ onPress: () => index > 0 && moveLocation(index, index - 1),
847
+ disabled: index === 0,
848
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
849
+ name: "chevron-up",
850
+ size: 12,
851
+ color: index === 0 ? "#ccc" : "#666"
852
+ })
853
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
854
+ style: [styles.reorderButton, index === tempLocations.length - 1 && styles.reorderButtonDisabled],
855
+ onPress: () => index < tempLocations.length - 1 && moveLocation(index, index + 1),
856
+ disabled: index === tempLocations.length - 1,
857
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
858
+ name: "chevron-down",
859
+ size: 12,
860
+ color: index === tempLocations.length - 1 ? "#ccc" : "#666"
861
+ })
862
+ })]
863
+ })
864
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
865
+ style: styles.locationItemInfo,
866
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
867
+ style: styles.locationItemHeader,
868
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
869
+ style: styles.locationItemName,
870
+ numberOfLines: 1,
871
+ children: location.name
872
+ }), location.label && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
873
+ style: [styles.locationLabel, {
874
+ backgroundColor: colors.iconSecurity
875
+ }],
876
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
877
+ style: styles.locationLabelText,
878
+ children: location.label
879
+ })
880
+ })]
881
+ }), location.coordinates && /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Text, {
882
+ style: styles.locationCoordinates,
883
+ children: [location.coordinates.lat.toFixed(4), ", ", location.coordinates.lon.toFixed(4)]
884
+ })]
885
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
886
+ style: styles.locationItemActions,
887
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
888
+ style: styles.locationItemButton,
889
+ onPress: () => removeLocation(location.id),
890
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
891
+ name: "trash",
892
+ size: 14,
893
+ color: "#FF3B30"
894
+ })
895
+ })
896
+ })]
897
+ }), index < tempLocations.length - 1 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
898
+ style: styles.locationItemDivider
899
+ })]
900
+ }, location.id)), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
901
+ style: styles.reorderHint,
902
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
903
+ style: styles.reorderHintText,
904
+ children: "Use \u2191\u2193 buttons to reorder your locations"
905
+ })
906
+ })]
907
+ })]
908
+ })
909
+ })
910
+ });
911
+ }
912
+ if (type === 'links') {
913
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
914
+ style: [styles.editingFieldContainer, {
915
+ backgroundColor: colors.background
916
+ }],
917
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
918
+ style: styles.editingFieldContent,
919
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
920
+ style: styles.newValueSection,
921
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
922
+ style: styles.editingFieldHeader,
923
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
924
+ style: [styles.editingFieldLabel, {
925
+ color: colors.text
926
+ }],
927
+ children: "Manage Your Links"
928
+ })
929
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
930
+ items: [
931
+ // Add new link item
932
+ ...(isAddingLink ? [{
933
+ id: 'add-link-input',
934
+ icon: 'plus',
935
+ iconColor: colors.sidebarIconSharing,
936
+ title: 'Add New Link',
937
+ subtitle: isFetchingMetadata ? 'Fetching metadata...' : 'Enter URL to add a new link',
938
+ customContent: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
939
+ style: styles.addLinkInputContainer,
940
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
941
+ style: styles.addLinkInput,
942
+ value: newLinkUrl,
943
+ onChangeText: setNewLinkUrl,
944
+ placeholder: "Enter URL (e.g., https://example.com)",
945
+ placeholderTextColor: colors.secondaryText,
946
+ keyboardType: "url",
947
+ autoFocus: true,
948
+ selectionColor: themeStyles.primaryColor
949
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
950
+ style: styles.addLinkButtons,
951
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
952
+ style: [styles.addLinkButton, styles.cancelButton],
953
+ onPress: () => {
954
+ setIsAddingLink(false);
955
+ setNewLinkUrl('');
956
+ },
957
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
958
+ style: styles.cancelButtonText,
959
+ children: "Cancel"
960
+ })
961
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
962
+ style: [styles.addLinkButton, styles.addButton, {
963
+ backgroundColor: colors.iconSecurity,
964
+ opacity: isFetchingMetadata ? 0.5 : 1
965
+ }],
966
+ onPress: addLink,
967
+ disabled: isFetchingMetadata,
968
+ children: isFetchingMetadata ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
969
+ size: "small",
970
+ color: "#fff"
971
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
972
+ style: styles.addButtonText,
973
+ children: "Add"
974
+ })
975
+ })]
976
+ })]
977
+ })
978
+ }] : [{
979
+ id: 'add-link-trigger',
980
+ icon: 'plus',
981
+ iconColor: colors.sidebarIconSharing,
982
+ title: 'Add a new link',
983
+ subtitle: 'Tap to add a new link to your profile',
984
+ onPress: () => setIsAddingLink(true)
985
+ }]),
986
+ // Existing links
987
+ ...tempLinksWithMetadata.map((link, index) => ({
988
+ id: link.id,
989
+ customIcon: link.image ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
990
+ source: {
991
+ uri: link.image
992
+ },
993
+ style: {
994
+ width: 36,
995
+ height: 36,
996
+ borderRadius: 18
997
+ }
998
+ }) : undefined,
999
+ icon: !link.image ? 'link-variant' : undefined,
1000
+ iconColor: colors.sidebarIconSharing,
1001
+ title: link.title || link.url,
1002
+ subtitle: link.description && link.description !== link.title ? link.description : link.url,
1003
+ customContent: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1004
+ style: styles.linkItemActions,
1005
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1006
+ style: styles.reorderButtons,
1007
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
1008
+ style: [styles.reorderButton, index === 0 && styles.reorderButtonDisabled],
1009
+ onPress: () => index > 0 && moveLink(index, index - 1),
1010
+ disabled: index === 0,
1011
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
1012
+ name: "chevron-up",
1013
+ size: 12,
1014
+ color: index === 0 ? "#ccc" : "#666"
1015
+ })
1016
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
1017
+ style: [styles.reorderButton, index === tempLinksWithMetadata.length - 1 && styles.reorderButtonDisabled],
1018
+ onPress: () => index < tempLinksWithMetadata.length - 1 && moveLink(index, index + 1),
1019
+ disabled: index === tempLinksWithMetadata.length - 1,
1020
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
1021
+ name: "chevron-down",
1022
+ size: 12,
1023
+ color: index === tempLinksWithMetadata.length - 1 ? "#ccc" : "#666"
1024
+ })
1025
+ })]
1026
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
1027
+ style: styles.linkItemButton,
1028
+ onPress: () => removeLink(link.id),
1029
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_OxyIcon.default, {
1030
+ name: "trash",
1031
+ size: 14,
1032
+ color: "#FF3B30"
1033
+ })
1034
+ })]
1035
+ })
1036
+ }))]
1037
+ }), tempLinksWithMetadata.length > 0 && /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1038
+ style: styles.reorderHint,
1039
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1040
+ style: styles.reorderHintText,
1041
+ children: "Use \u2191\u2193 buttons to reorder your links"
1042
+ })
1043
+ })]
1044
+ })
1045
+ })
1046
+ });
1047
+ }
1048
+ const fieldConfig = {
1049
+ displayName: {
1050
+ label: 'Display Name',
1051
+ value: displayName,
1052
+ placeholder: 'Enter your display name',
1053
+ icon: 'account',
1054
+ color: colors.iconPersonalInfo,
1055
+ multiline: false,
1056
+ keyboardType: 'default'
1057
+ },
1058
+ username: {
1059
+ label: 'Username',
1060
+ value: username,
1061
+ placeholder: 'Choose a username',
1062
+ icon: 'at',
1063
+ color: colors.iconData,
1064
+ multiline: false,
1065
+ keyboardType: 'default'
1066
+ },
1067
+ email: {
1068
+ label: 'Email',
1069
+ value: email,
1070
+ placeholder: 'Enter your email address',
1071
+ icon: 'mail',
1072
+ color: colors.iconStorage,
1073
+ multiline: false,
1074
+ keyboardType: 'email-address'
1075
+ },
1076
+ bio: {
1077
+ label: 'Bio',
1078
+ value: bio,
1079
+ placeholder: 'Tell people about yourself...',
1080
+ icon: 'file-document',
1081
+ color: colors.iconPersonalInfo,
1082
+ multiline: true,
1083
+ keyboardType: 'default'
1084
+ },
1085
+ location: {
1086
+ label: 'Location',
1087
+ value: location,
1088
+ placeholder: 'Enter your location',
1089
+ icon: 'location',
1090
+ color: colors.iconSharing,
1091
+ multiline: false,
1092
+ keyboardType: 'default'
1093
+ },
1094
+ links: {
1095
+ label: 'Links',
1096
+ value: links.join(', '),
1097
+ placeholder: 'Enter your links (comma separated)',
1098
+ icon: 'link',
1099
+ color: colors.iconPersonalInfo,
1100
+ multiline: false,
1101
+ keyboardType: 'url'
1102
+ }
1103
+ };
1104
+ const config = fieldConfig[type];
1105
+ if (!config) return null;
1106
+ const tempValue = (() => {
1107
+ switch (type) {
1108
+ case 'displayName':
1109
+ return tempDisplayName;
1110
+ case 'username':
1111
+ return tempUsername;
1112
+ case 'email':
1113
+ return tempEmail;
1114
+ case 'bio':
1115
+ return tempBio;
1116
+ case 'location':
1117
+ return tempLocation;
1118
+ case 'links':
1119
+ return tempLinks.join(', ');
1120
+ default:
1121
+ return '';
1122
+ }
1123
+ })();
1124
+ const setTempValue = text => {
1125
+ switch (type) {
1126
+ case 'displayName':
1127
+ setTempDisplayName(text);
1128
+ break;
1129
+ case 'username':
1130
+ setTempUsername(text);
1131
+ break;
1132
+ case 'email':
1133
+ setTempEmail(text);
1134
+ break;
1135
+ case 'bio':
1136
+ setTempBio(text);
1137
+ break;
1138
+ case 'location':
1139
+ setTempLocation(text);
1140
+ break;
1141
+ case 'links':
1142
+ setTempLinks(text.split(',').map(s => s.trim()).filter(Boolean));
1143
+ break;
1144
+ }
1145
+ };
1146
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1147
+ style: [styles.editingFieldContainer, {
1148
+ backgroundColor: colors.background
1149
+ }],
1150
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1151
+ style: styles.editingFieldContent,
1152
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1153
+ style: styles.newValueSection,
1154
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1155
+ style: styles.editingFieldHeader,
1156
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1157
+ style: [styles.editingFieldLabel, {
1158
+ color: colors.text
1159
+ }],
1160
+ children: config.label
1161
+ })
1162
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TextInput, {
1163
+ style: [config.multiline ? styles.editingFieldTextArea : styles.editingFieldInput, {
1164
+ backgroundColor: themeStyles.isDarkTheme ? '#1C1C1E' : '#F2F2F7',
1165
+ color: themeStyles.isDarkTheme ? '#FFFFFF' : '#000000',
1166
+ borderColor: themeStyles.isDarkTheme ? '#38383A' : '#E5E5EA'
1167
+ }],
1168
+ value: tempValue,
1169
+ onChangeText: setTempValue,
1170
+ placeholder: config.placeholder,
1171
+ placeholderTextColor: themeStyles.isDarkTheme ? '#636366' : '#8E8E93',
1172
+ multiline: config.multiline,
1173
+ numberOfLines: config.multiline ? 6 : 1,
1174
+ keyboardType: config.keyboardType,
1175
+ autoFocus: true,
1176
+ selectionColor: themeStyles.primaryColor
1177
+ })]
1178
+ })
1179
+ })
1180
+ });
1181
+ };
1182
+ if (userLoading || !isAuthenticated) {
1183
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1184
+ style: [styles.container, {
1185
+ backgroundColor: themeStyles.backgroundColor,
1186
+ justifyContent: 'center'
1187
+ }],
1188
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
1189
+ size: "large",
1190
+ color: themeStyles.primaryColor
1191
+ })
1192
+ });
1193
+ }
1194
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1195
+ style: [styles.container, {
1196
+ backgroundColor: themeStyles.backgroundColor
1197
+ }],
1198
+ children: [editingField ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1199
+ style: [styles.editingHeader, {
1200
+ backgroundColor: colors.background,
1201
+ borderBottomColor: colors.border
1202
+ }],
1203
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1204
+ style: styles.editingHeaderContent,
1205
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
1206
+ style: [styles.editingBackButton, {
1207
+ backgroundColor: colors.card
1208
+ }],
1209
+ onPress: cancelEditing,
1210
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.Ionicons, {
1211
+ name: "chevron-back",
1212
+ size: 20,
1213
+ color: colors.tint
1214
+ })
1215
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1216
+ style: styles.editingTitleContainer
1217
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.TouchableOpacity, {
1218
+ style: [styles.editingSaveButton, {
1219
+ opacity: isSaving ? 0.5 : 1,
1220
+ backgroundColor: colors.card
1221
+ }],
1222
+ onPress: () => saveField(editingField),
1223
+ disabled: isSaving,
1224
+ children: isSaving ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
1225
+ size: "small",
1226
+ color: colors.tint
1227
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1228
+ style: [styles.editingSaveButtonText, {
1229
+ color: colors.tint
1230
+ }],
1231
+ children: "Save"
1232
+ })
1233
+ })]
1234
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1235
+ style: styles.editingHeaderBottom,
1236
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1237
+ style: [styles.editingIconContainer, {
1238
+ backgroundColor: editingField === 'displayName' ? `${colors.sidebarIconPersonalInfo}20` : editingField === 'username' ? `${colors.sidebarIconData}20` : editingField === 'email' ? `${colors.sidebarIconSecurity}20` : editingField === 'bio' ? `${colors.sidebarIconPersonalInfo}20` : editingField === 'location' ? `${colors.sidebarIconSharing}20` : editingField === 'links' ? `${colors.sidebarIconPersonalInfo}20` : `${colors.tint}20`
1239
+ }],
1240
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
1241
+ name: editingField === 'displayName' ? 'account-outline' : editingField === 'username' ? 'at' : editingField === 'email' ? 'email-outline' : editingField === 'bio' ? 'text-box-outline' : editingField === 'location' ? 'map-marker-outline' : editingField === 'links' ? 'link-variant' : 'account-outline',
1242
+ size: 28,
1243
+ color: editingField === 'displayName' ? colors.sidebarIconPersonalInfo : editingField === 'username' ? colors.sidebarIconData : editingField === 'email' ? colors.sidebarIconSecurity : editingField === 'bio' ? colors.sidebarIconPersonalInfo : editingField === 'location' ? colors.sidebarIconSharing : editingField === 'links' ? colors.sidebarIconPersonalInfo : colors.tint
1244
+ })
1245
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1246
+ style: [styles.editingBottomTitle, {
1247
+ color: colors.text
1248
+ }],
1249
+ children: editingField === 'displayName' ? t('editProfile.items.displayName.title') || 'Display Name' : editingField === 'username' ? t('editProfile.items.username.title') || 'Username' : editingField === 'email' ? t('editProfile.items.email.title') || 'Email' : editingField === 'bio' ? t('editProfile.items.bio.title') || 'Bio' : editingField === 'location' ? t('editProfile.items.locations.title') || 'Location' : editingField === 'links' ? t('editProfile.items.links.title') || 'Links' : 'Field'
1250
+ })]
1251
+ })]
1252
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ScrollView, {
1253
+ ref: scrollViewRef,
1254
+ style: editingField ? styles.contentEditing : styles.content,
1255
+ contentContainerStyle: styles.scrollContent,
1256
+ showsVerticalScrollIndicator: false,
1257
+ children: editingField ?
1258
+ /*#__PURE__*/
1259
+ // Show only the editing interface when editing
1260
+ (0, _jsxRuntime.jsx)(_reactNative.View, {
1261
+ style: styles.editingOnlyContainer,
1262
+ children: renderEditingField(editingField)
1263
+ }) :
1264
+ /*#__PURE__*/
1265
+ // Show all settings when not editing
1266
+ (0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
1267
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1268
+ style: [styles.headerContainer, styles.headerSection],
1269
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1270
+ style: [styles.modernTitle, {
1271
+ color: themeStyles.textColor,
1272
+ marginBottom: 0,
1273
+ marginTop: 0
1274
+ }],
1275
+ children: t('accountOverview.items.editProfile.title') || t('editProfile.title') || 'Edit Profile'
1276
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1277
+ style: [styles.modernSubtitle, {
1278
+ color: colors.secondaryText,
1279
+ marginBottom: 0,
1280
+ marginTop: 0
1281
+ }],
1282
+ children: t('accountOverview.items.editProfile.subtitle') || t('editProfile.subtitle') || 'Manage your profile and preferences'
1283
+ })]
1284
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1285
+ ref: ref => {
1286
+ avatarSectionRef.current = ref;
1287
+ profilePictureSectionRef.current = ref;
1288
+ },
1289
+ style: styles.section,
1290
+ onLayout: event => {
1291
+ const {
1292
+ y
1293
+ } = event.nativeEvent.layout;
1294
+ setAvatarSectionY(y);
1295
+ setProfilePictureSectionY(y);
1296
+ },
1297
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1298
+ style: [styles.sectionTitle, {
1299
+ color: colors.secondaryText
1300
+ }],
1301
+ children: t('editProfile.sections.profilePicture') || 'PROFILE PICTURE'
1302
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1303
+ style: styles.groupedSectionWrapper,
1304
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
1305
+ items: [{
1306
+ id: 'profile-photo',
1307
+ customIcon: optimisticAvatarId || avatarFileId ? isUpdatingAvatar ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Animated.View, {
1308
+ style: {
1309
+ position: 'relative',
1310
+ width: 36,
1311
+ height: 36
1312
+ },
1313
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Animated.Image, {
1314
+ source: {
1315
+ uri: oxyServices.getFileDownloadUrl(optimisticAvatarId || avatarFileId, 'thumb')
1316
+ },
1317
+ style: {
1318
+ width: 36,
1319
+ height: 36,
1320
+ borderRadius: 18,
1321
+ opacity: 0.6
1322
+ }
1323
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1324
+ style: {
1325
+ position: 'absolute',
1326
+ top: 0,
1327
+ left: 0,
1328
+ right: 0,
1329
+ bottom: 0,
1330
+ justifyContent: 'center',
1331
+ alignItems: 'center',
1332
+ backgroundColor: colorScheme === 'dark' ? 'rgba(0, 0, 0, 0.4)' : 'rgba(255, 255, 255, 0.7)',
1333
+ borderRadius: 18
1334
+ },
1335
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {
1336
+ size: "small",
1337
+ color: colors.tint
1338
+ })
1339
+ })]
1340
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Image, {
1341
+ source: {
1342
+ uri: oxyServices.getFileDownloadUrl(optimisticAvatarId || avatarFileId, 'thumb')
1343
+ },
1344
+ style: {
1345
+ width: 36,
1346
+ height: 36,
1347
+ borderRadius: 18
1348
+ }
1349
+ }) : undefined,
1350
+ icon: !(optimisticAvatarId || avatarFileId) ? 'account-outline' : undefined,
1351
+ iconColor: colors.sidebarIconPersonalInfo,
1352
+ title: 'Profile Photo',
1353
+ subtitle: isUpdatingAvatar ? 'Updating profile picture...' : avatarFileId ? 'Tap to change your profile picture' : 'Tap to add a profile picture',
1354
+ onPress: isUpdatingAvatar ? undefined : openAvatarPicker,
1355
+ disabled: isUpdatingAvatar
1356
+ }, ...(avatarFileId && !isUpdatingAvatar ? [{
1357
+ id: 'remove-profile-photo',
1358
+ icon: 'delete-outline',
1359
+ iconColor: colors.sidebarIconSharing,
1360
+ title: 'Remove Photo',
1361
+ subtitle: 'Delete current profile picture',
1362
+ onPress: handleAvatarRemove
1363
+ }] : [])]
1364
+ })
1365
+ })]
1366
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1367
+ ref: basicInfoSectionRef,
1368
+ style: styles.section,
1369
+ onLayout: event => {
1370
+ const {
1371
+ y
1372
+ } = event.nativeEvent.layout;
1373
+ setBasicInfoSectionY(y);
1374
+ },
1375
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1376
+ style: [styles.sectionTitle, {
1377
+ color: colors.secondaryText
1378
+ }],
1379
+ children: t('editProfile.sections.basicInfo') || 'BASIC INFORMATION'
1380
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1381
+ style: styles.groupedSectionWrapper,
1382
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
1383
+ items: [{
1384
+ id: 'display-name',
1385
+ icon: 'account-outline',
1386
+ iconColor: colors.sidebarIconPersonalInfo,
1387
+ title: t('editProfile.items.displayName.title') || 'Display Name',
1388
+ subtitle: [displayName, lastName].filter(Boolean).join(' ') || t('editProfile.items.displayName.add') || 'Add your display name',
1389
+ onPress: handleOpenDisplayNameModal
1390
+ }, {
1391
+ id: 'username',
1392
+ icon: 'at',
1393
+ iconColor: colors.sidebarIconData,
1394
+ title: t('editProfile.items.username.title') || 'Username',
1395
+ subtitle: username || t('editProfile.items.username.choose') || 'Choose a username',
1396
+ onPress: handleOpenUsernameModal
1397
+ }, {
1398
+ id: 'email',
1399
+ icon: 'email-outline',
1400
+ iconColor: colors.sidebarIconSecurity,
1401
+ title: t('editProfile.items.email.title') || 'Email',
1402
+ subtitle: email || t('editProfile.items.email.add') || 'Add your email address',
1403
+ onPress: handleOpenEmailModal
1404
+ }]
1405
+ })
1406
+ })]
1407
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1408
+ ref: aboutSectionRef,
1409
+ style: styles.section,
1410
+ onLayout: event => {
1411
+ const {
1412
+ y
1413
+ } = event.nativeEvent.layout;
1414
+ setAboutSectionY(y);
1415
+ },
1416
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1417
+ style: [styles.sectionTitle, {
1418
+ color: colors.secondaryText
1419
+ }],
1420
+ children: t('editProfile.sections.about') || 'ABOUT YOU'
1421
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1422
+ style: styles.groupedSectionWrapper,
1423
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
1424
+ items: [{
1425
+ id: 'bio',
1426
+ icon: 'text-box-outline',
1427
+ iconColor: colors.sidebarIconPersonalInfo,
1428
+ title: t('editProfile.items.bio.title') || 'Bio',
1429
+ subtitle: bio || t('editProfile.items.bio.placeholder') || 'Tell people about yourself',
1430
+ onPress: handleOpenBioModal
1431
+ }, {
1432
+ id: 'locations',
1433
+ icon: 'map-marker-outline',
1434
+ iconColor: colors.sidebarIconSharing,
1435
+ title: t('editProfile.items.locations.title') || 'Locations',
1436
+ subtitle: locations.length > 0 ? locations.length === 1 ? t('editProfile.items.locations.count', {
1437
+ count: locations.length
1438
+ }) || `${locations.length} location added` : t('editProfile.items.locations.count_plural', {
1439
+ count: locations.length
1440
+ }) || `${locations.length} locations added` : t('editProfile.items.locations.add') || 'Add your locations',
1441
+ onPress: handleOpenLocationModal
1442
+ }, {
1443
+ id: 'links',
1444
+ icon: 'link-variant',
1445
+ iconColor: colors.sidebarIconSharing,
1446
+ title: t('editProfile.items.links.title') || 'Links',
1447
+ subtitle: linksMetadata.length > 0 ? linksMetadata.length === 1 ? t('editProfile.items.links.count', {
1448
+ count: linksMetadata.length
1449
+ }) || `${linksMetadata.length} link added` : t('editProfile.items.links.count_plural', {
1450
+ count: linksMetadata.length
1451
+ }) || `${linksMetadata.length} links added` : t('editProfile.items.links.add') || 'Add your links',
1452
+ onPress: handleOpenLinksModal
1453
+ }]
1454
+ })
1455
+ })]
1456
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1457
+ ref: quickActionsSectionRef,
1458
+ style: styles.section,
1459
+ onLayout: event => {
1460
+ const {
1461
+ y
1462
+ } = event.nativeEvent.layout;
1463
+ setQuickActionsSectionY(y);
1464
+ },
1465
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1466
+ style: [styles.sectionTitle, {
1467
+ color: colors.secondaryText
1468
+ }],
1469
+ children: t('editProfile.sections.quickActions') || 'QUICK ACTIONS'
1470
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1471
+ style: styles.groupedSectionWrapper,
1472
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_components.GroupedSection, {
1473
+ items: [{
1474
+ id: 'preview-profile',
1475
+ icon: 'eye',
1476
+ iconColor: colors.sidebarIconHome,
1477
+ title: t('editProfile.items.previewProfile.title') || 'Preview Profile',
1478
+ subtitle: t('editProfile.items.previewProfile.subtitle') || 'See how your profile looks to others',
1479
+ onPress: () => navigate?.('Profile', {
1480
+ userId: finalUser?.id
1481
+ })
1482
+ }, {
1483
+ id: 'privacy-settings',
1484
+ icon: 'shield-check',
1485
+ iconColor: colors.sidebarIconSecurity,
1486
+ title: t('editProfile.items.privacySettings.title') || 'Privacy Settings',
1487
+ subtitle: t('editProfile.items.privacySettings.subtitle') || 'Control who can see your profile',
1488
+ onPress: () => navigate?.('PrivacySettings')
1489
+ }, {
1490
+ id: 'verify-account',
1491
+ icon: 'check-circle',
1492
+ iconColor: colors.sidebarIconPersonalInfo,
1493
+ title: t('editProfile.items.verifyAccount.title') || 'Verify Account',
1494
+ subtitle: t('editProfile.items.verifyAccount.subtitle') || 'Get a verified badge',
1495
+ onPress: () => navigate?.('AccountVerification')
1496
+ }]
1497
+ })
1498
+ })]
1499
+ }), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
1500
+ ref: securitySectionRef,
1501
+ style: styles.section,
1502
+ onLayout: event => {
1503
+ const {
1504
+ y
1505
+ } = event.nativeEvent.layout;
1506
+ setSecuritySectionY(y);
1507
+ },
1508
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Text, {
1509
+ style: [styles.sectionTitle, {
1510
+ color: colors.secondaryText
1511
+ }],
1512
+ children: t('editProfile.sections.security') || 'SECURITY'
1513
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
1514
+ style: styles.groupedSectionWrapper
1515
+ })]
1516
+ })]
1517
+ })
1518
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditDisplayNameModal.EditDisplayNameModal, {
1519
+ visible: showEditDisplayNameModal,
1520
+ onClose: () => setShowEditDisplayNameModal(false),
1521
+ initialDisplayName: displayName,
1522
+ initialLastName: lastName,
1523
+ theme: normalizedTheme,
1524
+ onSave: handleModalSave
1525
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditUsernameModal.EditUsernameModal, {
1526
+ visible: showEditUsernameModal,
1527
+ onClose: () => setShowEditUsernameModal(false),
1528
+ initialValue: username,
1529
+ theme: normalizedTheme,
1530
+ onSave: handleModalSave
1531
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditEmailModal.EditEmailModal, {
1532
+ visible: showEditEmailModal,
1533
+ onClose: () => setShowEditEmailModal(false),
1534
+ initialValue: email,
1535
+ theme: normalizedTheme,
1536
+ onSave: handleModalSave
1537
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditBioModal.EditBioModal, {
1538
+ visible: showEditBioModal,
1539
+ onClose: () => setShowEditBioModal(false),
1540
+ initialValue: bio,
1541
+ theme: normalizedTheme,
1542
+ onSave: handleModalSave
1543
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditLocationModal.EditLocationModal, {
1544
+ visible: showEditLocationModal,
1545
+ onClose: () => setShowEditLocationModal(false),
1546
+ initialLocations: locations,
1547
+ theme: normalizedTheme,
1548
+ onSave: handleModalSave
1549
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_EditLinksModal.EditLinksModal, {
1550
+ visible: showEditLinksModal,
1551
+ onClose: () => setShowEditLinksModal(false),
1552
+ initialLinks: linksMetadata,
1553
+ theme: normalizedTheme,
1554
+ onSave: handleModalSave
1555
+ })]
1556
+ });
1557
+ };
1558
+ const styles = _reactNative.StyleSheet.create({
1559
+ container: {
1560
+ flexShrink: 1,
1561
+ width: '100%'
1562
+ },
1563
+ content: {
1564
+ flexShrink: 1
1565
+ },
1566
+ scrollView: {
1567
+ flexShrink: 1
1568
+ },
1569
+ contentEditing: {
1570
+ flex: 1,
1571
+ padding: 0
1572
+ },
1573
+ scrollContent: (0, _spacing.createScreenContentStyle)(_spacing.HEADER_PADDING_TOP_SETTINGS),
1574
+ headerContainer: {
1575
+ width: '100%',
1576
+ maxWidth: 420,
1577
+ alignSelf: 'center',
1578
+ marginBottom: _spacing.SECTION_GAP_LARGE
1579
+ },
1580
+ headerSection: {
1581
+ alignItems: 'flex-start',
1582
+ width: '100%',
1583
+ gap: _spacing.COMPONENT_GAP
1584
+ },
1585
+ modernTitle: {
1586
+ fontFamily: _fonts.fontFamilies.phuduBold,
1587
+ fontWeight: _reactNative.Platform.OS === 'web' ? 'bold' : undefined,
1588
+ fontSize: 42,
1589
+ lineHeight: 50.4,
1590
+ // 42 * 1.2
1591
+ textAlign: 'left',
1592
+ letterSpacing: -0.5
1593
+ },
1594
+ modernSubtitle: {
1595
+ fontSize: 18,
1596
+ lineHeight: 24,
1597
+ textAlign: 'left',
1598
+ maxWidth: 320,
1599
+ alignSelf: 'flex-start',
1600
+ opacity: 0.8
1601
+ },
1602
+ section: {
1603
+ marginBottom: _spacing.SECTION_GAP_LARGE
1604
+ },
1605
+ sectionTitle: {
1606
+ fontSize: 13,
1607
+ fontWeight: '600',
1608
+ color: '#8E8E93',
1609
+ marginBottom: 8,
1610
+ marginTop: 4,
1611
+ textTransform: 'uppercase',
1612
+ letterSpacing: 0.5,
1613
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
1614
+ },
1615
+ groupedSectionWrapper: {
1616
+ backgroundColor: 'transparent'
1617
+ },
1618
+ userIcon: {
1619
+ marginRight: 12
1620
+ },
1621
+ // Editing-only mode styles
1622
+ editingOnlyContainer: {
1623
+ flex: 1
1624
+ },
1625
+ editingFieldContainer: {
1626
+ backgroundColor: '#fff',
1627
+ padding: 16,
1628
+ flex: 1
1629
+ },
1630
+ editingFieldHeader: {
1631
+ marginBottom: 8,
1632
+ flexDirection: 'row',
1633
+ alignItems: 'center'
1634
+ },
1635
+ editingFieldTitleContainer: {
1636
+ flexDirection: 'row',
1637
+ alignItems: 'center'
1638
+ },
1639
+ editingFieldIcon: {
1640
+ marginRight: 12
1641
+ },
1642
+ editingFieldTitle: {
1643
+ fontSize: 20,
1644
+ fontWeight: '600',
1645
+ color: '#000'
1646
+ },
1647
+ editingFieldContent: {
1648
+ flex: 1
1649
+ },
1650
+ newValueSection: {
1651
+ flex: 1
1652
+ },
1653
+ editingFieldLabel: {
1654
+ fontSize: 13,
1655
+ fontWeight: '600',
1656
+ marginBottom: 8,
1657
+ fontFamily: _fonts.fontFamilies.phuduSemiBold,
1658
+ textTransform: 'uppercase',
1659
+ letterSpacing: 0.5
1660
+ },
1661
+ editingFieldInput: {
1662
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
1663
+ borderRadius: 14,
1664
+ padding: 16,
1665
+ fontSize: 17,
1666
+ minHeight: 52,
1667
+ fontWeight: '400',
1668
+ letterSpacing: -0.2
1669
+ },
1670
+ editingFieldDescription: {
1671
+ fontSize: 14,
1672
+ color: '#666',
1673
+ marginBottom: 16
1674
+ },
1675
+ primaryButton: {
1676
+ flexDirection: 'row',
1677
+ alignItems: 'center',
1678
+ justifyContent: 'center',
1679
+ gap: 8,
1680
+ // backgroundColor should be applied inline using colors.iconSecurity
1681
+ paddingVertical: 12,
1682
+ paddingHorizontal: 16,
1683
+ borderRadius: 10
1684
+ },
1685
+ primaryButtonText: {
1686
+ color: '#fff',
1687
+ fontSize: 16,
1688
+ fontWeight: '600'
1689
+ },
1690
+ editingFieldTextArea: {
1691
+ borderWidth: _reactNative.StyleSheet.hairlineWidth,
1692
+ borderRadius: 14,
1693
+ padding: 16,
1694
+ fontSize: 17,
1695
+ minHeight: 120,
1696
+ textAlignVertical: 'top',
1697
+ fontWeight: '400',
1698
+ letterSpacing: -0.2
1699
+ },
1700
+ // Custom editing header styles
1701
+ editingHeader: {
1702
+ paddingTop: _reactNative.Platform.OS === 'ios' ? 50 : 16,
1703
+ paddingBottom: 0,
1704
+ borderBottomWidth: _reactNative.StyleSheet.hairlineWidth
1705
+ },
1706
+ editingHeaderContent: {
1707
+ flexDirection: 'row',
1708
+ alignItems: 'center',
1709
+ paddingHorizontal: 16,
1710
+ minHeight: 44
1711
+ },
1712
+ editingBackButton: {
1713
+ width: 36,
1714
+ height: 36,
1715
+ borderRadius: 20,
1716
+ alignItems: 'center',
1717
+ justifyContent: 'center',
1718
+ marginRight: 12
1719
+ },
1720
+ editingTitleContainer: {
1721
+ flex: 1,
1722
+ flexDirection: 'column',
1723
+ alignItems: 'flex-start',
1724
+ justifyContent: 'flex-end',
1725
+ paddingBottom: 8
1726
+ },
1727
+ editingTitleIcon: {
1728
+ marginBottom: 4,
1729
+ alignSelf: 'flex-start'
1730
+ },
1731
+ editingTitle: {
1732
+ fontSize: 18,
1733
+ fontWeight: '700',
1734
+ fontFamily: _fonts.fontFamilies.phuduBold,
1735
+ letterSpacing: -0.3,
1736
+ lineHeight: 22,
1737
+ textAlign: 'left',
1738
+ alignSelf: 'flex-start'
1739
+ },
1740
+ editingSaveButton: {
1741
+ paddingHorizontal: 16,
1742
+ paddingVertical: 8,
1743
+ borderRadius: 20,
1744
+ minWidth: 60,
1745
+ alignItems: 'center',
1746
+ justifyContent: 'center'
1747
+ },
1748
+ editingSaveButtonText: {
1749
+ fontSize: 16,
1750
+ fontWeight: '600',
1751
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
1752
+ },
1753
+ editingHeaderBottom: {
1754
+ flexDirection: 'column',
1755
+ alignItems: 'flex-start',
1756
+ paddingHorizontal: 20,
1757
+ paddingBottom: 20,
1758
+ paddingTop: 24
1759
+ },
1760
+ editingIconContainer: {
1761
+ width: 64,
1762
+ height: 64,
1763
+ borderRadius: 20,
1764
+ alignItems: 'center',
1765
+ justifyContent: 'center',
1766
+ marginBottom: 16
1767
+ },
1768
+ editingBottomTitle: {
1769
+ fontSize: 28,
1770
+ fontWeight: '700',
1771
+ fontFamily: _fonts.fontFamilies.phuduBold,
1772
+ letterSpacing: -0.5,
1773
+ lineHeight: 34,
1774
+ textAlign: 'left',
1775
+ alignSelf: 'flex-start'
1776
+ },
1777
+ // Links management styles
1778
+ addLinkSection: {
1779
+ marginBottom: 16,
1780
+ padding: 12,
1781
+ backgroundColor: '#F8F9FA',
1782
+ borderRadius: 8,
1783
+ borderWidth: 1,
1784
+ borderColor: '#E9ECEF'
1785
+ },
1786
+ addLinkLabel: {
1787
+ fontSize: 14,
1788
+ fontWeight: '600',
1789
+ color: '#333',
1790
+ marginBottom: 8
1791
+ },
1792
+ addLinkInputContainer: {
1793
+ gap: 8
1794
+ },
1795
+ addLinkInput: {
1796
+ backgroundColor: '#fff',
1797
+ borderWidth: 1,
1798
+ borderColor: '#E9ECEF',
1799
+ borderRadius: 6,
1800
+ padding: 10,
1801
+ fontSize: 14,
1802
+ minHeight: 36
1803
+ },
1804
+ addLinkButtons: {
1805
+ flexDirection: 'row',
1806
+ gap: 6
1807
+ },
1808
+ addLinkButton: {
1809
+ flex: 1,
1810
+ paddingVertical: 8,
1811
+ paddingHorizontal: 12,
1812
+ borderRadius: 6,
1813
+ alignItems: 'center',
1814
+ justifyContent: 'center'
1815
+ },
1816
+ cancelButton: {
1817
+ backgroundColor: '#F8F9FA',
1818
+ borderWidth: 1,
1819
+ borderColor: '#E9ECEF'
1820
+ },
1821
+ cancelButtonText: {
1822
+ fontSize: 14,
1823
+ fontWeight: '600',
1824
+ color: '#6C757D'
1825
+ },
1826
+ addButton: {
1827
+ // backgroundColor should be applied inline using colors.iconSecurity
1828
+ },
1829
+ addButtonText: {
1830
+ fontSize: 14,
1831
+ fontWeight: '600',
1832
+ color: '#fff'
1833
+ },
1834
+ addLinkTrigger: {
1835
+ flexDirection: 'row',
1836
+ alignItems: 'center',
1837
+ padding: 12,
1838
+ backgroundColor: '#F8F9FA',
1839
+ borderRadius: 8,
1840
+ borderWidth: 1,
1841
+ borderColor: '#E9ECEF',
1842
+ borderStyle: 'dashed',
1843
+ marginBottom: 16
1844
+ },
1845
+ addLinkTriggerText: {
1846
+ fontSize: 14,
1847
+ fontWeight: '600',
1848
+ // color should be applied inline using colors.iconSecurity
1849
+ marginLeft: 6
1850
+ },
1851
+ linksList: {
1852
+ gap: 8
1853
+ },
1854
+ linksListTitle: {
1855
+ fontSize: 16,
1856
+ fontWeight: '700',
1857
+ color: '#333',
1858
+ marginBottom: 6
1859
+ },
1860
+ linkItem: {
1861
+ backgroundColor: '#fff',
1862
+ borderRadius: 8,
1863
+ borderWidth: 1,
1864
+ borderColor: '#E9ECEF',
1865
+ overflow: 'hidden'
1866
+ },
1867
+ linkItemContent: {
1868
+ flexDirection: 'row',
1869
+ padding: 12,
1870
+ alignItems: 'center'
1871
+ },
1872
+ linkItemDragHandle: {
1873
+ width: 24,
1874
+ height: 24,
1875
+ alignItems: 'center',
1876
+ justifyContent: 'center',
1877
+ marginRight: 8
1878
+ },
1879
+ linkItemInfo: {
1880
+ flex: 1,
1881
+ marginRight: 8
1882
+ },
1883
+ linkItemTitle: {
1884
+ fontSize: 14,
1885
+ fontWeight: '600',
1886
+ color: '#333',
1887
+ marginBottom: 2
1888
+ },
1889
+ linkItemDescription: {
1890
+ fontSize: 12,
1891
+ color: '#666',
1892
+ marginBottom: 2
1893
+ },
1894
+ linkItemUrl: {
1895
+ fontSize: 12,
1896
+ color: '#6C757D'
1897
+ },
1898
+ linkItemActions: {
1899
+ flexDirection: 'row',
1900
+ gap: 6
1901
+ },
1902
+ linkItemButton: {
1903
+ width: 28,
1904
+ height: 28,
1905
+ borderRadius: 14,
1906
+ backgroundColor: '#F8F9FA',
1907
+ alignItems: 'center',
1908
+ justifyContent: 'center'
1909
+ },
1910
+ linkItemDivider: {
1911
+ height: 1,
1912
+ backgroundColor: '#E9ECEF',
1913
+ marginHorizontal: 12
1914
+ },
1915
+ reorderHint: {
1916
+ padding: 8,
1917
+ alignItems: 'center'
1918
+ },
1919
+ reorderHintText: {
1920
+ fontSize: 12,
1921
+ color: '#999',
1922
+ fontStyle: 'italic'
1923
+ },
1924
+ reorderButtons: {
1925
+ flexDirection: 'column',
1926
+ gap: 2
1927
+ },
1928
+ reorderButton: {
1929
+ width: 20,
1930
+ height: 16,
1931
+ borderRadius: 3,
1932
+ backgroundColor: '#F8F9FA',
1933
+ alignItems: 'center',
1934
+ justifyContent: 'center',
1935
+ borderWidth: 1,
1936
+ borderColor: '#E9ECEF'
1937
+ },
1938
+ reorderButtonDisabled: {
1939
+ opacity: 0.3
1940
+ },
1941
+ linkItemImage: {
1942
+ width: 32,
1943
+ height: 32,
1944
+ borderRadius: 16,
1945
+ // backgroundColor should be applied inline using colors.iconSecurity
1946
+ alignItems: 'center',
1947
+ justifyContent: 'center',
1948
+ marginRight: 8
1949
+ },
1950
+ linkItemImageText: {
1951
+ fontSize: 12,
1952
+ fontWeight: '600',
1953
+ color: '#fff'
1954
+ },
1955
+ fetchingText: {
1956
+ fontSize: 12,
1957
+ // color should be applied inline using colors.iconSecurity
1958
+ fontStyle: 'italic'
1959
+ },
1960
+ linksFieldContent: {
1961
+ flex: 1,
1962
+ marginLeft: 12
1963
+ },
1964
+ linksPreview: {
1965
+ marginTop: 4,
1966
+ flexDirection: 'column'
1967
+ },
1968
+ linksPreviewContainer: {
1969
+ marginTop: 4,
1970
+ flexDirection: 'column',
1971
+ width: '100%'
1972
+ },
1973
+ linkPreviewItem: {
1974
+ flexDirection: 'row',
1975
+ alignItems: 'center',
1976
+ marginBottom: 4
1977
+ },
1978
+ linkPreviewImage: {
1979
+ width: 20,
1980
+ height: 20,
1981
+ borderRadius: 10,
1982
+ // backgroundColor should be applied inline using colors.iconSecurity
1983
+ alignItems: 'center',
1984
+ justifyContent: 'center',
1985
+ marginRight: 6
1986
+ },
1987
+ linkPreviewImageText: {
1988
+ fontSize: 10,
1989
+ fontWeight: '600',
1990
+ color: '#fff'
1991
+ },
1992
+ linkPreviewTitle: {
1993
+ fontSize: 13,
1994
+ color: '#666',
1995
+ flex: 1
1996
+ },
1997
+ linkPreviewContent: {
1998
+ flex: 1
1999
+ },
2000
+ linkPreviewSubtitle: {
2001
+ fontSize: 11,
2002
+ color: '#999',
2003
+ marginTop: 1
2004
+ },
2005
+ linkPreviewMore: {
2006
+ fontSize: 12,
2007
+ color: '#999',
2008
+ fontStyle: 'italic'
2009
+ },
2010
+ // Location management styles
2011
+ addLocationSection: {
2012
+ marginBottom: 16
2013
+ },
2014
+ addLocationLabel: {
2015
+ fontSize: 14,
2016
+ fontWeight: '600',
2017
+ color: '#333',
2018
+ marginBottom: 8,
2019
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
2020
+ },
2021
+ searchingText: {
2022
+ fontSize: 12,
2023
+ // color should be applied inline using colors.iconSecurity
2024
+ fontStyle: 'italic'
2025
+ },
2026
+ addLocationInputContainer: {
2027
+ marginBottom: 8
2028
+ },
2029
+ addLocationInput: {
2030
+ backgroundColor: '#fff',
2031
+ borderWidth: 2,
2032
+ borderColor: '#e0e0e0',
2033
+ borderRadius: 12,
2034
+ padding: 16,
2035
+ fontSize: 17,
2036
+ minHeight: 52,
2037
+ fontWeight: '400',
2038
+ marginBottom: 8
2039
+ },
2040
+ addLocationButtons: {
2041
+ flexDirection: 'row',
2042
+ gap: 8
2043
+ },
2044
+ addLocationButton: {
2045
+ flex: 1,
2046
+ paddingVertical: 12,
2047
+ paddingHorizontal: 16,
2048
+ borderRadius: 8,
2049
+ alignItems: 'center',
2050
+ justifyContent: 'center'
2051
+ },
2052
+ addLocationTrigger: {
2053
+ flexDirection: 'row',
2054
+ alignItems: 'center',
2055
+ paddingVertical: 12,
2056
+ paddingHorizontal: 16,
2057
+ backgroundColor: '#F8F9FA',
2058
+ borderRadius: 8,
2059
+ marginBottom: 16
2060
+ },
2061
+ addLocationTriggerText: {
2062
+ marginLeft: 8,
2063
+ fontSize: 16,
2064
+ // color should be applied inline using colors.iconSecurity
2065
+ fontWeight: '500'
2066
+ },
2067
+ searchResults: {
2068
+ backgroundColor: '#fff',
2069
+ borderWidth: 1,
2070
+ borderColor: '#e0e0e0',
2071
+ borderRadius: 8,
2072
+ maxHeight: 200
2073
+ },
2074
+ searchResultItem: {
2075
+ padding: 12,
2076
+ borderBottomWidth: 1,
2077
+ borderBottomColor: '#f0f0f0'
2078
+ },
2079
+ searchResultName: {
2080
+ fontSize: 14,
2081
+ fontWeight: '500',
2082
+ color: '#333',
2083
+ marginBottom: 2
2084
+ },
2085
+ searchResultType: {
2086
+ fontSize: 12,
2087
+ color: '#666',
2088
+ textTransform: 'capitalize'
2089
+ },
2090
+ locationsList: {
2091
+ marginTop: 8
2092
+ },
2093
+ locationsListTitle: {
2094
+ fontSize: 14,
2095
+ fontWeight: '600',
2096
+ color: '#333',
2097
+ marginBottom: 12,
2098
+ fontFamily: _fonts.fontFamilies.phuduSemiBold
2099
+ },
2100
+ locationItem: {
2101
+ marginBottom: 8
2102
+ },
2103
+ locationItemContent: {
2104
+ flexDirection: 'row',
2105
+ alignItems: 'center',
2106
+ padding: 12,
2107
+ backgroundColor: '#F8F9FA',
2108
+ borderRadius: 8
2109
+ },
2110
+ locationItemDragHandle: {
2111
+ marginRight: 12
2112
+ },
2113
+ locationItemInfo: {
2114
+ flex: 1
2115
+ },
2116
+ locationItemHeader: {
2117
+ flexDirection: 'row',
2118
+ alignItems: 'center',
2119
+ marginBottom: 4
2120
+ },
2121
+ locationItemName: {
2122
+ fontSize: 14,
2123
+ fontWeight: '500',
2124
+ color: '#333',
2125
+ flex: 1
2126
+ },
2127
+ locationLabel: {
2128
+ // backgroundColor should be applied inline using colors.iconSecurity
2129
+ paddingHorizontal: 6,
2130
+ paddingVertical: 2,
2131
+ borderRadius: 4,
2132
+ marginLeft: 8
2133
+ },
2134
+ locationLabelText: {
2135
+ fontSize: 10,
2136
+ fontWeight: '600',
2137
+ color: '#fff',
2138
+ textTransform: 'uppercase'
2139
+ },
2140
+ locationCoordinates: {
2141
+ fontSize: 12,
2142
+ color: '#666',
2143
+ fontFamily: 'monospace'
2144
+ },
2145
+ locationItemActions: {
2146
+ marginLeft: 8
2147
+ },
2148
+ locationItemButton: {
2149
+ width: 28,
2150
+ height: 28,
2151
+ borderRadius: 14,
2152
+ backgroundColor: '#F8F9FA',
2153
+ alignItems: 'center',
2154
+ justifyContent: 'center'
2155
+ },
2156
+ locationItemDivider: {
2157
+ height: 1,
2158
+ backgroundColor: '#E9ECEF',
2159
+ marginHorizontal: 12
2160
+ }
2161
+ });
2162
+ var _default = exports.default = /*#__PURE__*/_react.default.memo(AccountSettingsScreen);
2163
+ //# sourceMappingURL=AccountSettingsScreen.js.map