@onairos/react-native 3.1.12 → 3.1.14

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 (604) hide show
  1. package/README.md +403 -374
  2. package/lib/commonjs/api/index.js +75 -1
  3. package/lib/commonjs/api/index.js.map +1 -1
  4. package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  5. package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  6. package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
  7. package/lib/commonjs/assets/icons/Gmail.png +0 -0
  8. package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
  9. package/lib/commonjs/assets/icons/Redditicon.png +0 -0
  10. package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
  11. package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
  12. package/lib/commonjs/assets/icons/farcaster.png +0 -0
  13. package/lib/commonjs/assets/icons/instagram.png +0 -0
  14. package/lib/commonjs/assets/icons/pinterest.png +0 -0
  15. package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
  16. package/lib/commonjs/assets/icons/twitter.jpg +0 -0
  17. package/lib/commonjs/assets/images/Checkbox.svg +3 -0
  18. package/lib/commonjs/assets/images/EnochE.svg +19 -0
  19. package/lib/commonjs/assets/images/Enochicon1.png +0 -0
  20. package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
  21. package/lib/commonjs/assets/images/Facebookicon.png +0 -0
  22. package/lib/commonjs/assets/images/Gmail.png +0 -0
  23. package/lib/commonjs/assets/images/Googlelogo.png +0 -0
  24. package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
  25. package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
  26. package/lib/commonjs/assets/images/Personalityprofile.svg +3 -0
  27. package/lib/commonjs/assets/images/Personalitytraits.svg +3 -0
  28. package/lib/commonjs/assets/images/Redditicon.png +0 -0
  29. package/lib/commonjs/assets/images/Userpreferences.svg +3 -0
  30. package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
  31. package/lib/commonjs/assets/images/arrow.svg +20 -0
  32. package/lib/commonjs/assets/images/basicproficon.svg +43 -0
  33. package/lib/commonjs/assets/images/basicprofile.svg +3 -0
  34. package/lib/commonjs/assets/images/checkmark.svg +4 -0
  35. package/lib/commonjs/assets/images/contentanalysis.svg +3 -0
  36. package/lib/commonjs/assets/images/contenticon.svg +23 -0
  37. package/lib/commonjs/assets/images/persona1.png +0 -0
  38. package/lib/commonjs/assets/images/persona2.png +0 -0
  39. package/lib/commonjs/assets/images/persona3.png +0 -0
  40. package/lib/commonjs/assets/images/persona4.png +0 -0
  41. package/lib/commonjs/assets/images/persona5.png +0 -0
  42. package/lib/commonjs/assets/images/personalityicon.svg +18 -0
  43. package/lib/commonjs/assets/images/x-close.svg +3 -0
  44. package/lib/commonjs/components/BodyText.js +27 -0
  45. package/lib/commonjs/components/BodyText.js.map +1 -0
  46. package/lib/commonjs/components/BrandMark.js +44 -0
  47. package/lib/commonjs/components/BrandMark.js.map +1 -0
  48. package/lib/commonjs/components/CodeInput.js +30 -0
  49. package/lib/commonjs/components/CodeInput.js.map +1 -0
  50. package/lib/commonjs/components/EmailInput.js +30 -0
  51. package/lib/commonjs/components/EmailInput.js.map +1 -0
  52. package/lib/commonjs/components/ExistingUserDataConfirmation.js +474 -0
  53. package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +1 -0
  54. package/lib/commonjs/components/GoogleButton.js +55 -0
  55. package/lib/commonjs/components/GoogleButton.js.map +1 -0
  56. package/lib/commonjs/components/HeadingGroup.js +43 -0
  57. package/lib/commonjs/components/HeadingGroup.js.map +1 -0
  58. package/lib/commonjs/components/ModalHeader.js +99 -0
  59. package/lib/commonjs/components/ModalHeader.js.map +1 -0
  60. package/lib/commonjs/components/ModalSheet.js +41 -0
  61. package/lib/commonjs/components/ModalSheet.js.map +1 -0
  62. package/lib/commonjs/components/Onairos.js +1 -3
  63. package/lib/commonjs/components/Onairos.js.map +1 -1
  64. package/lib/commonjs/components/OnairosButton.js +171 -190
  65. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  66. package/lib/commonjs/components/OnairosSignInButton.js +169 -0
  67. package/lib/commonjs/components/OnairosSignInButton.js.map +1 -0
  68. package/lib/commonjs/components/Overlay.js +5 -5
  69. package/lib/commonjs/components/Overlay.js.map +1 -1
  70. package/lib/commonjs/components/PersonaImage.js +60 -0
  71. package/lib/commonjs/components/PersonaImage.js.map +1 -0
  72. package/lib/commonjs/components/PersonaLoadingScreen.js +156 -0
  73. package/lib/commonjs/components/PersonaLoadingScreen.js.map +1 -0
  74. package/lib/commonjs/components/PersonalizationConsentScreen.js +316 -0
  75. package/lib/commonjs/components/PersonalizationConsentScreen.js.map +1 -0
  76. package/lib/commonjs/components/PinCreationScreen.js +393 -0
  77. package/lib/commonjs/components/PinCreationScreen.js.map +1 -0
  78. package/lib/commonjs/components/PinInput.js +282 -120
  79. package/lib/commonjs/components/PinInput.js.map +1 -1
  80. package/lib/commonjs/components/PlatformConnectorsStep.js +828 -0
  81. package/lib/commonjs/components/PlatformConnectorsStep.js.map +1 -0
  82. package/lib/commonjs/components/PlatformToggle.js +180 -0
  83. package/lib/commonjs/components/PlatformToggle.js.map +1 -0
  84. package/lib/commonjs/components/PrimaryButton.js +180 -0
  85. package/lib/commonjs/components/PrimaryButton.js.map +1 -0
  86. package/lib/commonjs/components/SignInMatchAnimation.js +197 -0
  87. package/lib/commonjs/components/SignInMatchAnimation.js.map +1 -0
  88. package/lib/commonjs/components/SignInStep.js +179 -0
  89. package/lib/commonjs/components/SignInStep.js.map +1 -0
  90. package/lib/commonjs/components/TrainingModal.js +808 -563
  91. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  92. package/lib/commonjs/components/UniversalOnboarding.js +2304 -1283
  93. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  94. package/lib/commonjs/components/VerificationStep.js +154 -0
  95. package/lib/commonjs/components/VerificationStep.js.map +1 -0
  96. package/lib/commonjs/components/WelcomeScreen.js +385 -0
  97. package/lib/commonjs/components/WelcomeScreen.js.map +1 -0
  98. package/lib/commonjs/components/icons/Basicproficon.js +37 -0
  99. package/lib/commonjs/components/icons/Basicproficon.js.map +1 -0
  100. package/lib/commonjs/components/icons/Basicprofile.js +21 -0
  101. package/lib/commonjs/components/icons/Basicprofile.js.map +1 -0
  102. package/lib/commonjs/components/icons/Checkbox.js +21 -0
  103. package/lib/commonjs/components/icons/Checkbox.js.map +1 -0
  104. package/lib/commonjs/components/icons/Checkmark.js +27 -0
  105. package/lib/commonjs/components/icons/Checkmark.js.map +1 -0
  106. package/lib/commonjs/components/icons/Contentanalysis.js +21 -0
  107. package/lib/commonjs/components/icons/Contentanalysis.js.map +1 -0
  108. package/lib/commonjs/components/icons/Contenticon.js +39 -0
  109. package/lib/commonjs/components/icons/Contenticon.js.map +1 -0
  110. package/lib/commonjs/components/icons/EnochE.js +41 -0
  111. package/lib/commonjs/components/icons/EnochE.js.map +1 -0
  112. package/lib/commonjs/components/icons/Personalityicon.js +30 -0
  113. package/lib/commonjs/components/icons/Personalityicon.js.map +1 -0
  114. package/lib/commonjs/components/icons/Personalityprofile.js +21 -0
  115. package/lib/commonjs/components/icons/Personalityprofile.js.map +1 -0
  116. package/lib/commonjs/components/icons/Personalitytraits.js +21 -0
  117. package/lib/commonjs/components/icons/Personalitytraits.js.map +1 -0
  118. package/lib/commonjs/components/icons/Userpreferences.js +21 -0
  119. package/lib/commonjs/components/icons/Userpreferences.js.map +1 -0
  120. package/lib/commonjs/components/icons/index.js +84 -0
  121. package/lib/commonjs/components/icons/index.js.map +1 -0
  122. package/lib/commonjs/components/onboarding/OAuthWebView.js +134 -743
  123. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  124. package/lib/commonjs/config/api.js +34 -0
  125. package/lib/commonjs/config/api.js.map +1 -0
  126. package/lib/commonjs/context/AuthContext.js +345 -0
  127. package/lib/commonjs/context/AuthContext.js.map +1 -0
  128. package/lib/commonjs/hooks/useConnectedAccounts.js +111 -0
  129. package/lib/commonjs/hooks/useConnectedAccounts.js.map +1 -0
  130. package/lib/commonjs/hooks/useConnections.js +120 -125
  131. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  132. package/lib/commonjs/hooks/useUserConnections.js +148 -0
  133. package/lib/commonjs/hooks/useUserConnections.js.map +1 -0
  134. package/lib/commonjs/index.js +12 -100
  135. package/lib/commonjs/index.js.map +1 -1
  136. package/lib/commonjs/services/apiClient.js +302 -0
  137. package/lib/commonjs/services/apiClient.js.map +1 -0
  138. package/lib/commonjs/services/apiKeyService.js +8 -9
  139. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  140. package/lib/commonjs/services/authService.js +935 -0
  141. package/lib/commonjs/services/authService.js.map +1 -0
  142. package/lib/commonjs/services/biometricPinService.js +184 -0
  143. package/lib/commonjs/services/biometricPinService.js.map +1 -0
  144. package/lib/commonjs/services/connectedAccountsService.js +268 -0
  145. package/lib/commonjs/services/connectedAccountsService.js.map +1 -0
  146. package/lib/commonjs/services/googleAuthService.js +268 -0
  147. package/lib/commonjs/services/googleAuthService.js.map +1 -0
  148. package/lib/commonjs/services/imageCompressionService.js +260 -0
  149. package/lib/commonjs/services/imageCompressionService.js.map +1 -0
  150. package/lib/commonjs/services/jwtStorageService.js +256 -0
  151. package/lib/commonjs/services/jwtStorageService.js.map +1 -0
  152. package/lib/commonjs/services/mobileTrainingService.js +185 -0
  153. package/lib/commonjs/services/mobileTrainingService.js.map +1 -0
  154. package/lib/commonjs/services/pinEncryptionService.js +84 -0
  155. package/lib/commonjs/services/pinEncryptionService.js.map +1 -0
  156. package/lib/commonjs/services/pinStorageUtils.js +105 -0
  157. package/lib/commonjs/services/pinStorageUtils.js.map +1 -0
  158. package/lib/commonjs/services/platformAuthService.js +956 -722
  159. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  160. package/lib/commonjs/services/storageService.js +404 -0
  161. package/lib/commonjs/services/storageService.js.map +1 -0
  162. package/lib/commonjs/services/trainingApiHelpers.js +73 -0
  163. package/lib/commonjs/services/trainingApiHelpers.js.map +1 -0
  164. package/lib/commonjs/services/userConnectionsService.js +486 -0
  165. package/lib/commonjs/services/userConnectionsService.js.map +1 -0
  166. package/lib/commonjs/services/youtubeMigrationService.js +415 -0
  167. package/lib/commonjs/services/youtubeMigrationService.js.map +1 -0
  168. package/lib/commonjs/theme/index.js +249 -0
  169. package/lib/commonjs/theme/index.js.map +1 -0
  170. package/lib/commonjs/utils/eventUtils.js +288 -0
  171. package/lib/commonjs/utils/eventUtils.js.map +1 -0
  172. package/lib/commonjs/utils/haptics.js +66 -0
  173. package/lib/commonjs/utils/haptics.js.map +1 -0
  174. package/lib/commonjs/utils/imagePreloader.js +6 -0
  175. package/lib/commonjs/utils/imagePreloader.js.map +1 -0
  176. package/lib/module/api/index.js +72 -0
  177. package/lib/module/api/index.js.map +1 -1
  178. package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  179. package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  180. package/lib/module/assets/icons/Facebookicon.png +0 -0
  181. package/lib/module/assets/icons/Gmail.png +0 -0
  182. package/lib/module/assets/icons/Linkedinicon.png +0 -0
  183. package/lib/module/assets/icons/Redditicon.png +0 -0
  184. package/lib/module/assets/icons/YouTubeicon2.png +0 -0
  185. package/lib/module/assets/icons/YouTubeicon3.png +0 -0
  186. package/lib/module/assets/icons/farcaster.png +0 -0
  187. package/lib/module/assets/icons/instagram.png +0 -0
  188. package/lib/module/assets/icons/pinterest.png +0 -0
  189. package/lib/module/assets/icons/swerv_logo.png +0 -0
  190. package/lib/module/assets/icons/twitter.jpg +0 -0
  191. package/lib/module/assets/images/Checkbox.svg +3 -0
  192. package/lib/module/assets/images/EnochE.svg +19 -0
  193. package/lib/module/assets/images/Enochicon1.png +0 -0
  194. package/lib/module/assets/images/Face_ID_logo.png +0 -0
  195. package/lib/module/assets/images/Facebookicon.png +0 -0
  196. package/lib/module/assets/images/Gmail.png +0 -0
  197. package/lib/module/assets/images/Googlelogo.png +0 -0
  198. package/lib/module/assets/images/Linkedinicon.png +0 -0
  199. package/lib/module/assets/images/Onairoslogo.png +0 -0
  200. package/lib/module/assets/images/Personalityprofile.svg +3 -0
  201. package/lib/module/assets/images/Personalitytraits.svg +3 -0
  202. package/lib/module/assets/images/Redditicon.png +0 -0
  203. package/lib/module/assets/images/Userpreferences.svg +3 -0
  204. package/lib/module/assets/images/YouTubeicon3.png +0 -0
  205. package/lib/module/assets/images/arrow.svg +20 -0
  206. package/lib/module/assets/images/basicproficon.svg +43 -0
  207. package/lib/module/assets/images/basicprofile.svg +3 -0
  208. package/lib/module/assets/images/checkmark.svg +4 -0
  209. package/lib/module/assets/images/contentanalysis.svg +3 -0
  210. package/lib/module/assets/images/contenticon.svg +23 -0
  211. package/lib/module/assets/images/persona1.png +0 -0
  212. package/lib/module/assets/images/persona2.png +0 -0
  213. package/lib/module/assets/images/persona3.png +0 -0
  214. package/lib/module/assets/images/persona4.png +0 -0
  215. package/lib/module/assets/images/persona5.png +0 -0
  216. package/lib/module/assets/images/personalityicon.svg +18 -0
  217. package/lib/module/assets/images/x-close.svg +3 -0
  218. package/lib/module/components/BodyText.js +20 -0
  219. package/lib/module/components/BodyText.js.map +1 -0
  220. package/lib/module/components/BrandMark.js +37 -0
  221. package/lib/module/components/BrandMark.js.map +1 -0
  222. package/lib/module/components/CodeInput.js +23 -0
  223. package/lib/module/components/CodeInput.js.map +1 -0
  224. package/lib/module/components/EmailInput.js +23 -0
  225. package/lib/module/components/EmailInput.js.map +1 -0
  226. package/lib/module/components/ExistingUserDataConfirmation.js +465 -0
  227. package/lib/module/components/ExistingUserDataConfirmation.js.map +1 -0
  228. package/lib/module/components/GoogleButton.js +48 -0
  229. package/lib/module/components/GoogleButton.js.map +1 -0
  230. package/lib/module/components/HeadingGroup.js +36 -0
  231. package/lib/module/components/HeadingGroup.js.map +1 -0
  232. package/lib/module/components/ModalHeader.js +92 -0
  233. package/lib/module/components/ModalHeader.js.map +1 -0
  234. package/lib/module/components/ModalSheet.js +34 -0
  235. package/lib/module/components/ModalSheet.js.map +1 -0
  236. package/lib/module/components/Onairos.js +1 -3
  237. package/lib/module/components/Onairos.js.map +1 -1
  238. package/lib/module/components/OnairosButton.js +172 -192
  239. package/lib/module/components/OnairosButton.js.map +1 -1
  240. package/lib/module/components/OnairosSignInButton.js +160 -0
  241. package/lib/module/components/OnairosSignInButton.js.map +1 -0
  242. package/lib/module/components/Overlay.js +5 -5
  243. package/lib/module/components/Overlay.js.map +1 -1
  244. package/lib/module/components/PersonaImage.js +53 -0
  245. package/lib/module/components/PersonaImage.js.map +1 -0
  246. package/lib/module/components/PersonaLoadingScreen.js +148 -0
  247. package/lib/module/components/PersonaLoadingScreen.js.map +1 -0
  248. package/lib/module/components/PersonalizationConsentScreen.js +309 -0
  249. package/lib/module/components/PersonalizationConsentScreen.js.map +1 -0
  250. package/lib/module/components/PinCreationScreen.js +386 -0
  251. package/lib/module/components/PinCreationScreen.js.map +1 -0
  252. package/lib/module/components/PinInput.js +283 -120
  253. package/lib/module/components/PinInput.js.map +1 -1
  254. package/lib/module/components/PlatformConnectorsStep.js +820 -0
  255. package/lib/module/components/PlatformConnectorsStep.js.map +1 -0
  256. package/lib/module/components/PlatformToggle.js +173 -0
  257. package/lib/module/components/PlatformToggle.js.map +1 -0
  258. package/lib/module/components/PrimaryButton.js +172 -0
  259. package/lib/module/components/PrimaryButton.js.map +1 -0
  260. package/lib/module/components/SignInMatchAnimation.js +189 -0
  261. package/lib/module/components/SignInMatchAnimation.js.map +1 -0
  262. package/lib/module/components/SignInStep.js +171 -0
  263. package/lib/module/components/SignInStep.js.map +1 -0
  264. package/lib/module/components/TrainingModal.js +809 -565
  265. package/lib/module/components/TrainingModal.js.map +1 -1
  266. package/lib/module/components/UniversalOnboarding.js +2307 -1284
  267. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  268. package/lib/module/components/VerificationStep.js +146 -0
  269. package/lib/module/components/VerificationStep.js.map +1 -0
  270. package/lib/module/components/WelcomeScreen.js +378 -0
  271. package/lib/module/components/WelcomeScreen.js.map +1 -0
  272. package/lib/module/components/icons/Basicproficon.js +30 -0
  273. package/lib/module/components/icons/Basicproficon.js.map +1 -0
  274. package/lib/module/components/icons/Basicprofile.js +14 -0
  275. package/lib/module/components/icons/Basicprofile.js.map +1 -0
  276. package/lib/module/components/icons/Checkbox.js +14 -0
  277. package/lib/module/components/icons/Checkbox.js.map +1 -0
  278. package/lib/module/components/icons/Checkmark.js +20 -0
  279. package/lib/module/components/icons/Checkmark.js.map +1 -0
  280. package/lib/module/components/icons/Contentanalysis.js +14 -0
  281. package/lib/module/components/icons/Contentanalysis.js.map +1 -0
  282. package/lib/module/components/icons/Contenticon.js +32 -0
  283. package/lib/module/components/icons/Contenticon.js.map +1 -0
  284. package/lib/module/components/icons/EnochE.js +34 -0
  285. package/lib/module/components/icons/EnochE.js.map +1 -0
  286. package/lib/module/components/icons/Personalityicon.js +23 -0
  287. package/lib/module/components/icons/Personalityicon.js.map +1 -0
  288. package/lib/module/components/icons/Personalityprofile.js +14 -0
  289. package/lib/module/components/icons/Personalityprofile.js.map +1 -0
  290. package/lib/module/components/icons/Personalitytraits.js +14 -0
  291. package/lib/module/components/icons/Personalitytraits.js.map +1 -0
  292. package/lib/module/components/icons/Userpreferences.js +14 -0
  293. package/lib/module/components/icons/Userpreferences.js.map +1 -0
  294. package/lib/module/components/icons/index.js +13 -0
  295. package/lib/module/components/icons/index.js.map +1 -0
  296. package/lib/module/components/onboarding/OAuthWebView.js +136 -744
  297. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  298. package/lib/module/config/api.js +26 -0
  299. package/lib/module/config/api.js.map +1 -0
  300. package/lib/module/context/AuthContext.js +335 -0
  301. package/lib/module/context/AuthContext.js.map +1 -0
  302. package/lib/module/hooks/useConnectedAccounts.js +106 -0
  303. package/lib/module/hooks/useConnectedAccounts.js.map +1 -0
  304. package/lib/module/hooks/useConnections.js +119 -125
  305. package/lib/module/hooks/useConnections.js.map +1 -1
  306. package/lib/module/hooks/useUserConnections.js +140 -0
  307. package/lib/module/hooks/useUserConnections.js.map +1 -0
  308. package/lib/module/index.js +51 -15
  309. package/lib/module/index.js.map +1 -1
  310. package/lib/module/services/apiClient.js +298 -0
  311. package/lib/module/services/apiClient.js.map +1 -0
  312. package/lib/module/services/apiKeyService.js +8 -9
  313. package/lib/module/services/apiKeyService.js.map +1 -1
  314. package/lib/module/services/authService.js +905 -0
  315. package/lib/module/services/authService.js.map +1 -0
  316. package/lib/module/services/biometricPinService.js +173 -0
  317. package/lib/module/services/biometricPinService.js.map +1 -0
  318. package/lib/module/services/connectedAccountsService.js +255 -0
  319. package/lib/module/services/connectedAccountsService.js.map +1 -0
  320. package/lib/module/services/googleAuthService.js +258 -0
  321. package/lib/module/services/googleAuthService.js.map +1 -0
  322. package/lib/module/services/imageCompressionService.js +250 -0
  323. package/lib/module/services/imageCompressionService.js.map +1 -0
  324. package/lib/module/services/jwtStorageService.js +239 -0
  325. package/lib/module/services/jwtStorageService.js.map +1 -0
  326. package/lib/module/services/mobileTrainingService.js +172 -0
  327. package/lib/module/services/mobileTrainingService.js.map +1 -0
  328. package/lib/module/services/pinEncryptionService.js +75 -0
  329. package/lib/module/services/pinEncryptionService.js.map +1 -0
  330. package/lib/module/services/pinStorageUtils.js +93 -0
  331. package/lib/module/services/pinStorageUtils.js.map +1 -0
  332. package/lib/module/services/platformAuthService.js +943 -704
  333. package/lib/module/services/platformAuthService.js.map +1 -1
  334. package/lib/module/services/storageService.js +383 -0
  335. package/lib/module/services/storageService.js.map +1 -0
  336. package/lib/module/services/trainingApiHelpers.js +67 -0
  337. package/lib/module/services/trainingApiHelpers.js.map +1 -0
  338. package/lib/module/services/userConnectionsService.js +476 -0
  339. package/lib/module/services/userConnectionsService.js.map +1 -0
  340. package/lib/module/services/youtubeMigrationService.js +404 -0
  341. package/lib/module/services/youtubeMigrationService.js.map +1 -0
  342. package/lib/module/theme/index.js +244 -0
  343. package/lib/module/theme/index.js.map +1 -0
  344. package/lib/module/utils/eventUtils.js +270 -0
  345. package/lib/module/utils/eventUtils.js.map +1 -0
  346. package/lib/module/utils/haptics.js +59 -0
  347. package/lib/module/utils/haptics.js.map +1 -0
  348. package/lib/module/utils/imagePreloader.js +3 -0
  349. package/lib/module/utils/imagePreloader.js.map +1 -0
  350. package/lib/typescript/api/index.d.ts +8 -0
  351. package/lib/typescript/api/index.d.ts.map +1 -1
  352. package/lib/typescript/components/BodyText.d.ts +10 -0
  353. package/lib/typescript/components/BodyText.d.ts.map +1 -0
  354. package/lib/typescript/components/BrandMark.d.ts +11 -0
  355. package/lib/typescript/components/BrandMark.d.ts.map +1 -0
  356. package/lib/typescript/components/CodeInput.d.ts +10 -0
  357. package/lib/typescript/components/CodeInput.d.ts.map +1 -0
  358. package/lib/typescript/components/EmailInput.d.ts +8 -0
  359. package/lib/typescript/components/EmailInput.d.ts.map +1 -0
  360. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +12 -0
  361. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +1 -0
  362. package/lib/typescript/components/GoogleButton.d.ts +11 -0
  363. package/lib/typescript/components/GoogleButton.d.ts.map +1 -0
  364. package/lib/typescript/components/HeadingGroup.d.ts +11 -0
  365. package/lib/typescript/components/HeadingGroup.d.ts.map +1 -0
  366. package/lib/typescript/components/ModalHeader.d.ts +11 -0
  367. package/lib/typescript/components/ModalHeader.d.ts.map +1 -0
  368. package/lib/typescript/components/ModalSheet.d.ts +13 -0
  369. package/lib/typescript/components/ModalSheet.d.ts.map +1 -0
  370. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  371. package/lib/typescript/components/OnairosButton.d.ts +29 -4
  372. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  373. package/lib/typescript/components/OnairosSignInButton.d.ts +14 -0
  374. package/lib/typescript/components/OnairosSignInButton.d.ts.map +1 -0
  375. package/lib/typescript/components/PersonaImage.d.ts +8 -0
  376. package/lib/typescript/components/PersonaImage.d.ts.map +1 -0
  377. package/lib/typescript/components/PersonaLoadingScreen.d.ts +10 -0
  378. package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +1 -0
  379. package/lib/typescript/components/PersonalizationConsentScreen.d.ts +10 -0
  380. package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +1 -0
  381. package/lib/typescript/components/PinCreationScreen.d.ts +10 -0
  382. package/lib/typescript/components/PinCreationScreen.d.ts.map +1 -0
  383. package/lib/typescript/components/PinInput.d.ts +11 -1
  384. package/lib/typescript/components/PinInput.d.ts.map +1 -1
  385. package/lib/typescript/components/PlatformConnectorsStep.d.ts +11 -0
  386. package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +1 -0
  387. package/lib/typescript/components/PlatformToggle.d.ts +20 -0
  388. package/lib/typescript/components/PlatformToggle.d.ts.map +1 -0
  389. package/lib/typescript/components/PrimaryButton.d.ts +22 -0
  390. package/lib/typescript/components/PrimaryButton.d.ts.map +1 -0
  391. package/lib/typescript/components/SignInMatchAnimation.d.ts +9 -0
  392. package/lib/typescript/components/SignInMatchAnimation.d.ts.map +1 -0
  393. package/lib/typescript/components/SignInStep.d.ts +12 -0
  394. package/lib/typescript/components/SignInStep.d.ts.map +1 -0
  395. package/lib/typescript/components/TrainingModal.d.ts +12 -1
  396. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  397. package/lib/typescript/components/UniversalOnboarding.d.ts +14 -1
  398. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  399. package/lib/typescript/components/VerificationStep.d.ts +13 -0
  400. package/lib/typescript/components/VerificationStep.d.ts.map +1 -0
  401. package/lib/typescript/components/WelcomeScreen.d.ts +9 -0
  402. package/lib/typescript/components/WelcomeScreen.d.ts.map +1 -0
  403. package/lib/typescript/components/icons/Basicproficon.d.ts +5 -0
  404. package/lib/typescript/components/icons/Basicproficon.d.ts.map +1 -0
  405. package/lib/typescript/components/icons/Basicprofile.d.ts +5 -0
  406. package/lib/typescript/components/icons/Basicprofile.d.ts.map +1 -0
  407. package/lib/typescript/components/icons/Checkbox.d.ts +5 -0
  408. package/lib/typescript/components/icons/Checkbox.d.ts.map +1 -0
  409. package/lib/typescript/components/icons/Checkmark.d.ts +5 -0
  410. package/lib/typescript/components/icons/Checkmark.d.ts.map +1 -0
  411. package/lib/typescript/components/icons/Contentanalysis.d.ts +5 -0
  412. package/lib/typescript/components/icons/Contentanalysis.d.ts.map +1 -0
  413. package/lib/typescript/components/icons/Contenticon.d.ts +5 -0
  414. package/lib/typescript/components/icons/Contenticon.d.ts.map +1 -0
  415. package/lib/typescript/components/icons/EnochE.d.ts +5 -0
  416. package/lib/typescript/components/icons/EnochE.d.ts.map +1 -0
  417. package/lib/typescript/components/icons/Personalityicon.d.ts +5 -0
  418. package/lib/typescript/components/icons/Personalityicon.d.ts.map +1 -0
  419. package/lib/typescript/components/icons/Personalityprofile.d.ts +5 -0
  420. package/lib/typescript/components/icons/Personalityprofile.d.ts.map +1 -0
  421. package/lib/typescript/components/icons/Personalitytraits.d.ts +5 -0
  422. package/lib/typescript/components/icons/Personalitytraits.d.ts.map +1 -0
  423. package/lib/typescript/components/icons/Userpreferences.d.ts +5 -0
  424. package/lib/typescript/components/icons/Userpreferences.d.ts.map +1 -0
  425. package/lib/typescript/components/icons/index.d.ts +12 -0
  426. package/lib/typescript/components/icons/index.d.ts.map +1 -0
  427. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  428. package/lib/typescript/config/api.d.ts +24 -0
  429. package/lib/typescript/config/api.d.ts.map +1 -0
  430. package/lib/typescript/context/AuthContext.d.ts +34 -0
  431. package/lib/typescript/context/AuthContext.d.ts.map +1 -0
  432. package/lib/typescript/hooks/useConnectedAccounts.d.ts +11 -0
  433. package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +1 -0
  434. package/lib/typescript/hooks/useConnections.d.ts +10 -5
  435. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  436. package/lib/typescript/hooks/useUserConnections.d.ts +12 -0
  437. package/lib/typescript/hooks/useUserConnections.d.ts.map +1 -0
  438. package/lib/typescript/index.d.ts +24 -6
  439. package/lib/typescript/index.d.ts.map +1 -1
  440. package/lib/typescript/services/apiClient.d.ts +91 -0
  441. package/lib/typescript/services/apiClient.d.ts.map +1 -0
  442. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  443. package/lib/typescript/services/authService.d.ts +216 -0
  444. package/lib/typescript/services/authService.d.ts.map +1 -0
  445. package/lib/typescript/services/biometricPinService.d.ts +29 -0
  446. package/lib/typescript/services/biometricPinService.d.ts.map +1 -0
  447. package/lib/typescript/services/connectedAccountsService.d.ts +56 -0
  448. package/lib/typescript/services/connectedAccountsService.d.ts.map +1 -0
  449. package/lib/typescript/services/googleAuthService.d.ts +63 -0
  450. package/lib/typescript/services/googleAuthService.d.ts.map +1 -0
  451. package/lib/typescript/services/imageCompressionService.d.ts +37 -0
  452. package/lib/typescript/services/imageCompressionService.d.ts.map +1 -0
  453. package/lib/typescript/services/jwtStorageService.d.ts +86 -0
  454. package/lib/typescript/services/jwtStorageService.d.ts.map +1 -0
  455. package/lib/typescript/services/mobileTrainingService.d.ts +45 -0
  456. package/lib/typescript/services/mobileTrainingService.d.ts.map +1 -0
  457. package/lib/typescript/services/pinEncryptionService.d.ts +17 -0
  458. package/lib/typescript/services/pinEncryptionService.d.ts.map +1 -0
  459. package/lib/typescript/services/pinStorageUtils.d.ts +25 -0
  460. package/lib/typescript/services/pinStorageUtils.d.ts.map +1 -0
  461. package/lib/typescript/services/platformAuthService.d.ts +34 -109
  462. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  463. package/lib/typescript/services/storageService.d.ts +128 -0
  464. package/lib/typescript/services/storageService.d.ts.map +1 -0
  465. package/lib/typescript/services/trainingApiHelpers.d.ts +38 -0
  466. package/lib/typescript/services/trainingApiHelpers.d.ts.map +1 -0
  467. package/lib/typescript/services/userConnectionsService.d.ts +90 -0
  468. package/lib/typescript/services/userConnectionsService.d.ts.map +1 -0
  469. package/lib/typescript/services/youtubeMigrationService.d.ts +12 -0
  470. package/lib/typescript/services/youtubeMigrationService.d.ts.map +1 -0
  471. package/lib/typescript/theme/index.d.ts +416 -0
  472. package/lib/typescript/theme/index.d.ts.map +1 -0
  473. package/lib/typescript/types/index.d.ts +39 -0
  474. package/lib/typescript/types/index.d.ts.map +1 -1
  475. package/lib/typescript/utils/eventUtils.d.ts +108 -0
  476. package/lib/typescript/utils/eventUtils.d.ts.map +1 -0
  477. package/lib/typescript/utils/haptics.d.ts +11 -0
  478. package/lib/typescript/utils/haptics.d.ts.map +1 -0
  479. package/lib/typescript/utils/imagePreloader.d.ts +2 -0
  480. package/lib/typescript/utils/imagePreloader.d.ts.map +1 -0
  481. package/package.json +163 -145
  482. package/src/api/index.ts +41 -0
  483. package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  484. package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  485. package/src/assets/icons/Facebookicon.png +0 -0
  486. package/src/assets/icons/Gmail.png +0 -0
  487. package/src/assets/icons/Linkedinicon.png +0 -0
  488. package/src/assets/icons/Redditicon.png +0 -0
  489. package/src/assets/icons/YouTubeicon2.png +0 -0
  490. package/src/assets/icons/YouTubeicon3.png +0 -0
  491. package/src/assets/icons/farcaster.png +0 -0
  492. package/src/assets/icons/instagram.png +0 -0
  493. package/src/assets/icons/pinterest.png +0 -0
  494. package/src/assets/icons/swerv_logo.png +0 -0
  495. package/src/assets/icons/twitter.jpg +0 -0
  496. package/src/assets/images/Checkbox.svg +3 -0
  497. package/src/assets/images/EnochE.svg +19 -0
  498. package/src/assets/images/Enochicon1.png +0 -0
  499. package/src/assets/images/Face_ID_logo.png +0 -0
  500. package/src/assets/images/Facebookicon.png +0 -0
  501. package/src/assets/images/Gmail.png +0 -0
  502. package/src/assets/images/Googlelogo.png +0 -0
  503. package/src/assets/images/Linkedinicon.png +0 -0
  504. package/src/assets/images/Onairoslogo.png +0 -0
  505. package/src/assets/images/Personalityprofile.svg +3 -0
  506. package/src/assets/images/Personalitytraits.svg +3 -0
  507. package/src/assets/images/Redditicon.png +0 -0
  508. package/src/assets/images/Userpreferences.svg +3 -0
  509. package/src/assets/images/YouTubeicon3.png +0 -0
  510. package/src/assets/images/arrow.svg +20 -0
  511. package/src/assets/images/basicproficon.svg +43 -0
  512. package/src/assets/images/basicprofile.svg +3 -0
  513. package/src/assets/images/checkmark.svg +4 -0
  514. package/src/assets/images/contentanalysis.svg +3 -0
  515. package/src/assets/images/contenticon.svg +23 -0
  516. package/src/assets/images/persona1.png +0 -0
  517. package/src/assets/images/persona2.png +0 -0
  518. package/src/assets/images/persona3.png +0 -0
  519. package/src/assets/images/persona4.png +0 -0
  520. package/src/assets/images/persona5.png +0 -0
  521. package/src/assets/images/personalityicon.svg +18 -0
  522. package/src/assets/images/x-close.svg +3 -0
  523. package/src/components/BodyText.tsx +33 -0
  524. package/src/components/BrandMark.tsx +62 -0
  525. package/src/components/CodeInput.tsx +32 -0
  526. package/src/components/EmailInput.tsx +31 -0
  527. package/src/components/ExistingUserDataConfirmation.tsx +507 -0
  528. package/src/components/GoogleButton.tsx +55 -0
  529. package/src/components/HeadingGroup.tsx +49 -0
  530. package/src/components/ModalHeader.tsx +125 -0
  531. package/src/components/ModalSheet.tsx +57 -0
  532. package/src/components/Onairos.tsx +422 -424
  533. package/src/components/OnairosButton.tsx +339 -359
  534. package/src/components/OnairosSignInButton.tsx +166 -0
  535. package/src/components/Overlay.tsx +506 -506
  536. package/src/components/PersonaImage.tsx +79 -0
  537. package/src/components/PersonaLoadingScreen.tsx +201 -0
  538. package/src/components/PersonalizationConsentScreen.tsx +410 -0
  539. package/src/components/PinCreationScreen.tsx +492 -0
  540. package/src/components/PinInput.tsx +555 -343
  541. package/src/components/PlatformConnectorsStep.tsx +892 -0
  542. package/src/components/PlatformToggle.tsx +226 -0
  543. package/src/components/PrimaryButton.tsx +214 -0
  544. package/src/components/SignInMatchAnimation.tsx +225 -0
  545. package/src/components/SignInStep.tsx +217 -0
  546. package/src/components/TrainingModal.tsx +1047 -737
  547. package/src/components/UniversalOnboarding.tsx +2888 -1820
  548. package/src/components/VerificationStep.tsx +198 -0
  549. package/src/components/WelcomeScreen.tsx +473 -0
  550. package/src/components/icons/Basicproficon.tsx +30 -0
  551. package/src/components/icons/Basicprofile.tsx +17 -0
  552. package/src/components/icons/Checkbox.tsx +17 -0
  553. package/src/components/icons/Checkmark.tsx +24 -0
  554. package/src/components/icons/Contentanalysis.tsx +17 -0
  555. package/src/components/icons/Contenticon.tsx +30 -0
  556. package/src/components/icons/EnochE.tsx +39 -0
  557. package/src/components/icons/Personalityicon.tsx +22 -0
  558. package/src/components/icons/Personalityprofile.tsx +17 -0
  559. package/src/components/icons/Personalitytraits.tsx +17 -0
  560. package/src/components/icons/Userpreferences.tsx +17 -0
  561. package/src/components/icons/index.ts +12 -0
  562. package/src/components/onboarding/OAuthWebView.tsx +232 -838
  563. package/src/config/api.ts +25 -0
  564. package/src/context/AuthContext.tsx +393 -0
  565. package/src/hooks/useConnectedAccounts.ts +139 -0
  566. package/src/hooks/useConnections.ts +129 -131
  567. package/src/hooks/useUserConnections.ts +166 -0
  568. package/src/index.ts +94 -49
  569. package/src/services/apiClient.ts +337 -0
  570. package/src/services/apiKeyService.ts +9 -11
  571. package/src/services/authService.ts +1008 -0
  572. package/src/services/biometricPinService.ts +193 -0
  573. package/src/services/connectedAccountsService.ts +290 -0
  574. package/src/services/googleAuthService.ts +279 -0
  575. package/src/services/imageCompressionService.ts +303 -0
  576. package/src/services/jwtStorageService.ts +257 -0
  577. package/src/services/mobileTrainingService.ts +204 -0
  578. package/src/services/pinEncryptionService.ts +76 -0
  579. package/src/services/pinStorageUtils.ts +97 -0
  580. package/src/services/platformAuthService.ts +1346 -1113
  581. package/src/services/storageService.ts +452 -0
  582. package/src/services/trainingApiHelpers.ts +67 -0
  583. package/src/services/userConnectionsService.ts +557 -0
  584. package/src/services/youtubeMigrationService.ts +454 -0
  585. package/src/theme/index.ts +239 -0
  586. package/src/types/index.ts +265 -238
  587. package/src/utils/eventUtils.ts +303 -0
  588. package/src/utils/haptics.ts +59 -0
  589. package/src/utils/imagePreloader.ts +2 -0
  590. package/lib/commonjs/assets/images/email.png +0 -0
  591. package/lib/commonjs/assets/images/linkedin.png +0 -0
  592. package/lib/commonjs/assets/images/reddit.png +0 -0
  593. package/lib/commonjs/assets/images/youtube.png +0 -0
  594. package/lib/commonjs/components/UniversalOnboarding.tsx.new +0 -455
  595. package/lib/module/assets/images/email.png +0 -0
  596. package/lib/module/assets/images/linkedin.png +0 -0
  597. package/lib/module/assets/images/reddit.png +0 -0
  598. package/lib/module/assets/images/youtube.png +0 -0
  599. package/lib/module/components/UniversalOnboarding.tsx.new +0 -455
  600. package/src/assets/images/email.png +0 -0
  601. package/src/assets/images/linkedin.png +0 -0
  602. package/src/assets/images/reddit.png +0 -0
  603. package/src/assets/images/youtube.png +0 -0
  604. package/src/components/UniversalOnboarding.tsx.new +0 -455
@@ -0,0 +1,476 @@
1
+ import { getAuthToken, getUserProfile, ensureAuthentication } from './authService';
2
+ import AsyncStorage from '@react-native-async-storage/async-storage';
3
+ import { compressProfilePicture } from './imageCompressionService';
4
+ import { API_CONFIG, getAuthHeaders } from '../config/api';
5
+
6
+ /**
7
+ * Get user identifier (ID or username) using multiple fallback methods
8
+ * Backend now supports both user IDs and usernames for profile picture uploads
9
+ * @returns Promise<string | null>
10
+ */
11
+ const getUserIdWithFallbacks = async () => {
12
+ try {
13
+ console.log('🔍 [USER ID] Attempting to get user identifier with multiple methods...');
14
+
15
+ // Method 1: Try getUserProfile first
16
+ try {
17
+ const userProfile = await getUserProfile();
18
+ if (userProfile !== null && userProfile !== void 0 && userProfile.id && userProfile.id !== 'fallback_user') {
19
+ console.log('✅ [USER ID] Got user ID from getUserProfile:', userProfile.id);
20
+ return userProfile.id;
21
+ } else {
22
+ console.warn('⚠️ [USER ID] getUserProfile returned invalid/fallback ID:', userProfile === null || userProfile === void 0 ? void 0 : userProfile.id);
23
+ }
24
+ } catch (error) {
25
+ console.warn('⚠️ [USER ID] getUserProfile failed:', error);
26
+ }
27
+
28
+ // Method 2: Check AsyncStorage for stored user ID (but validate it)
29
+ const storedUserId = await AsyncStorage.getItem('user_id');
30
+ if (storedUserId && storedUserId !== 'marker' && storedUserId !== 'fallback_user' && storedUserId.length > 10) {
31
+ console.log('✅ [USER ID] Got user ID from AsyncStorage:', storedUserId);
32
+ return storedUserId;
33
+ } else if (storedUserId) {
34
+ console.warn('⚠️ [USER ID] Invalid stored user ID found:', storedUserId);
35
+ }
36
+
37
+ // Method 3: Try stored username (backend now supports usernames!)
38
+ const storedUsername = await AsyncStorage.getItem('onairos_username');
39
+ if (storedUsername && storedUsername.length > 2 && storedUsername !== 'marker') {
40
+ console.log('✅ [USER ID] Got username from AsyncStorage (backend supports usernames):', storedUsername);
41
+ return storedUsername;
42
+ } else if (storedUsername) {
43
+ console.warn('⚠️ [USER ID] Invalid stored username found:', storedUsername);
44
+ }
45
+
46
+ // Method 4: Try stored email as username fallback
47
+ const storedEmail = await AsyncStorage.getItem('user_email');
48
+ if (storedEmail && storedEmail.includes('@') && storedEmail.length > 5) {
49
+ console.log('✅ [USER ID] Got email from AsyncStorage (backend supports usernames):', storedEmail);
50
+ return storedEmail;
51
+ } else if (storedEmail) {
52
+ console.warn('⚠️ [USER ID] Invalid stored email found:', storedEmail);
53
+ }
54
+
55
+ // Method 5: Check JWT token for user info (but don't decode, just log)
56
+ try {
57
+ const token = await getAuthToken();
58
+ if (token && token.split('.').length === 3) {
59
+ console.log('🔍 [USER ID] JWT token found but no local user identifier - backend should handle via token');
60
+ // Don't try to decode JWT here - let the backend handle it
61
+ }
62
+ } catch (error) {
63
+ console.warn('⚠️ [USER ID] JWT token access failed:', error);
64
+ }
65
+ console.error('❌ [USER ID] No valid user identifier found');
66
+ return null;
67
+ } catch (error) {
68
+ console.error('❌ [USER ID] Error getting user identifier:', error);
69
+ return null;
70
+ }
71
+ };
72
+
73
+ // Import images for fallback connections
74
+ const samImage = require('../assets/images/persona1.png');
75
+ const anandImage = require('../assets/images/persona2.png');
76
+ const chrisImage = require('../assets/images/persona3.png');
77
+ const katieImage = require('../assets/images/persona4.png');
78
+ const yanniImage = require('../assets/images/persona5.png');
79
+ const API_BASE_URL = API_CONFIG.BASE_URL;
80
+
81
+ // Interface for API connection response - updated to match actual backend format
82
+
83
+ // Interface for API response
84
+
85
+ // Interface for the transformed connection used by UI
86
+
87
+ /**
88
+ * Transform API connection to UI connection format
89
+ */
90
+ const transformAPIConnection = apiConnection => {
91
+ var _apiConnection$photo, _apiConnection$mutual;
92
+ console.log('🔄 Transforming API connection:', {
93
+ id: apiConnection.id,
94
+ name: apiConnection.name,
95
+ description: apiConnection.description,
96
+ hasPhoto: !!apiConnection.photo,
97
+ photoLength: (_apiConnection$photo = apiConnection.photo) === null || _apiConnection$photo === void 0 ? void 0 : _apiConnection$photo.length,
98
+ interests: apiConnection.interests,
99
+ sharedPassions: apiConnection.sharedPassions,
100
+ complementaryQualities: apiConnection.complementaryQualities,
101
+ compatibility: apiConnection.compatibility
102
+ });
103
+ return {
104
+ id: parseInt(apiConnection.id) || parseInt(apiConnection._id || '') || Math.random() * 1000,
105
+ // Try id first, then _id, then random
106
+ name: apiConnection.name || 'Unknown User',
107
+ description: apiConnection.description || 'Looking to connect',
108
+ photo: apiConnection.photo || '',
109
+ // This will be a URL string from API, or empty string
110
+ bio: apiConnection.bio || '',
111
+ interests: apiConnection.interests || [],
112
+ mutualConnections: apiConnection.mutualConnections || 0,
113
+ compatibility: apiConnection.compatibility || 0,
114
+ conversationStarters: apiConnection.conversationStarters || ['Hi! Nice to meet you.'],
115
+ // UI REQUIRED FIELDS - These are actually rendered in ProfileDetailScreen
116
+ sharedPassions: apiConnection.sharedPassions || [],
117
+ // Don't fallback to interests since we now have separate Interests section
118
+ complementaryQualities: apiConnection.complementaryQualities || [],
119
+ meaningfulCoincidences: apiConnection.meaningfulCoincidences || [],
120
+ mutualConnectionsList: ((_apiConnection$mutual = apiConnection.mutualConnectionsList) === null || _apiConnection$mutual === void 0 ? void 0 : _apiConnection$mutual.map(mutual => ({
121
+ name: mutual.name,
122
+ photo: mutual.photo,
123
+ // URL string from API
124
+ context: mutual.context
125
+ }))) || []
126
+ };
127
+ };
128
+
129
+ /**
130
+ * Get user connections by username
131
+ * @param username - Username to fetch connections for
132
+ * @returns Promise<Connection[]>
133
+ */
134
+ export const getUserConnectionsByUsername = async username => {
135
+ try {
136
+ var _response$connections, _response$connections2;
137
+ console.log('🔍 Fetching connections for username:', username);
138
+ const token = await getAuthToken();
139
+
140
+ // Enhanced token validation and warning
141
+ if (!token) {
142
+ console.warn('⚠️ [CONNECTIONS API] No authentication token available for connections request');
143
+ console.warn('⚠️ [CONNECTIONS API] This may result in limited or cached data from backend');
144
+ return []; // Return empty array instead of making unauthenticated request
145
+ }
146
+ console.log('✅ [CONNECTIONS API] Using authenticated request with token:', `${token.substring(0, 20)}...`);
147
+
148
+ // Use the same pattern as other working APIs - import and call with token
149
+ // const { getUserConnectionsByUsername: apiCall } = await import('../../services/api'); // Commented out - path issue
150
+ const response = {
151
+ success: false,
152
+ message: 'API function not available',
153
+ connections: [],
154
+ source: 'mock'
155
+ };
156
+ console.log('✅ API connections fetched by username:', {
157
+ success: response.success,
158
+ connectionsCount: ((_response$connections = response.connections) === null || _response$connections === void 0 ? void 0 : _response$connections.length) || 0,
159
+ source: response.source,
160
+ firstConnection: (_response$connections2 = response.connections) !== null && _response$connections2 !== void 0 && _response$connections2[0] ? {
161
+ id: response.connections[0].id,
162
+ name: response.connections[0].name,
163
+ description: response.connections[0].description
164
+ } : null
165
+ });
166
+ if (response.success && response.connections && response.connections.length > 0) {
167
+ const transformedConnections = response.connections.map(transformAPIConnection);
168
+ console.log('🔄 Transformed connections by username:', transformedConnections.length);
169
+ return transformedConnections;
170
+ }
171
+ return [];
172
+ } catch (error) {
173
+ console.log('❌ Error fetching connections by username:', error);
174
+ console.log('❌ [NETWORK ERROR] Full error details:', JSON.stringify(error, Object.getOwnPropertyNames(error)));
175
+ return [];
176
+ }
177
+ };
178
+
179
+ /**
180
+ * Get user connections by user ID
181
+ * @param userId - User ID to fetch connections for
182
+ * @returns Promise<Connection[]>
183
+ */
184
+ export const getUserConnectionsByUserId = async userId => {
185
+ try {
186
+ var _response$connections3, _response$connections4;
187
+ console.log('🔍 Fetching connections for userId:', userId);
188
+ const token = await getAuthToken();
189
+ if (!token) {
190
+ console.warn('⚠️ [CONNECTIONS API] No authentication token available for user ID connections request');
191
+ return []; // Return empty array instead of making unauthenticated request
192
+ }
193
+ console.log('✅ [CONNECTIONS API] Using authenticated request with token:', `${token.substring(0, 20)}...`);
194
+
195
+ // Use the same pattern as other working APIs - import and call with token
196
+ // const { getUserConnections: apiCall } = await import('../../services/api'); // Commented out - path issue
197
+ const response = {
198
+ success: false,
199
+ message: 'API function not available',
200
+ connections: [],
201
+ source: 'mock'
202
+ };
203
+ console.log('✅ API connections fetched by userId:', {
204
+ success: response.success,
205
+ connectionsCount: ((_response$connections3 = response.connections) === null || _response$connections3 === void 0 ? void 0 : _response$connections3.length) || 0,
206
+ source: response.source,
207
+ firstConnection: (_response$connections4 = response.connections) !== null && _response$connections4 !== void 0 && _response$connections4[0] ? {
208
+ id: response.connections[0].id,
209
+ name: response.connections[0].name,
210
+ description: response.connections[0].description
211
+ } : null
212
+ });
213
+ if (response.success && response.connections && response.connections.length > 0) {
214
+ const transformedConnections = response.connections.map(transformAPIConnection);
215
+ console.log('🔄 Transformed connections by userId:', transformedConnections.length);
216
+ return transformedConnections;
217
+ }
218
+ return [];
219
+ } catch (error) {
220
+ console.log('❌ Error fetching connections by userId:', error);
221
+ console.log('❌ [NETWORK ERROR FALLBACK] Full error details:', JSON.stringify(error, Object.getOwnPropertyNames(error)));
222
+ return [];
223
+ }
224
+ };
225
+
226
+ /**
227
+ * Get user connections with automatic detection of user info
228
+ * PRIORITIZES the working email/username endpoint over the failing user ID endpoint
229
+ * @returns Promise<Connection[]>
230
+ */
231
+ export const getUserConnections = async () => {
232
+ try {
233
+ // ENHANCED DEBUG: Check authentication status first
234
+ await ensureAuthentication('USER_CONNECTIONS');
235
+
236
+ // ENHANCED DEBUG: Check what user data we actually have available
237
+ console.log('🔍 [USER DEBUG] Checking all available user data sources...');
238
+
239
+ // Check AsyncStorage for user data
240
+ const storedUsername = await AsyncStorage.getItem('onairos_username');
241
+ const storedEmail = await AsyncStorage.getItem('user_email');
242
+ const storedUserId = await AsyncStorage.getItem('user_id');
243
+ const authToken = await AsyncStorage.getItem('auth_token');
244
+ console.log('🔍 [USER DEBUG] AsyncStorage data:', {
245
+ storedUsername,
246
+ storedEmail,
247
+ storedUserId,
248
+ hasAuthToken: !!authToken,
249
+ authTokenPreview: authToken ? `${authToken.substring(0, 20)}...` : 'none'
250
+ });
251
+
252
+ // First try to get user profile to determine username/userId
253
+ const userProfile = await getUserProfile();
254
+ console.log('🎯 getUserConnections - User profile:', {
255
+ hasId: !!(userProfile !== null && userProfile !== void 0 && userProfile.id),
256
+ hasEmail: !!(userProfile !== null && userProfile !== void 0 && userProfile.email),
257
+ email: userProfile === null || userProfile === void 0 ? void 0 : userProfile.email,
258
+ id: userProfile === null || userProfile === void 0 ? void 0 : userProfile.id
259
+ });
260
+
261
+ // FALLBACK: If getUserProfile fails, try to use stored data directly
262
+ let userEmail = userProfile === null || userProfile === void 0 ? void 0 : userProfile.email;
263
+ let userId = userProfile === null || userProfile === void 0 ? void 0 : userProfile.id;
264
+ if (!userEmail && storedUsername) {
265
+ console.log('🔄 [USER DEBUG] Using stored username as email fallback:', storedUsername);
266
+ userEmail = storedUsername;
267
+ }
268
+ if (!userEmail && storedEmail) {
269
+ console.log('🔄 [USER DEBUG] Using stored email as fallback:', storedEmail);
270
+ userEmail = storedEmail;
271
+ }
272
+ if (!userId && storedUserId) {
273
+ console.log('🔄 [USER DEBUG] Using stored user ID as fallback:', storedUserId);
274
+ userId = storedUserId;
275
+ }
276
+ console.log('🎯 [USER DEBUG] Final user identifiers to use:', {
277
+ userEmail,
278
+ userId,
279
+ willTryEmail: !!userEmail,
280
+ willTryUserId: !!userId
281
+ });
282
+
283
+ // PRIORITY 1: Try by email/username first (this endpoint is working!)
284
+ if (userEmail) {
285
+ console.log('🎯 PRIORITY: Attempting to fetch connections by email (working endpoint):', userEmail);
286
+ const connections = await getUserConnectionsByUsername(userEmail);
287
+ if (connections.length > 0) {
288
+ console.log('✅ Successfully got connections by email:', connections.length);
289
+ return connections;
290
+ }
291
+ console.log('⚠️ No connections found by email, trying user ID...');
292
+ }
293
+
294
+ // PRIORITY 2: Try by user ID only if email fails (this endpoint has ObjectId issues)
295
+ if (userId) {
296
+ console.log('🎯 FALLBACK: Attempting to fetch connections by user ID:', userId);
297
+ const connections = await getUserConnectionsByUserId(userId);
298
+ if (connections.length > 0) {
299
+ console.log('✅ Successfully got connections by user ID:', connections.length);
300
+ return connections;
301
+ }
302
+ console.log('⚠️ No connections found by user ID');
303
+ }
304
+ console.log('⚠️ No user identifier available or no connections found');
305
+ return [];
306
+ } catch (error) {
307
+ console.log('❌ Error in getUserConnections:', error);
308
+ return [];
309
+ }
310
+ };
311
+
312
+ /**
313
+ * Upload profile picture using base64 data with compression
314
+ * The backend identifies the user from the JWT token, no need for user ID in URL
315
+ * @param imageUri - Image URI (file:// or base64)
316
+ * @param fileType - File type (jpg, png) - optional, will be extracted from imageUri if not provided
317
+ * @returns Promise<{ success: boolean; photoUrl?: string; error?: string }>
318
+ */
319
+ export const uploadProfilePicture = async (imageUri, fileType) => {
320
+ try {
321
+ console.log('🔍 [UPLOAD] Starting profile picture upload process...');
322
+ console.log('🔍 [UPLOAD] Input parameters:', {
323
+ imageUri: imageUri.substring(0, 100) + '...',
324
+ // Show first 100 chars
325
+ imageUriLength: imageUri.length,
326
+ providedFileType: fileType,
327
+ isFileUri: imageUri.startsWith('file://'),
328
+ isHttpUri: imageUri.startsWith('http'),
329
+ isBase64: !imageUri.startsWith('file://') && !imageUri.startsWith('http')
330
+ });
331
+ const token = await getAuthToken();
332
+ if (!token) {
333
+ console.error('❌ [UPLOAD] No authentication token available');
334
+ throw new Error('No authentication token available');
335
+ }
336
+ console.log('✅ [UPLOAD] Authentication token found:', `${token.substring(0, 20)}...`);
337
+
338
+ // Log token details for debugging
339
+ console.log('🔍 [UPLOAD] Token details:', {
340
+ tokenLength: token.length,
341
+ tokenPreview: `${token.substring(0, 20)}...`,
342
+ hasBearer: token.startsWith('eyJ'),
343
+ isJWT: token.split('.').length === 3
344
+ });
345
+ let imageData;
346
+ let finalFileType;
347
+
348
+ // Extract file type from imageUri if not provided
349
+ if (!fileType) {
350
+ if (imageUri.startsWith('file://') || imageUri.startsWith('http')) {
351
+ // Extract file extension from file path or URL
352
+ const urlParts = imageUri.split('.');
353
+ const extension = urlParts[urlParts.length - 1].toLowerCase();
354
+
355
+ // Handle common image extensions
356
+ if (['jpg', 'jpeg', 'png', 'gif', 'webp'].includes(extension)) {
357
+ finalFileType = extension === 'jpeg' ? 'jpg' : extension;
358
+ } else {
359
+ finalFileType = 'jpg'; // Default fallback
360
+ }
361
+ console.log('🔍 [UPLOAD] Extracted file type from URI:', finalFileType, 'from', imageUri.substring(0, 100));
362
+ } else {
363
+ finalFileType = 'jpg'; // Default for base64 data
364
+ console.log('🔍 [UPLOAD] Using default file type for base64 data:', finalFileType);
365
+ }
366
+ } else {
367
+ // Clean up provided file type
368
+ finalFileType = fileType.toLowerCase().replace('.', '');
369
+ console.log('🔍 [UPLOAD] Using provided file type:', finalFileType);
370
+ }
371
+
372
+ // Prepare image data
373
+ if (!imageUri.startsWith('file://') && !imageUri.startsWith('http')) {
374
+ // Assume it's already base64 data
375
+ console.log('📸 [UPLOAD] Using provided base64 data');
376
+
377
+ // Validate that it looks like base64 image data
378
+ if (imageUri.length < 100 || !/^[A-Za-z0-9+/]/.test(imageUri)) {
379
+ console.error('❌ [UPLOAD] Invalid base64 data detected:', {
380
+ length: imageUri.length,
381
+ preview: imageUri.substring(0, 50),
382
+ looksLikeBase64: /^[A-Za-z0-9+/]/.test(imageUri)
383
+ });
384
+ throw new Error('Invalid image data provided - expected base64 encoded image');
385
+ }
386
+ imageData = imageUri;
387
+ } else {
388
+ var _compressedResult$com;
389
+ // It's a file URI, need to compress and convert to base64
390
+ console.log('📸 [UPLOAD] Converting file URI to base64...');
391
+ const compressedResult = await compressProfilePicture(imageUri);
392
+
393
+ // Check if compression was successful
394
+ if (!compressedResult.success || !compressedResult.base64) {
395
+ console.error('❌ [UPLOAD] Image compression failed:', compressedResult.error);
396
+ throw new Error(compressedResult.error || 'Failed to compress image');
397
+ }
398
+ console.log(`✅ [UPLOAD] Image compressed: ${compressedResult.sizeKB}KB (${(_compressedResult$com = compressedResult.compressionRatio) === null || _compressedResult$com === void 0 ? void 0 : _compressedResult$com.toFixed(2)}x compression)`);
399
+ imageData = compressedResult.base64;
400
+ }
401
+
402
+ // Final validation of image data and file type
403
+ console.log('🔍 [UPLOAD] Final upload data:', {
404
+ imageDataLength: imageData.length,
405
+ imageDataPreview: imageData.substring(0, 50) + '...',
406
+ fileType: finalFileType,
407
+ isValidBase64: /^[A-Za-z0-9+/]/.test(imageData),
408
+ hasValidLength: imageData.length > 1000 // Should be substantial for an image
409
+ });
410
+
411
+ // Now try to upload using the correct backend endpoint
412
+ console.log('📤 [UPLOAD] Trying user-specific profile picture endpoint (backend supports usernames)...');
413
+
414
+ // Get the user identifier (could be username or user ID - backend now supports both)
415
+ const userIdentifier = await getUserIdWithFallbacks();
416
+ if (!userIdentifier) {
417
+ console.error('❌ [UPLOAD] Cannot determine user identifier');
418
+ throw new Error('Unable to determine user identifier - please ensure you are logged in properly');
419
+ }
420
+ console.log('📸 [UPLOAD] Uploading profile picture for user identifier:', userIdentifier);
421
+ const response = await fetch(`${API_BASE_URL}/enoch/users/${userIdentifier}/profile-picture/base64`, {
422
+ method: 'POST',
423
+ headers: getAuthHeaders(token),
424
+ body: JSON.stringify({
425
+ imageData,
426
+ fileType: finalFileType
427
+ })
428
+ });
429
+ const responseData = await response.json();
430
+ console.log('📡 [UPLOAD] Backend response:', {
431
+ status: response.status,
432
+ success: responseData.success,
433
+ photoUrl: responseData.photoUrl,
434
+ error: responseData.error,
435
+ userIdentifier: userIdentifier
436
+ });
437
+ if (response.ok && responseData.success) {
438
+ console.log('✅ [UPLOAD] Profile picture uploaded successfully');
439
+ return {
440
+ success: true,
441
+ photoUrl: responseData.photoUrl || responseData.url
442
+ };
443
+ } else {
444
+ console.error('❌ [UPLOAD] Profile picture upload failed:', responseData.error || 'Unknown error');
445
+
446
+ // Enhanced error logging for debugging
447
+ if (response.status === 403) {
448
+ console.error('🚫 [UPLOAD] 403 Forbidden - Authentication issue detected');
449
+ console.error('🔍 [UPLOAD] Debug info:', {
450
+ userIdentifier: userIdentifier,
451
+ tokenPreview: `${token.substring(0, 20)}...`,
452
+ tokenLength: token.length,
453
+ responseError: responseData.error
454
+ });
455
+ } else if (response.status === 400) {
456
+ console.error('🚫 [UPLOAD] 400 Bad Request - Data format issue detected');
457
+ console.error('🔍 [UPLOAD] Debug info:', {
458
+ imageDataLength: imageData.length,
459
+ fileType: finalFileType,
460
+ responseError: responseData.error
461
+ });
462
+ }
463
+ return {
464
+ success: false,
465
+ error: responseData.error || `HTTP ${response.status}: ${response.statusText}`
466
+ };
467
+ }
468
+ } catch (error) {
469
+ console.error('❌ [UPLOAD] Error uploading profile picture:', error);
470
+ return {
471
+ success: false,
472
+ error: error instanceof Error ? error.message : 'Unknown error occurred'
473
+ };
474
+ }
475
+ };
476
+ //# sourceMappingURL=userConnectionsService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getAuthToken","getUserProfile","ensureAuthentication","AsyncStorage","compressProfilePicture","API_CONFIG","getAuthHeaders","getUserIdWithFallbacks","console","log","userProfile","id","warn","error","storedUserId","getItem","length","storedUsername","storedEmail","includes","token","split","samImage","require","anandImage","chrisImage","katieImage","yanniImage","API_BASE_URL","BASE_URL","transformAPIConnection","apiConnection","_apiConnection$photo","_apiConnection$mutual","name","description","hasPhoto","photo","photoLength","interests","sharedPassions","complementaryQualities","compatibility","parseInt","_id","Math","random","bio","mutualConnections","conversationStarters","meaningfulCoincidences","mutualConnectionsList","map","mutual","context","getUserConnectionsByUsername","username","_response$connections","_response$connections2","substring","response","success","message","connections","source","connectionsCount","firstConnection","transformedConnections","JSON","stringify","Object","getOwnPropertyNames","getUserConnectionsByUserId","userId","_response$connections3","_response$connections4","getUserConnections","authToken","hasAuthToken","authTokenPreview","hasId","hasEmail","email","userEmail","willTryEmail","willTryUserId","uploadProfilePicture","imageUri","fileType","imageUriLength","providedFileType","isFileUri","startsWith","isHttpUri","isBase64","Error","tokenLength","tokenPreview","hasBearer","isJWT","imageData","finalFileType","urlParts","extension","toLowerCase","replace","test","preview","looksLikeBase64","_compressedResult$com","compressedResult","base64","sizeKB","compressionRatio","toFixed","imageDataLength","imageDataPreview","isValidBase64","hasValidLength","userIdentifier","fetch","method","headers","body","responseData","json","status","photoUrl","ok","url","responseError","statusText"],"sourceRoot":"..\\..\\..\\src","sources":["services/userConnectionsService.ts"],"mappings":"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","ignoreList":[]}