@onairos/react-native 3.1.18 → 3.2.1

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 (734) hide show
  1. package/README.md +374 -403
  2. package/lib/commonjs/api/index.js +1 -75
  3. package/lib/commonjs/api/index.js.map +1 -1
  4. package/lib/commonjs/assets/images/email.png +0 -0
  5. package/lib/commonjs/assets/images/linkedin.png +0 -0
  6. package/lib/commonjs/assets/images/reddit.png +0 -0
  7. package/lib/commonjs/assets/images/youtube.png +0 -0
  8. package/lib/commonjs/components/DataRequestModal.js.map +1 -1
  9. package/lib/commonjs/components/DataRequestScreen.js.map +1 -1
  10. package/lib/commonjs/components/EmailVerificationModal.js.map +1 -1
  11. package/lib/commonjs/components/Onairos.js +3 -1
  12. package/lib/commonjs/components/Onairos.js.map +1 -1
  13. package/lib/commonjs/components/OnairosButton.js +190 -171
  14. package/lib/commonjs/components/OnairosButton.js.map +1 -1
  15. package/lib/commonjs/components/Overlay.js +5 -5
  16. package/lib/commonjs/components/Overlay.js.map +1 -1
  17. package/lib/commonjs/components/PinInput.js +120 -282
  18. package/lib/commonjs/components/PinInput.js.map +1 -1
  19. package/lib/commonjs/components/PlatformList.js.map +1 -1
  20. package/lib/commonjs/components/TrainingModal.js +563 -808
  21. package/lib/commonjs/components/TrainingModal.js.map +1 -1
  22. package/lib/commonjs/components/UniversalOnboarding.js +1296 -2302
  23. package/lib/commonjs/components/UniversalOnboarding.js.map +1 -1
  24. package/lib/commonjs/components/UniversalOnboarding.tsx.new +455 -0
  25. package/lib/commonjs/components/onboarding/OAuthWebView.js +743 -134
  26. package/lib/commonjs/components/onboarding/OAuthWebView.js.map +1 -1
  27. package/lib/commonjs/components/onboarding/OnboardingHeader.js.map +1 -1
  28. package/lib/commonjs/components/onboarding/PinInput.js.map +1 -1
  29. package/lib/commonjs/components/onboarding/PlatformConnector.js.map +1 -1
  30. package/lib/commonjs/components/screens/ConnectorScreen.js.map +1 -1
  31. package/lib/commonjs/components/screens/LoadingScreen.js.map +1 -1
  32. package/lib/commonjs/components/screens/PinCreationScreen.js.map +1 -1
  33. package/lib/commonjs/constants/index.js.map +1 -1
  34. package/lib/commonjs/hooks/useConnections.js +125 -120
  35. package/lib/commonjs/hooks/useConnections.js.map +1 -1
  36. package/lib/commonjs/hooks/useCredentials.js.map +1 -1
  37. package/lib/commonjs/index.js +27 -157
  38. package/lib/commonjs/index.js.map +1 -1
  39. package/lib/commonjs/services/SDK_API_KEY_VALIDATION.md +428 -0
  40. package/lib/commonjs/services/apiKeyService.js +106 -105
  41. package/lib/commonjs/services/apiKeyService.js.map +1 -1
  42. package/lib/commonjs/services/oauthService.js.map +1 -1
  43. package/lib/commonjs/services/platformAuthService.js +722 -956
  44. package/lib/commonjs/services/platformAuthService.js.map +1 -1
  45. package/lib/commonjs/types/ambient.d.js.map +1 -1
  46. package/lib/commonjs/types/declarations.d.js.map +1 -1
  47. package/lib/commonjs/types/index.d.js.map +1 -1
  48. package/lib/commonjs/types/index.js.map +1 -1
  49. package/lib/commonjs/types/node-fix.d.js.map +1 -1
  50. package/lib/commonjs/types/node-override.d.js.map +1 -1
  51. package/lib/commonjs/types/opacity.d.js.map +1 -1
  52. package/lib/commonjs/types/types.d.js.map +1 -1
  53. package/lib/commonjs/types.js.map +1 -1
  54. package/lib/commonjs/utils/Portal.js +4 -4
  55. package/lib/commonjs/utils/Portal.js.map +1 -1
  56. package/lib/commonjs/utils/api.js +24 -24
  57. package/lib/commonjs/utils/api.js.map +1 -1
  58. package/lib/commonjs/utils/auth.js +18 -18
  59. package/lib/commonjs/utils/auth.js.map +1 -1
  60. package/lib/commonjs/utils/crypto.js +13 -13
  61. package/lib/commonjs/utils/crypto.js.map +1 -1
  62. package/lib/commonjs/utils/debugHelper.js.map +1 -1
  63. package/lib/commonjs/utils/encryption.js +12 -12
  64. package/lib/commonjs/utils/encryption.js.map +1 -1
  65. package/lib/commonjs/utils/onairosApi.js.map +1 -1
  66. package/lib/commonjs/utils/programmaticFlow.js +16 -16
  67. package/lib/commonjs/utils/programmaticFlow.js.map +1 -1
  68. package/lib/commonjs/utils/retryHelper.js +27 -27
  69. package/lib/commonjs/utils/retryHelper.js.map +1 -1
  70. package/lib/commonjs/utils/secureStorage.js.map +1 -1
  71. package/lib/module/api/index.js +0 -72
  72. package/lib/module/api/index.js.map +1 -1
  73. package/lib/module/assets/images/email.png +0 -0
  74. package/lib/module/assets/images/linkedin.png +0 -0
  75. package/lib/module/assets/images/reddit.png +0 -0
  76. package/lib/module/assets/images/youtube.png +0 -0
  77. package/lib/module/components/DataRequestModal.js.map +1 -1
  78. package/lib/module/components/DataRequestScreen.js.map +1 -1
  79. package/lib/module/components/EmailVerificationModal.js.map +1 -1
  80. package/lib/module/components/Onairos.js +3 -1
  81. package/lib/module/components/Onairos.js.map +1 -1
  82. package/lib/module/components/OnairosButton.js +192 -172
  83. package/lib/module/components/OnairosButton.js.map +1 -1
  84. package/lib/module/components/Overlay.js +5 -5
  85. package/lib/module/components/Overlay.js.map +1 -1
  86. package/lib/module/components/PinInput.js +120 -283
  87. package/lib/module/components/PinInput.js.map +1 -1
  88. package/lib/module/components/PlatformList.js.map +1 -1
  89. package/lib/module/components/TrainingModal.js +565 -809
  90. package/lib/module/components/TrainingModal.js.map +1 -1
  91. package/lib/module/components/UniversalOnboarding.js +1297 -2305
  92. package/lib/module/components/UniversalOnboarding.js.map +1 -1
  93. package/lib/module/components/UniversalOnboarding.tsx.new +455 -0
  94. package/lib/module/components/onboarding/OAuthWebView.js +744 -136
  95. package/lib/module/components/onboarding/OAuthWebView.js.map +1 -1
  96. package/lib/module/components/onboarding/OnboardingHeader.js.map +1 -1
  97. package/lib/module/components/onboarding/PinInput.js.map +1 -1
  98. package/lib/module/components/onboarding/PlatformConnector.js.map +1 -1
  99. package/lib/module/components/screens/ConnectorScreen.js.map +1 -1
  100. package/lib/module/components/screens/LoadingScreen.js.map +1 -1
  101. package/lib/module/components/screens/PinCreationScreen.js.map +1 -1
  102. package/lib/module/constants/index.js.map +1 -1
  103. package/lib/module/hooks/useConnections.js +125 -119
  104. package/lib/module/hooks/useConnections.js.map +1 -1
  105. package/lib/module/hooks/useCredentials.js.map +1 -1
  106. package/lib/module/index.js +17 -55
  107. package/lib/module/index.js.map +1 -1
  108. package/lib/module/services/SDK_API_KEY_VALIDATION.md +428 -0
  109. package/lib/module/services/apiKeyService.js +106 -105
  110. package/lib/module/services/apiKeyService.js.map +1 -1
  111. package/lib/module/services/oauthService.js.map +1 -1
  112. package/lib/module/services/platformAuthService.js +704 -943
  113. package/lib/module/services/platformAuthService.js.map +1 -1
  114. package/lib/module/types/ambient.d.js.map +1 -1
  115. package/lib/module/types/declarations.d.js.map +1 -1
  116. package/lib/module/types/index.d.js.map +1 -1
  117. package/lib/module/types/index.js.map +1 -1
  118. package/lib/module/types/node-fix.d.js.map +1 -1
  119. package/lib/module/types/node-override.d.js.map +1 -1
  120. package/lib/module/types/opacity.d.js.map +1 -1
  121. package/lib/module/types/types.d.js.map +1 -1
  122. package/lib/module/types.js.map +1 -1
  123. package/lib/module/utils/Portal.js +4 -4
  124. package/lib/module/utils/Portal.js.map +1 -1
  125. package/lib/module/utils/api.js +24 -24
  126. package/lib/module/utils/api.js.map +1 -1
  127. package/lib/module/utils/auth.js +18 -18
  128. package/lib/module/utils/auth.js.map +1 -1
  129. package/lib/module/utils/crypto.js +13 -13
  130. package/lib/module/utils/crypto.js.map +1 -1
  131. package/lib/module/utils/debugHelper.js.map +1 -1
  132. package/lib/module/utils/encryption.js +12 -12
  133. package/lib/module/utils/encryption.js.map +1 -1
  134. package/lib/module/utils/onairosApi.js.map +1 -1
  135. package/lib/module/utils/programmaticFlow.js +16 -16
  136. package/lib/module/utils/programmaticFlow.js.map +1 -1
  137. package/lib/module/utils/retryHelper.js +27 -27
  138. package/lib/module/utils/retryHelper.js.map +1 -1
  139. package/lib/module/utils/secureStorage.js.map +1 -1
  140. package/lib/typescript/api/index.d.ts +7 -15
  141. package/lib/typescript/api/index.d.ts.map +1 -1
  142. package/lib/typescript/components/DataRequestModal.d.ts +10 -10
  143. package/lib/typescript/components/DataRequestScreen.d.ts +10 -10
  144. package/lib/typescript/components/EmailVerificationModal.d.ts +10 -10
  145. package/lib/typescript/components/Onairos.d.ts +3 -3
  146. package/lib/typescript/components/Onairos.d.ts.map +1 -1
  147. package/lib/typescript/components/OnairosButton.d.ts +11 -36
  148. package/lib/typescript/components/OnairosButton.d.ts.map +1 -1
  149. package/lib/typescript/components/Overlay.d.ts +3 -3
  150. package/lib/typescript/components/PinInput.d.ts +3 -13
  151. package/lib/typescript/components/PinInput.d.ts.map +1 -1
  152. package/lib/typescript/components/PlatformList.d.ts +3 -3
  153. package/lib/typescript/components/TrainingModal.d.ts +3 -14
  154. package/lib/typescript/components/TrainingModal.d.ts.map +1 -1
  155. package/lib/typescript/components/UniversalOnboarding.d.ts +3 -16
  156. package/lib/typescript/components/UniversalOnboarding.d.ts.map +1 -1
  157. package/lib/typescript/components/onboarding/OAuthWebView.d.ts +9 -9
  158. package/lib/typescript/components/onboarding/OAuthWebView.d.ts.map +1 -1
  159. package/lib/typescript/components/onboarding/OnboardingHeader.d.ts +10 -10
  160. package/lib/typescript/components/onboarding/PinInput.d.ts +3 -3
  161. package/lib/typescript/components/onboarding/PlatformConnector.d.ts +12 -12
  162. package/lib/typescript/components/screens/ConnectorScreen.d.ts +8 -8
  163. package/lib/typescript/components/screens/LoadingScreen.d.ts +8 -8
  164. package/lib/typescript/components/screens/PinCreationScreen.d.ts +9 -9
  165. package/lib/typescript/constants/index.d.ts +52 -52
  166. package/lib/typescript/hooks/useConnections.d.ts +8 -13
  167. package/lib/typescript/hooks/useConnections.d.ts.map +1 -1
  168. package/lib/typescript/hooks/useCredentials.d.ts +8 -8
  169. package/lib/typescript/index.d.ts +17 -38
  170. package/lib/typescript/index.d.ts.map +1 -1
  171. package/lib/typescript/services/apiKeyService.d.ts +131 -131
  172. package/lib/typescript/services/apiKeyService.d.ts.map +1 -1
  173. package/lib/typescript/services/oauthService.d.ts +49 -49
  174. package/lib/typescript/services/platformAuthService.d.ts +143 -68
  175. package/lib/typescript/services/platformAuthService.d.ts.map +1 -1
  176. package/lib/typescript/types/index.d.ts +228 -264
  177. package/lib/typescript/types/index.d.ts.map +1 -1
  178. package/lib/typescript/types.d.ts +268 -266
  179. package/lib/typescript/types.d.ts.map +1 -1
  180. package/lib/typescript/utils/Portal.d.ts +13 -13
  181. package/lib/typescript/utils/api.d.ts +5 -5
  182. package/lib/typescript/utils/auth.d.ts +5 -5
  183. package/lib/typescript/utils/crypto.d.ts +3 -3
  184. package/lib/typescript/utils/debugHelper.d.ts +28 -28
  185. package/lib/typescript/utils/encryption.d.ts +18 -18
  186. package/lib/typescript/utils/onairosApi.d.ts +86 -86
  187. package/lib/typescript/utils/programmaticFlow.d.ts +22 -22
  188. package/lib/typescript/utils/retryHelper.d.ts +68 -68
  189. package/lib/typescript/utils/secureStorage.d.ts +93 -93
  190. package/package.json +149 -145
  191. package/src/api/index.ts +110 -151
  192. package/src/assets/images/email.png +0 -0
  193. package/src/assets/images/linkedin.png +0 -0
  194. package/src/assets/images/reddit.png +0 -0
  195. package/src/assets/images/youtube.png +0 -0
  196. package/src/components/DataRequestScreen.tsx +355 -355
  197. package/src/components/EmailVerificationModal.tsx +363 -363
  198. package/src/components/Onairos.tsx +424 -422
  199. package/src/components/OnairosButton.tsx +359 -339
  200. package/src/components/Overlay.tsx +506 -506
  201. package/src/components/PinInput.tsx +343 -555
  202. package/src/components/PlatformList.tsx +144 -144
  203. package/src/components/TrainingModal.tsx +737 -1047
  204. package/src/components/UniversalOnboarding.tsx +1839 -2888
  205. package/src/components/UniversalOnboarding.tsx.new +455 -0
  206. package/src/components/onboarding/OAuthWebView.tsx +838 -232
  207. package/src/hooks/useConnections.ts +163 -161
  208. package/src/hooks/useCredentials.ts +174 -174
  209. package/src/index.js +14 -14
  210. package/src/index.ts +49 -99
  211. package/src/services/SDK_API_KEY_VALIDATION.md +428 -0
  212. package/src/services/apiKeyService.ts +921 -919
  213. package/src/services/platformAuthService.ts +1113 -1346
  214. package/src/types/ambient.d.ts +28 -28
  215. package/src/types/index.ts +241 -265
  216. package/src/types/node-fix.d.ts +18 -18
  217. package/src/types/node-override.d.ts +23 -23
  218. package/src/types/opacity.d.ts +15 -15
  219. package/src/types/types.d.ts +17 -17
  220. package/src/types.ts +6 -4
  221. package/src/utils/Portal.tsx +82 -82
  222. package/src/utils/api.js +111 -111
  223. package/src/utils/auth.js +103 -103
  224. package/src/utils/crypto.js +59 -59
  225. package/src/utils/encryption.ts +68 -68
  226. package/src/utils/programmaticFlow.ts +112 -112
  227. package/src/utils/retryHelper.ts +274 -274
  228. package/types/index.d.ts +213 -213
  229. package/types/node-env.d.ts +14 -14
  230. package/lib/commonjs/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  231. package/lib/commonjs/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  232. package/lib/commonjs/assets/icons/Facebookicon.png +0 -0
  233. package/lib/commonjs/assets/icons/Gmail.png +0 -0
  234. package/lib/commonjs/assets/icons/Linkedinicon.png +0 -0
  235. package/lib/commonjs/assets/icons/Redditicon.png +0 -0
  236. package/lib/commonjs/assets/icons/YouTubeicon2.png +0 -0
  237. package/lib/commonjs/assets/icons/YouTubeicon3.png +0 -0
  238. package/lib/commonjs/assets/icons/farcaster.png +0 -0
  239. package/lib/commonjs/assets/icons/instagram.png +0 -0
  240. package/lib/commonjs/assets/icons/pinterest.png +0 -0
  241. package/lib/commonjs/assets/icons/swerv_logo.png +0 -0
  242. package/lib/commonjs/assets/icons/twitter.jpg +0 -0
  243. package/lib/commonjs/assets/images/Checkbox.svg +0 -3
  244. package/lib/commonjs/assets/images/EnochE.svg +0 -19
  245. package/lib/commonjs/assets/images/Enochicon1.png +0 -0
  246. package/lib/commonjs/assets/images/Face_ID_logo.png +0 -0
  247. package/lib/commonjs/assets/images/Facebookicon.png +0 -0
  248. package/lib/commonjs/assets/images/Gmail.png +0 -0
  249. package/lib/commonjs/assets/images/Googlelogo.png +0 -0
  250. package/lib/commonjs/assets/images/Linkedinicon.png +0 -0
  251. package/lib/commonjs/assets/images/Onairoslogo.png +0 -0
  252. package/lib/commonjs/assets/images/Personalityprofile.svg +0 -3
  253. package/lib/commonjs/assets/images/Personalitytraits.svg +0 -3
  254. package/lib/commonjs/assets/images/Redditicon.png +0 -0
  255. package/lib/commonjs/assets/images/Userpreferences.svg +0 -3
  256. package/lib/commonjs/assets/images/YouTubeicon3.png +0 -0
  257. package/lib/commonjs/assets/images/arrow.svg +0 -20
  258. package/lib/commonjs/assets/images/basicproficon.svg +0 -43
  259. package/lib/commonjs/assets/images/basicprofile.svg +0 -3
  260. package/lib/commonjs/assets/images/checkmark.svg +0 -4
  261. package/lib/commonjs/assets/images/contentanalysis.svg +0 -3
  262. package/lib/commonjs/assets/images/contenticon.svg +0 -23
  263. package/lib/commonjs/assets/images/persona1.png +0 -0
  264. package/lib/commonjs/assets/images/persona2.png +0 -0
  265. package/lib/commonjs/assets/images/persona3.png +0 -0
  266. package/lib/commonjs/assets/images/persona4.png +0 -0
  267. package/lib/commonjs/assets/images/persona5.png +0 -0
  268. package/lib/commonjs/assets/images/personalityicon.svg +0 -18
  269. package/lib/commonjs/assets/images/x-close.svg +0 -3
  270. package/lib/commonjs/components/BodyText.js +0 -27
  271. package/lib/commonjs/components/BodyText.js.map +0 -1
  272. package/lib/commonjs/components/BrandMark.js +0 -44
  273. package/lib/commonjs/components/BrandMark.js.map +0 -1
  274. package/lib/commonjs/components/CodeInput.js +0 -30
  275. package/lib/commonjs/components/CodeInput.js.map +0 -1
  276. package/lib/commonjs/components/EmailInput.js +0 -30
  277. package/lib/commonjs/components/EmailInput.js.map +0 -1
  278. package/lib/commonjs/components/ExistingUserDataConfirmation.js +0 -474
  279. package/lib/commonjs/components/ExistingUserDataConfirmation.js.map +0 -1
  280. package/lib/commonjs/components/GoogleButton.js +0 -55
  281. package/lib/commonjs/components/GoogleButton.js.map +0 -1
  282. package/lib/commonjs/components/HeadingGroup.js +0 -43
  283. package/lib/commonjs/components/HeadingGroup.js.map +0 -1
  284. package/lib/commonjs/components/ModalHeader.js +0 -99
  285. package/lib/commonjs/components/ModalHeader.js.map +0 -1
  286. package/lib/commonjs/components/ModalSheet.js +0 -47
  287. package/lib/commonjs/components/ModalSheet.js.map +0 -1
  288. package/lib/commonjs/components/OnairosSignInButton.js +0 -129
  289. package/lib/commonjs/components/OnairosSignInButton.js.map +0 -1
  290. package/lib/commonjs/components/PersonaImage.js +0 -60
  291. package/lib/commonjs/components/PersonaImage.js.map +0 -1
  292. package/lib/commonjs/components/PersonaLoadingScreen.js +0 -156
  293. package/lib/commonjs/components/PersonaLoadingScreen.js.map +0 -1
  294. package/lib/commonjs/components/PersonalizationConsentScreen.js +0 -316
  295. package/lib/commonjs/components/PersonalizationConsentScreen.js.map +0 -1
  296. package/lib/commonjs/components/PinCreationScreen.js +0 -393
  297. package/lib/commonjs/components/PinCreationScreen.js.map +0 -1
  298. package/lib/commonjs/components/PlatformConnectorsStep.js +0 -828
  299. package/lib/commonjs/components/PlatformConnectorsStep.js.map +0 -1
  300. package/lib/commonjs/components/PlatformToggle.js +0 -180
  301. package/lib/commonjs/components/PlatformToggle.js.map +0 -1
  302. package/lib/commonjs/components/PrimaryButton.js +0 -180
  303. package/lib/commonjs/components/PrimaryButton.js.map +0 -1
  304. package/lib/commonjs/components/SignInMatchAnimation.js +0 -197
  305. package/lib/commonjs/components/SignInMatchAnimation.js.map +0 -1
  306. package/lib/commonjs/components/SignInStep.js +0 -179
  307. package/lib/commonjs/components/SignInStep.js.map +0 -1
  308. package/lib/commonjs/components/VerificationStep.js +0 -154
  309. package/lib/commonjs/components/VerificationStep.js.map +0 -1
  310. package/lib/commonjs/components/WelcomeScreen.js +0 -401
  311. package/lib/commonjs/components/WelcomeScreen.js.map +0 -1
  312. package/lib/commonjs/components/icons/Basicproficon.js +0 -37
  313. package/lib/commonjs/components/icons/Basicproficon.js.map +0 -1
  314. package/lib/commonjs/components/icons/Basicprofile.js +0 -21
  315. package/lib/commonjs/components/icons/Basicprofile.js.map +0 -1
  316. package/lib/commonjs/components/icons/Checkbox.js +0 -21
  317. package/lib/commonjs/components/icons/Checkbox.js.map +0 -1
  318. package/lib/commonjs/components/icons/Checkmark.js +0 -27
  319. package/lib/commonjs/components/icons/Checkmark.js.map +0 -1
  320. package/lib/commonjs/components/icons/Contentanalysis.js +0 -21
  321. package/lib/commonjs/components/icons/Contentanalysis.js.map +0 -1
  322. package/lib/commonjs/components/icons/Contenticon.js +0 -39
  323. package/lib/commonjs/components/icons/Contenticon.js.map +0 -1
  324. package/lib/commonjs/components/icons/EnochE.js +0 -41
  325. package/lib/commonjs/components/icons/EnochE.js.map +0 -1
  326. package/lib/commonjs/components/icons/Personalityicon.js +0 -30
  327. package/lib/commonjs/components/icons/Personalityicon.js.map +0 -1
  328. package/lib/commonjs/components/icons/Personalityprofile.js +0 -21
  329. package/lib/commonjs/components/icons/Personalityprofile.js.map +0 -1
  330. package/lib/commonjs/components/icons/Personalitytraits.js +0 -21
  331. package/lib/commonjs/components/icons/Personalitytraits.js.map +0 -1
  332. package/lib/commonjs/components/icons/Userpreferences.js +0 -21
  333. package/lib/commonjs/components/icons/Userpreferences.js.map +0 -1
  334. package/lib/commonjs/components/icons/index.js +0 -84
  335. package/lib/commonjs/components/icons/index.js.map +0 -1
  336. package/lib/commonjs/config/api.js +0 -34
  337. package/lib/commonjs/config/api.js.map +0 -1
  338. package/lib/commonjs/context/AuthContext.js +0 -345
  339. package/lib/commonjs/context/AuthContext.js.map +0 -1
  340. package/lib/commonjs/hooks/useConnectedAccounts.js +0 -111
  341. package/lib/commonjs/hooks/useConnectedAccounts.js.map +0 -1
  342. package/lib/commonjs/hooks/useUserConnections.js +0 -148
  343. package/lib/commonjs/hooks/useUserConnections.js.map +0 -1
  344. package/lib/commonjs/services/apiClient.js +0 -302
  345. package/lib/commonjs/services/apiClient.js.map +0 -1
  346. package/lib/commonjs/services/authService.js +0 -935
  347. package/lib/commonjs/services/authService.js.map +0 -1
  348. package/lib/commonjs/services/biometricPinService.js +0 -184
  349. package/lib/commonjs/services/biometricPinService.js.map +0 -1
  350. package/lib/commonjs/services/connectedAccountsService.js +0 -268
  351. package/lib/commonjs/services/connectedAccountsService.js.map +0 -1
  352. package/lib/commonjs/services/googleAuthService.js +0 -268
  353. package/lib/commonjs/services/googleAuthService.js.map +0 -1
  354. package/lib/commonjs/services/imageCompressionService.js +0 -260
  355. package/lib/commonjs/services/imageCompressionService.js.map +0 -1
  356. package/lib/commonjs/services/jwtStorageService.js +0 -256
  357. package/lib/commonjs/services/jwtStorageService.js.map +0 -1
  358. package/lib/commonjs/services/mobileTrainingService.js +0 -185
  359. package/lib/commonjs/services/mobileTrainingService.js.map +0 -1
  360. package/lib/commonjs/services/pinEncryptionService.js +0 -84
  361. package/lib/commonjs/services/pinEncryptionService.js.map +0 -1
  362. package/lib/commonjs/services/pinStorageUtils.js +0 -105
  363. package/lib/commonjs/services/pinStorageUtils.js.map +0 -1
  364. package/lib/commonjs/services/storageService.js +0 -404
  365. package/lib/commonjs/services/storageService.js.map +0 -1
  366. package/lib/commonjs/services/trainingApiHelpers.js +0 -73
  367. package/lib/commonjs/services/trainingApiHelpers.js.map +0 -1
  368. package/lib/commonjs/services/userConnectionsService.js +0 -486
  369. package/lib/commonjs/services/userConnectionsService.js.map +0 -1
  370. package/lib/commonjs/services/youtubeMigrationService.js +0 -415
  371. package/lib/commonjs/services/youtubeMigrationService.js.map +0 -1
  372. package/lib/commonjs/theme/index.js +0 -249
  373. package/lib/commonjs/theme/index.js.map +0 -1
  374. package/lib/commonjs/utils/eventUtils.js +0 -288
  375. package/lib/commonjs/utils/eventUtils.js.map +0 -1
  376. package/lib/commonjs/utils/haptics.js +0 -66
  377. package/lib/commonjs/utils/haptics.js.map +0 -1
  378. package/lib/commonjs/utils/imagePreloader.js +0 -6
  379. package/lib/commonjs/utils/imagePreloader.js.map +0 -1
  380. package/lib/module/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  381. package/lib/module/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  382. package/lib/module/assets/icons/Facebookicon.png +0 -0
  383. package/lib/module/assets/icons/Gmail.png +0 -0
  384. package/lib/module/assets/icons/Linkedinicon.png +0 -0
  385. package/lib/module/assets/icons/Redditicon.png +0 -0
  386. package/lib/module/assets/icons/YouTubeicon2.png +0 -0
  387. package/lib/module/assets/icons/YouTubeicon3.png +0 -0
  388. package/lib/module/assets/icons/farcaster.png +0 -0
  389. package/lib/module/assets/icons/instagram.png +0 -0
  390. package/lib/module/assets/icons/pinterest.png +0 -0
  391. package/lib/module/assets/icons/swerv_logo.png +0 -0
  392. package/lib/module/assets/icons/twitter.jpg +0 -0
  393. package/lib/module/assets/images/Checkbox.svg +0 -3
  394. package/lib/module/assets/images/EnochE.svg +0 -19
  395. package/lib/module/assets/images/Enochicon1.png +0 -0
  396. package/lib/module/assets/images/Face_ID_logo.png +0 -0
  397. package/lib/module/assets/images/Facebookicon.png +0 -0
  398. package/lib/module/assets/images/Gmail.png +0 -0
  399. package/lib/module/assets/images/Googlelogo.png +0 -0
  400. package/lib/module/assets/images/Linkedinicon.png +0 -0
  401. package/lib/module/assets/images/Onairoslogo.png +0 -0
  402. package/lib/module/assets/images/Personalityprofile.svg +0 -3
  403. package/lib/module/assets/images/Personalitytraits.svg +0 -3
  404. package/lib/module/assets/images/Redditicon.png +0 -0
  405. package/lib/module/assets/images/Userpreferences.svg +0 -3
  406. package/lib/module/assets/images/YouTubeicon3.png +0 -0
  407. package/lib/module/assets/images/arrow.svg +0 -20
  408. package/lib/module/assets/images/basicproficon.svg +0 -43
  409. package/lib/module/assets/images/basicprofile.svg +0 -3
  410. package/lib/module/assets/images/checkmark.svg +0 -4
  411. package/lib/module/assets/images/contentanalysis.svg +0 -3
  412. package/lib/module/assets/images/contenticon.svg +0 -23
  413. package/lib/module/assets/images/persona1.png +0 -0
  414. package/lib/module/assets/images/persona2.png +0 -0
  415. package/lib/module/assets/images/persona3.png +0 -0
  416. package/lib/module/assets/images/persona4.png +0 -0
  417. package/lib/module/assets/images/persona5.png +0 -0
  418. package/lib/module/assets/images/personalityicon.svg +0 -18
  419. package/lib/module/assets/images/x-close.svg +0 -3
  420. package/lib/module/components/BodyText.js +0 -20
  421. package/lib/module/components/BodyText.js.map +0 -1
  422. package/lib/module/components/BrandMark.js +0 -37
  423. package/lib/module/components/BrandMark.js.map +0 -1
  424. package/lib/module/components/CodeInput.js +0 -23
  425. package/lib/module/components/CodeInput.js.map +0 -1
  426. package/lib/module/components/EmailInput.js +0 -23
  427. package/lib/module/components/EmailInput.js.map +0 -1
  428. package/lib/module/components/ExistingUserDataConfirmation.js +0 -465
  429. package/lib/module/components/ExistingUserDataConfirmation.js.map +0 -1
  430. package/lib/module/components/GoogleButton.js +0 -48
  431. package/lib/module/components/GoogleButton.js.map +0 -1
  432. package/lib/module/components/HeadingGroup.js +0 -36
  433. package/lib/module/components/HeadingGroup.js.map +0 -1
  434. package/lib/module/components/ModalHeader.js +0 -92
  435. package/lib/module/components/ModalHeader.js.map +0 -1
  436. package/lib/module/components/ModalSheet.js +0 -39
  437. package/lib/module/components/ModalSheet.js.map +0 -1
  438. package/lib/module/components/OnairosSignInButton.js +0 -120
  439. package/lib/module/components/OnairosSignInButton.js.map +0 -1
  440. package/lib/module/components/PersonaImage.js +0 -53
  441. package/lib/module/components/PersonaImage.js.map +0 -1
  442. package/lib/module/components/PersonaLoadingScreen.js +0 -148
  443. package/lib/module/components/PersonaLoadingScreen.js.map +0 -1
  444. package/lib/module/components/PersonalizationConsentScreen.js +0 -309
  445. package/lib/module/components/PersonalizationConsentScreen.js.map +0 -1
  446. package/lib/module/components/PinCreationScreen.js +0 -386
  447. package/lib/module/components/PinCreationScreen.js.map +0 -1
  448. package/lib/module/components/PlatformConnectorsStep.js +0 -820
  449. package/lib/module/components/PlatformConnectorsStep.js.map +0 -1
  450. package/lib/module/components/PlatformToggle.js +0 -173
  451. package/lib/module/components/PlatformToggle.js.map +0 -1
  452. package/lib/module/components/PrimaryButton.js +0 -172
  453. package/lib/module/components/PrimaryButton.js.map +0 -1
  454. package/lib/module/components/SignInMatchAnimation.js +0 -189
  455. package/lib/module/components/SignInMatchAnimation.js.map +0 -1
  456. package/lib/module/components/SignInStep.js +0 -171
  457. package/lib/module/components/SignInStep.js.map +0 -1
  458. package/lib/module/components/VerificationStep.js +0 -146
  459. package/lib/module/components/VerificationStep.js.map +0 -1
  460. package/lib/module/components/WelcomeScreen.js +0 -393
  461. package/lib/module/components/WelcomeScreen.js.map +0 -1
  462. package/lib/module/components/icons/Basicproficon.js +0 -30
  463. package/lib/module/components/icons/Basicproficon.js.map +0 -1
  464. package/lib/module/components/icons/Basicprofile.js +0 -14
  465. package/lib/module/components/icons/Basicprofile.js.map +0 -1
  466. package/lib/module/components/icons/Checkbox.js +0 -14
  467. package/lib/module/components/icons/Checkbox.js.map +0 -1
  468. package/lib/module/components/icons/Checkmark.js +0 -20
  469. package/lib/module/components/icons/Checkmark.js.map +0 -1
  470. package/lib/module/components/icons/Contentanalysis.js +0 -14
  471. package/lib/module/components/icons/Contentanalysis.js.map +0 -1
  472. package/lib/module/components/icons/Contenticon.js +0 -32
  473. package/lib/module/components/icons/Contenticon.js.map +0 -1
  474. package/lib/module/components/icons/EnochE.js +0 -34
  475. package/lib/module/components/icons/EnochE.js.map +0 -1
  476. package/lib/module/components/icons/Personalityicon.js +0 -23
  477. package/lib/module/components/icons/Personalityicon.js.map +0 -1
  478. package/lib/module/components/icons/Personalityprofile.js +0 -14
  479. package/lib/module/components/icons/Personalityprofile.js.map +0 -1
  480. package/lib/module/components/icons/Personalitytraits.js +0 -14
  481. package/lib/module/components/icons/Personalitytraits.js.map +0 -1
  482. package/lib/module/components/icons/Userpreferences.js +0 -14
  483. package/lib/module/components/icons/Userpreferences.js.map +0 -1
  484. package/lib/module/components/icons/index.js +0 -13
  485. package/lib/module/components/icons/index.js.map +0 -1
  486. package/lib/module/config/api.js +0 -26
  487. package/lib/module/config/api.js.map +0 -1
  488. package/lib/module/context/AuthContext.js +0 -335
  489. package/lib/module/context/AuthContext.js.map +0 -1
  490. package/lib/module/hooks/useConnectedAccounts.js +0 -106
  491. package/lib/module/hooks/useConnectedAccounts.js.map +0 -1
  492. package/lib/module/hooks/useUserConnections.js +0 -140
  493. package/lib/module/hooks/useUserConnections.js.map +0 -1
  494. package/lib/module/services/apiClient.js +0 -298
  495. package/lib/module/services/apiClient.js.map +0 -1
  496. package/lib/module/services/authService.js +0 -905
  497. package/lib/module/services/authService.js.map +0 -1
  498. package/lib/module/services/biometricPinService.js +0 -173
  499. package/lib/module/services/biometricPinService.js.map +0 -1
  500. package/lib/module/services/connectedAccountsService.js +0 -255
  501. package/lib/module/services/connectedAccountsService.js.map +0 -1
  502. package/lib/module/services/googleAuthService.js +0 -258
  503. package/lib/module/services/googleAuthService.js.map +0 -1
  504. package/lib/module/services/imageCompressionService.js +0 -250
  505. package/lib/module/services/imageCompressionService.js.map +0 -1
  506. package/lib/module/services/jwtStorageService.js +0 -239
  507. package/lib/module/services/jwtStorageService.js.map +0 -1
  508. package/lib/module/services/mobileTrainingService.js +0 -172
  509. package/lib/module/services/mobileTrainingService.js.map +0 -1
  510. package/lib/module/services/pinEncryptionService.js +0 -75
  511. package/lib/module/services/pinEncryptionService.js.map +0 -1
  512. package/lib/module/services/pinStorageUtils.js +0 -93
  513. package/lib/module/services/pinStorageUtils.js.map +0 -1
  514. package/lib/module/services/storageService.js +0 -383
  515. package/lib/module/services/storageService.js.map +0 -1
  516. package/lib/module/services/trainingApiHelpers.js +0 -67
  517. package/lib/module/services/trainingApiHelpers.js.map +0 -1
  518. package/lib/module/services/userConnectionsService.js +0 -476
  519. package/lib/module/services/userConnectionsService.js.map +0 -1
  520. package/lib/module/services/youtubeMigrationService.js +0 -404
  521. package/lib/module/services/youtubeMigrationService.js.map +0 -1
  522. package/lib/module/theme/index.js +0 -244
  523. package/lib/module/theme/index.js.map +0 -1
  524. package/lib/module/utils/eventUtils.js +0 -270
  525. package/lib/module/utils/eventUtils.js.map +0 -1
  526. package/lib/module/utils/haptics.js +0 -59
  527. package/lib/module/utils/haptics.js.map +0 -1
  528. package/lib/module/utils/imagePreloader.js +0 -3
  529. package/lib/module/utils/imagePreloader.js.map +0 -1
  530. package/lib/typescript/components/BodyText.d.ts +0 -10
  531. package/lib/typescript/components/BodyText.d.ts.map +0 -1
  532. package/lib/typescript/components/BrandMark.d.ts +0 -11
  533. package/lib/typescript/components/BrandMark.d.ts.map +0 -1
  534. package/lib/typescript/components/CodeInput.d.ts +0 -10
  535. package/lib/typescript/components/CodeInput.d.ts.map +0 -1
  536. package/lib/typescript/components/EmailInput.d.ts +0 -8
  537. package/lib/typescript/components/EmailInput.d.ts.map +0 -1
  538. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts +0 -12
  539. package/lib/typescript/components/ExistingUserDataConfirmation.d.ts.map +0 -1
  540. package/lib/typescript/components/GoogleButton.d.ts +0 -11
  541. package/lib/typescript/components/GoogleButton.d.ts.map +0 -1
  542. package/lib/typescript/components/HeadingGroup.d.ts +0 -11
  543. package/lib/typescript/components/HeadingGroup.d.ts.map +0 -1
  544. package/lib/typescript/components/ModalHeader.d.ts +0 -11
  545. package/lib/typescript/components/ModalHeader.d.ts.map +0 -1
  546. package/lib/typescript/components/ModalSheet.d.ts +0 -13
  547. package/lib/typescript/components/ModalSheet.d.ts.map +0 -1
  548. package/lib/typescript/components/OnairosSignInButton.d.ts +0 -13
  549. package/lib/typescript/components/OnairosSignInButton.d.ts.map +0 -1
  550. package/lib/typescript/components/PersonaImage.d.ts +0 -8
  551. package/lib/typescript/components/PersonaImage.d.ts.map +0 -1
  552. package/lib/typescript/components/PersonaLoadingScreen.d.ts +0 -10
  553. package/lib/typescript/components/PersonaLoadingScreen.d.ts.map +0 -1
  554. package/lib/typescript/components/PersonalizationConsentScreen.d.ts +0 -10
  555. package/lib/typescript/components/PersonalizationConsentScreen.d.ts.map +0 -1
  556. package/lib/typescript/components/PinCreationScreen.d.ts +0 -10
  557. package/lib/typescript/components/PinCreationScreen.d.ts.map +0 -1
  558. package/lib/typescript/components/PlatformConnectorsStep.d.ts +0 -11
  559. package/lib/typescript/components/PlatformConnectorsStep.d.ts.map +0 -1
  560. package/lib/typescript/components/PlatformToggle.d.ts +0 -20
  561. package/lib/typescript/components/PlatformToggle.d.ts.map +0 -1
  562. package/lib/typescript/components/PrimaryButton.d.ts +0 -22
  563. package/lib/typescript/components/PrimaryButton.d.ts.map +0 -1
  564. package/lib/typescript/components/SignInMatchAnimation.d.ts +0 -9
  565. package/lib/typescript/components/SignInMatchAnimation.d.ts.map +0 -1
  566. package/lib/typescript/components/SignInStep.d.ts +0 -12
  567. package/lib/typescript/components/SignInStep.d.ts.map +0 -1
  568. package/lib/typescript/components/VerificationStep.d.ts +0 -13
  569. package/lib/typescript/components/VerificationStep.d.ts.map +0 -1
  570. package/lib/typescript/components/WelcomeScreen.d.ts +0 -9
  571. package/lib/typescript/components/WelcomeScreen.d.ts.map +0 -1
  572. package/lib/typescript/components/icons/Basicproficon.d.ts +0 -5
  573. package/lib/typescript/components/icons/Basicproficon.d.ts.map +0 -1
  574. package/lib/typescript/components/icons/Basicprofile.d.ts +0 -5
  575. package/lib/typescript/components/icons/Basicprofile.d.ts.map +0 -1
  576. package/lib/typescript/components/icons/Checkbox.d.ts +0 -5
  577. package/lib/typescript/components/icons/Checkbox.d.ts.map +0 -1
  578. package/lib/typescript/components/icons/Checkmark.d.ts +0 -5
  579. package/lib/typescript/components/icons/Checkmark.d.ts.map +0 -1
  580. package/lib/typescript/components/icons/Contentanalysis.d.ts +0 -5
  581. package/lib/typescript/components/icons/Contentanalysis.d.ts.map +0 -1
  582. package/lib/typescript/components/icons/Contenticon.d.ts +0 -5
  583. package/lib/typescript/components/icons/Contenticon.d.ts.map +0 -1
  584. package/lib/typescript/components/icons/EnochE.d.ts +0 -5
  585. package/lib/typescript/components/icons/EnochE.d.ts.map +0 -1
  586. package/lib/typescript/components/icons/Personalityicon.d.ts +0 -5
  587. package/lib/typescript/components/icons/Personalityicon.d.ts.map +0 -1
  588. package/lib/typescript/components/icons/Personalityprofile.d.ts +0 -5
  589. package/lib/typescript/components/icons/Personalityprofile.d.ts.map +0 -1
  590. package/lib/typescript/components/icons/Personalitytraits.d.ts +0 -5
  591. package/lib/typescript/components/icons/Personalitytraits.d.ts.map +0 -1
  592. package/lib/typescript/components/icons/Userpreferences.d.ts +0 -5
  593. package/lib/typescript/components/icons/Userpreferences.d.ts.map +0 -1
  594. package/lib/typescript/components/icons/index.d.ts +0 -12
  595. package/lib/typescript/components/icons/index.d.ts.map +0 -1
  596. package/lib/typescript/config/api.d.ts +0 -24
  597. package/lib/typescript/config/api.d.ts.map +0 -1
  598. package/lib/typescript/context/AuthContext.d.ts +0 -34
  599. package/lib/typescript/context/AuthContext.d.ts.map +0 -1
  600. package/lib/typescript/hooks/useConnectedAccounts.d.ts +0 -11
  601. package/lib/typescript/hooks/useConnectedAccounts.d.ts.map +0 -1
  602. package/lib/typescript/hooks/useUserConnections.d.ts +0 -12
  603. package/lib/typescript/hooks/useUserConnections.d.ts.map +0 -1
  604. package/lib/typescript/services/apiClient.d.ts +0 -91
  605. package/lib/typescript/services/apiClient.d.ts.map +0 -1
  606. package/lib/typescript/services/authService.d.ts +0 -216
  607. package/lib/typescript/services/authService.d.ts.map +0 -1
  608. package/lib/typescript/services/biometricPinService.d.ts +0 -29
  609. package/lib/typescript/services/biometricPinService.d.ts.map +0 -1
  610. package/lib/typescript/services/connectedAccountsService.d.ts +0 -56
  611. package/lib/typescript/services/connectedAccountsService.d.ts.map +0 -1
  612. package/lib/typescript/services/googleAuthService.d.ts +0 -63
  613. package/lib/typescript/services/googleAuthService.d.ts.map +0 -1
  614. package/lib/typescript/services/imageCompressionService.d.ts +0 -37
  615. package/lib/typescript/services/imageCompressionService.d.ts.map +0 -1
  616. package/lib/typescript/services/jwtStorageService.d.ts +0 -86
  617. package/lib/typescript/services/jwtStorageService.d.ts.map +0 -1
  618. package/lib/typescript/services/mobileTrainingService.d.ts +0 -45
  619. package/lib/typescript/services/mobileTrainingService.d.ts.map +0 -1
  620. package/lib/typescript/services/pinEncryptionService.d.ts +0 -17
  621. package/lib/typescript/services/pinEncryptionService.d.ts.map +0 -1
  622. package/lib/typescript/services/pinStorageUtils.d.ts +0 -25
  623. package/lib/typescript/services/pinStorageUtils.d.ts.map +0 -1
  624. package/lib/typescript/services/storageService.d.ts +0 -128
  625. package/lib/typescript/services/storageService.d.ts.map +0 -1
  626. package/lib/typescript/services/trainingApiHelpers.d.ts +0 -38
  627. package/lib/typescript/services/trainingApiHelpers.d.ts.map +0 -1
  628. package/lib/typescript/services/userConnectionsService.d.ts +0 -90
  629. package/lib/typescript/services/userConnectionsService.d.ts.map +0 -1
  630. package/lib/typescript/services/youtubeMigrationService.d.ts +0 -12
  631. package/lib/typescript/services/youtubeMigrationService.d.ts.map +0 -1
  632. package/lib/typescript/theme/index.d.ts +0 -416
  633. package/lib/typescript/theme/index.d.ts.map +0 -1
  634. package/lib/typescript/utils/eventUtils.d.ts +0 -108
  635. package/lib/typescript/utils/eventUtils.d.ts.map +0 -1
  636. package/lib/typescript/utils/haptics.d.ts +0 -11
  637. package/lib/typescript/utils/haptics.d.ts.map +0 -1
  638. package/lib/typescript/utils/imagePreloader.d.ts +0 -2
  639. package/lib/typescript/utils/imagePreloader.d.ts.map +0 -1
  640. package/src/assets/fonts/EBGaramond-VariableFont_wght.ttf +0 -0
  641. package/src/assets/fonts/IBMPlexSans-VariableFont_wdth,wght.ttf +0 -0
  642. package/src/assets/icons/Facebookicon.png +0 -0
  643. package/src/assets/icons/Gmail.png +0 -0
  644. package/src/assets/icons/Linkedinicon.png +0 -0
  645. package/src/assets/icons/Redditicon.png +0 -0
  646. package/src/assets/icons/YouTubeicon2.png +0 -0
  647. package/src/assets/icons/YouTubeicon3.png +0 -0
  648. package/src/assets/icons/farcaster.png +0 -0
  649. package/src/assets/icons/instagram.png +0 -0
  650. package/src/assets/icons/pinterest.png +0 -0
  651. package/src/assets/icons/swerv_logo.png +0 -0
  652. package/src/assets/icons/twitter.jpg +0 -0
  653. package/src/assets/images/Checkbox.svg +0 -3
  654. package/src/assets/images/EnochE.svg +0 -19
  655. package/src/assets/images/Enochicon1.png +0 -0
  656. package/src/assets/images/Face_ID_logo.png +0 -0
  657. package/src/assets/images/Facebookicon.png +0 -0
  658. package/src/assets/images/Gmail.png +0 -0
  659. package/src/assets/images/Googlelogo.png +0 -0
  660. package/src/assets/images/Linkedinicon.png +0 -0
  661. package/src/assets/images/Onairoslogo.png +0 -0
  662. package/src/assets/images/Personalityprofile.svg +0 -3
  663. package/src/assets/images/Personalitytraits.svg +0 -3
  664. package/src/assets/images/Redditicon.png +0 -0
  665. package/src/assets/images/Userpreferences.svg +0 -3
  666. package/src/assets/images/YouTubeicon3.png +0 -0
  667. package/src/assets/images/arrow.svg +0 -20
  668. package/src/assets/images/basicproficon.svg +0 -43
  669. package/src/assets/images/basicprofile.svg +0 -3
  670. package/src/assets/images/checkmark.svg +0 -4
  671. package/src/assets/images/contentanalysis.svg +0 -3
  672. package/src/assets/images/contenticon.svg +0 -23
  673. package/src/assets/images/persona1.png +0 -0
  674. package/src/assets/images/persona2.png +0 -0
  675. package/src/assets/images/persona3.png +0 -0
  676. package/src/assets/images/persona4.png +0 -0
  677. package/src/assets/images/persona5.png +0 -0
  678. package/src/assets/images/personalityicon.svg +0 -18
  679. package/src/assets/images/x-close.svg +0 -3
  680. package/src/components/BodyText.tsx +0 -33
  681. package/src/components/BrandMark.tsx +0 -62
  682. package/src/components/CodeInput.tsx +0 -32
  683. package/src/components/EmailInput.tsx +0 -31
  684. package/src/components/ExistingUserDataConfirmation.tsx +0 -507
  685. package/src/components/GoogleButton.tsx +0 -55
  686. package/src/components/HeadingGroup.tsx +0 -49
  687. package/src/components/ModalHeader.tsx +0 -125
  688. package/src/components/ModalSheet.tsx +0 -59
  689. package/src/components/OnairosSignInButton.tsx +0 -132
  690. package/src/components/PersonaImage.tsx +0 -79
  691. package/src/components/PersonaLoadingScreen.tsx +0 -201
  692. package/src/components/PersonalizationConsentScreen.tsx +0 -410
  693. package/src/components/PinCreationScreen.tsx +0 -492
  694. package/src/components/PlatformConnectorsStep.tsx +0 -892
  695. package/src/components/PlatformToggle.tsx +0 -226
  696. package/src/components/PrimaryButton.tsx +0 -214
  697. package/src/components/SignInMatchAnimation.tsx +0 -225
  698. package/src/components/SignInStep.tsx +0 -217
  699. package/src/components/VerificationStep.tsx +0 -198
  700. package/src/components/WelcomeScreen.tsx +0 -490
  701. package/src/components/icons/Basicproficon.tsx +0 -30
  702. package/src/components/icons/Basicprofile.tsx +0 -17
  703. package/src/components/icons/Checkbox.tsx +0 -17
  704. package/src/components/icons/Checkmark.tsx +0 -24
  705. package/src/components/icons/Contentanalysis.tsx +0 -17
  706. package/src/components/icons/Contenticon.tsx +0 -30
  707. package/src/components/icons/EnochE.tsx +0 -39
  708. package/src/components/icons/Personalityicon.tsx +0 -22
  709. package/src/components/icons/Personalityprofile.tsx +0 -17
  710. package/src/components/icons/Personalitytraits.tsx +0 -17
  711. package/src/components/icons/Userpreferences.tsx +0 -17
  712. package/src/components/icons/index.ts +0 -12
  713. package/src/config/api.ts +0 -25
  714. package/src/context/AuthContext.tsx +0 -393
  715. package/src/hooks/useConnectedAccounts.ts +0 -139
  716. package/src/hooks/useUserConnections.ts +0 -166
  717. package/src/services/apiClient.ts +0 -337
  718. package/src/services/authService.ts +0 -1008
  719. package/src/services/biometricPinService.ts +0 -193
  720. package/src/services/connectedAccountsService.ts +0 -290
  721. package/src/services/googleAuthService.ts +0 -279
  722. package/src/services/imageCompressionService.ts +0 -303
  723. package/src/services/jwtStorageService.ts +0 -257
  724. package/src/services/mobileTrainingService.ts +0 -204
  725. package/src/services/pinEncryptionService.ts +0 -76
  726. package/src/services/pinStorageUtils.ts +0 -97
  727. package/src/services/storageService.ts +0 -452
  728. package/src/services/trainingApiHelpers.ts +0 -67
  729. package/src/services/userConnectionsService.ts +0 -557
  730. package/src/services/youtubeMigrationService.ts +0 -454
  731. package/src/theme/index.ts +0 -239
  732. package/src/utils/eventUtils.ts +0 -303
  733. package/src/utils/haptics.ts +0 -59
  734. package/src/utils/imagePreloader.ts +0 -2
@@ -1,1008 +0,0 @@
1
- import AsyncStorage from '@react-native-async-storage/async-storage';
2
- import { API_CONFIG, getApiHeaders, getAuthHeaders } from '../config/api';
3
-
4
- // API base URL
5
- const API_BASE_URL = API_CONFIG.BASE_URL;
6
-
7
- // Interface for authentication responses
8
- interface AuthResponse {
9
- token: string;
10
- user: {
11
- id: string;
12
- name: string;
13
- email: string;
14
- profilePicture?: string;
15
- };
16
- onairos: {
17
- hasConnectedOnairos: boolean;
18
- onairosUserId?: string;
19
- lastConnectedAt?: string;
20
- };
21
- }
22
-
23
- // Interface for Apple authentication payload
24
- interface AppleAuthPayload {
25
- identityToken: string;
26
- nonce?: string;
27
- fullName?: {
28
- givenName?: string;
29
- familyName?: string;
30
- };
31
- email?: string;
32
- user: string; // Apple's user identifier
33
- }
34
-
35
- /**
36
- * Interface for the timer response from backend
37
- */
38
- export interface TimerResponse {
39
- timerExpiry: number; // Unix timestamp in seconds when event starts
40
- timerDuration: number; // Duration in seconds (e.g., 1 hour)
41
- isReady: boolean; // Has the event started yet?
42
- testMode?: boolean; // Whether the app should run in test mode (backend controlled)
43
- countdown: {
44
- total: number; // Total seconds remaining until event
45
- days: number; // Days remaining
46
- hours: number; // Hours remaining (after days)
47
- minutes: number; // Minutes remaining (after hours)
48
- seconds: number; // Seconds remaining (after minutes)
49
- };
50
- }
51
-
52
- /**
53
- * Interface for the profile response from backend
54
- */
55
- export interface ProfileResponse {
56
- success: boolean;
57
- message: string;
58
- profile: {
59
- id: string;
60
- name: string;
61
- bio: string;
62
- photo_url: string;
63
- updated_at: string;
64
- };
65
- }
66
-
67
- /**
68
- * Interface for creating/updating user profile
69
- */
70
- export interface CreateProfileRequest {
71
- name: string;
72
- bio?: string;
73
- headline?: string;
74
- interests?: string[];
75
- photo_url?: string;
76
- }
77
-
78
- /**
79
- * Authenticate with Apple
80
- * @param appleAuthData Data from Apple authentication
81
- * @returns Authentication response with token and user data
82
- */
83
- /**
84
- * Authenticate with Onairos (similar to Apple authentication)
85
- * @param onairosAuthData Data from Onairos authentication
86
- * @returns Authentication response with token and user data
87
- */
88
- export const authenticateWithOnairos = async (onairosAuthData: { token: string; email: string }): Promise<AuthResponse> => {
89
- try {
90
- console.log('🔑 Authenticating with Onairos...');
91
-
92
- // For Onairos, we already have the JWT token from TrainingModal
93
- // We just need to create a proper user object like Apple does
94
-
95
- // Store the token in all the expected locations
96
- // CRITICAL FIX: Store as Onairos token (OAuth gives Onairos JWT)
97
- const { TokenType, storeJWT } = await import('./jwtStorageService');
98
- await storeJWT(TokenType.ONAIROS, onairosAuthData.token);
99
-
100
- // Extract username from email or use stored username
101
- const storedUsername = await AsyncStorage.getItem('onairos_username');
102
- const userName = storedUsername || onairosAuthData.email.split('@')[0] || 'Onairos User';
103
-
104
- // Store username and email
105
- await AsyncStorage.setItem('onairos_username', userName);
106
- await AsyncStorage.setItem('user_email', onairosAuthData.email);
107
-
108
- console.log('🔑 Onairos auth token stored:', `${onairosAuthData.token.substring(0, 20)}...`);
109
- console.log('👤 User info:', { email: onairosAuthData.email, username: userName });
110
-
111
- return {
112
- token: onairosAuthData.token,
113
- user: {
114
- id: Date.now().toString(), // Generate a unique ID
115
- name: userName,
116
- email: onairosAuthData.email,
117
- profilePicture: ''
118
- },
119
- onairos: {
120
- hasConnectedOnairos: true,
121
- onairosUserId: Date.now().toString(),
122
- lastConnectedAt: new Date().toISOString()
123
- }
124
- };
125
-
126
- } catch (error) {
127
- console.error('❌ Onairos authentication error:', error);
128
- throw error;
129
- }
130
- };
131
-
132
- /**
133
- * Authenticate with Onairos using the standardized /login/signin endpoint
134
- * @param credentials Email and password for Onairos sign-in
135
- * @returns Authentication response with token and user data
136
- */
137
- export const authenticateWithOnairosSignIn = async (credentials: { email: string; password: string }): Promise<AuthResponse> => {
138
- try {
139
- console.log('🔑 Signing in with Onairos via /login/signin endpoint...');
140
-
141
- const response = await fetch(`${API_BASE_URL}/login/signin`, {
142
- method: 'POST',
143
- headers: getApiHeaders(),
144
- body: JSON.stringify(credentials),
145
- });
146
-
147
- if (!response.ok) {
148
- const errorData = await response.json();
149
- throw new Error(errorData.error || 'Onairos sign-in failed');
150
- }
151
-
152
- const authData = await response.json();
153
- console.log('✅ Onairos sign-in successful');
154
-
155
- // Check for authentication token first - this is the most critical part
156
- if (!authData.token) {
157
- throw new Error('No authentication token returned from Onairos sign-in');
158
- }
159
-
160
- // Log if result field is missing or unexpected (but don't fail)
161
- if (!authData.result || (authData.result !== "User logged in successfully" && authData.result !== "User created successfully")) {
162
- console.warn('🔑 Onairos sign-in: Unexpected or missing result field:', authData.result);
163
- console.warn('🔑 Onairos sign-in: Proceeding with authentication since token is present');
164
- }
165
-
166
- // CRITICAL FIX: Store as Onairos token (sign-in gives Onairos JWT)
167
- const { TokenType, storeJWT } = await import('./jwtStorageService');
168
- await storeJWT(TokenType.ONAIROS, authData.token);
169
-
170
- // Store username from standardized response
171
- if (authData.username) {
172
- await AsyncStorage.setItem('onairos_username', authData.username);
173
- }
174
- await AsyncStorage.setItem('user_email', credentials.email);
175
-
176
- console.log('🔑 Onairos sign-in token stored:', `${authData.token.substring(0, 20)}...`);
177
-
178
- return {
179
- token: authData.token,
180
- user: {
181
- id: Date.now().toString(),
182
- name: authData.username,
183
- email: credentials.email,
184
- profilePicture: ''
185
- },
186
- onairos: {
187
- hasConnectedOnairos: true,
188
- onairosUserId: Date.now().toString(),
189
- lastConnectedAt: new Date().toISOString()
190
- }
191
- };
192
-
193
- } catch (error) {
194
- console.error('❌ Onairos sign-in error:', error);
195
- throw error;
196
- }
197
- };
198
-
199
- export const authenticateWithApple = async (appleAuthData: AppleAuthPayload): Promise<AuthResponse> => {
200
- try {
201
- const userName = appleAuthData.fullName ?
202
- `${appleAuthData.fullName.givenName || ''} ${appleAuthData.fullName.familyName || ''}`.trim() :
203
- 'Onairos User';
204
-
205
- // Call the Apple authentication endpoint - backend should return proper Enoch JWT
206
- console.log('🍎 Authenticating with Apple via backend...');
207
- const appleAuthResponse = await fetch(`${API_BASE_URL}/enoch/auth/apple`, {
208
- method: 'POST',
209
- headers: getApiHeaders(),
210
- body: JSON.stringify({
211
- identity_token: appleAuthData.identityToken,
212
- nonce: appleAuthData.nonce,
213
- user_identifier: appleAuthData.user, // Always present
214
- email: appleAuthData.email, // Can be null if user hides email
215
- name: userName,
216
- }),
217
- });
218
-
219
- if (!appleAuthResponse.ok) {
220
- const errorData = await appleAuthResponse.json();
221
- throw new Error(errorData.error || 'Apple authentication failed');
222
- }
223
-
224
- const authData = await appleAuthResponse.json();
225
- console.log('✅ Apple authentication successful');
226
-
227
- // CRITICAL: Log detailed Apple authentication response for comparison
228
- console.log('🍎 ===== APPLE AUTHENTICATION DETAILS =====');
229
- console.log('🍎 Response status:', appleAuthResponse.status);
230
- console.log('🍎 Response ok:', appleAuthResponse.ok);
231
- console.log('🍎 Response result field:', authData.result);
232
- console.log('🍎 Response token present:', !!authData.token);
233
- console.log('🍎 Response username present:', !!authData.username);
234
- if (authData.token) {
235
- console.log('🍎 Token preview:', `${authData.token.substring(0, 30)}...${authData.token.substring(authData.token.length - 10)}`);
236
- console.log('🍎 Token length:', authData.token.length);
237
- console.log('🍎 Token parts count:', authData.token.split('.').length);
238
- }
239
- console.log('🍎 ===== END APPLE AUTHENTICATION DETAILS =====');
240
-
241
- // Check for authentication token first - this is the most critical part
242
- if (!authData.token) {
243
- throw new Error('No authentication token returned from Apple auth');
244
- }
245
-
246
- // Log if result field is missing or unexpected (but don't fail)
247
- if (!authData.result || (authData.result !== "User logged in successfully" && authData.result !== "User created successfully")) {
248
- console.warn('🍎 Apple auth: Unexpected or missing result field:', authData.result);
249
- console.warn('🍎 Apple auth: Proceeding with authentication since token is present');
250
- }
251
-
252
- // CRITICAL FIX: Store as Onairos token (Apple sign-in gives Onairos JWT)
253
- console.log('💾 Storing Apple-returned token as Onairos JWT');
254
- const { TokenType, storeJWT } = await import('./jwtStorageService');
255
- await storeJWT(TokenType.ONAIROS, authData.token);
256
-
257
- // Store username from standardized response
258
- if (authData.username) {
259
- await AsyncStorage.setItem('onairos_username', authData.username);
260
- }
261
-
262
- // Store the Apple user's email if available, otherwise use Apple user identifier
263
- if (appleAuthData.email) {
264
- await AsyncStorage.setItem('user_email', appleAuthData.email);
265
- console.log('📧 Apple user email stored:', appleAuthData.email);
266
- } else {
267
- // Apple user chose "Hide My Email" - use Apple user identifier as fallback
268
- const fallbackEmail = `apple_${appleAuthData.user}@privaterelay.apple.com`;
269
- await AsyncStorage.setItem('user_email', fallbackEmail);
270
- console.log('📧 Apple user email hidden - using fallback:', fallbackEmail);
271
- }
272
-
273
- console.log('🔑 Apple auth token stored:', `${authData.token.substring(0, 20)}...`);
274
-
275
- // DEBUG: Log Apple token details to compare with Onairos tokens
276
- console.log('🔍 DEBUG: Apple token details:');
277
- console.log('🔍 DEBUG: Token length:', authData.token.length);
278
- console.log('🔍 DEBUG: Token parts:', authData.token.split('.').length);
279
- console.log('🔍 DEBUG: Token preview:', `${authData.token.substring(0, 50)}...`);
280
-
281
- try {
282
- const tokenParts = authData.token.split('.');
283
- if (tokenParts.length === 3) {
284
- console.log('🔍 DEBUG: Apple JWT header (base64):', tokenParts[0].substring(0, 30) + '...');
285
- console.log('🔍 DEBUG: Apple JWT payload (base64):', tokenParts[1].substring(0, 30) + '...');
286
- console.log('🔍 DEBUG: Apple JWT signature (base64):', tokenParts[2].substring(0, 30) + '...');
287
- }
288
- } catch (decodeError) {
289
- console.log('🔍 DEBUG: Could not analyze Apple JWT structure:', decodeError);
290
- }
291
-
292
- return {
293
- token: authData.token,
294
- user: {
295
- id: Date.now().toString(), // Generate a unique ID since standardized response doesn't include user.id
296
- name: authData.username,
297
- email: appleAuthData.email || '',
298
- profilePicture: ''
299
- },
300
- onairos: authData.onairos || {
301
- hasConnectedOnairos: false, // Default to false for fresh Apple users
302
- onairosUserId: undefined,
303
- lastConnectedAt: undefined
304
- }
305
- };
306
-
307
- } catch (error) {
308
- console.error('❌ Apple authentication error:', error);
309
-
310
- // CRITICAL: Log detailed Apple authentication error
311
- console.error('🚨 ===== APPLE AUTHENTICATION ERROR =====');
312
- console.error('🚨 Error type:', error instanceof Error ? error.constructor.name : typeof error);
313
- console.error('🚨 Error message:', error instanceof Error ? error.message : String(error));
314
- console.error('🚨 Error stack:', error instanceof Error ? error.stack : 'No stack trace');
315
- console.error('🚨 Apple auth data provided:', JSON.stringify(appleAuthData, null, 2));
316
- console.error('🚨 ===== END APPLE ERROR DETAILS =====');
317
-
318
- throw error;
319
- }
320
- };
321
-
322
- /**
323
- * Save authentication token
324
- * @param token JWT token
325
- */
326
- export const saveAuthToken = async (token: string): Promise<void> => {
327
- try {
328
- await AsyncStorage.setItem('auth_token', token);
329
- } catch (error) {
330
- console.error('Error saving auth token:', error);
331
- throw error;
332
- }
333
- };
334
-
335
- /**
336
- * Debug function to check all auth-related storage
337
- */
338
- export const debugAuthStorage = async (): Promise<void> => {
339
- console.log('🔍 [AUTH STORAGE DEBUG] Checking all auth-related storage:');
340
-
341
- const authToken = await AsyncStorage.getItem('auth_token');
342
- const onairosJwt = await AsyncStorage.getItem('onairos_jwt_token');
343
- const enochToken = await AsyncStorage.getItem('enoch_token');
344
- const userEmail = await AsyncStorage.getItem('user_email');
345
- const onairosUsername = await AsyncStorage.getItem('onairos_username');
346
- const authMethod = await AsyncStorage.getItem('auth_method');
347
-
348
- console.log('🔑 auth_token:', authToken ? `"${authToken}"` : 'null');
349
- console.log('🔑 onairos_jwt_token:', onairosJwt ? `"${onairosJwt}"` : 'null');
350
- console.log('🔑 enoch_token:', enochToken ? `"${enochToken}"` : 'null');
351
- console.log('🔑 user_email:', userEmail ? `"${userEmail}"` : 'null');
352
- console.log('🔑 onairos_username:', onairosUsername ? `"${onairosUsername}"` : 'null');
353
- console.log('🔑 auth_method:', authMethod ? `"${authMethod}"` : 'null');
354
-
355
- // Check if any token is actually an email
356
- const allTokens = [authToken, onairosJwt, enochToken];
357
- allTokens.forEach((token, index) => {
358
- const tokenNames = ['auth_token', 'onairos_jwt_token', 'enoch_token'];
359
- if (token && token.includes('@') && token.includes('.')) {
360
- console.error(`❌ [AUTH STORAGE DEBUG] ${tokenNames[index]} contains email instead of JWT: "${token}"`);
361
- }
362
- });
363
- };
364
-
365
- /**
366
- * Clear all auth tokens and start fresh
367
- */
368
- export const clearAllAuthTokens = async (): Promise<void> => {
369
- console.log('🧹 [AUTH DEBUG] Clearing all auth tokens via centralized service...');
370
-
371
- // CRITICAL FIX: Clear all JWT token types
372
- const { clearAllJWT } = await import('./jwtStorageService');
373
- await clearAllJWT();
374
-
375
- // Clear other auth-related data
376
- await AsyncStorage.multiRemove([
377
- 'user_email',
378
- 'onairos_username',
379
- 'auth_method'
380
- ]);
381
- console.log('✅ [AUTH DEBUG] All auth tokens and data cleared');
382
- };
383
-
384
- /**
385
- * Get saved authentication token - CRITICAL FIX: Try all token types
386
- * @returns Saved JWT token or null if not found
387
- */
388
- export const getAuthToken = async (): Promise<string | null> => {
389
- try {
390
- console.log('🔑 [AUTH DEBUG] Checking all available JWT tokens...');
391
-
392
- // CRITICAL FIX: Try all token types in priority order
393
- const { TokenType, getJWT } = await import('./jwtStorageService');
394
-
395
- // Try Onairos token first (most common for main app usage)
396
- let token = await getJWT(TokenType.ONAIROS);
397
- if (token) {
398
- console.log('✅ [AUTH DEBUG] Found Onairos JWT token:', `${token.substring(0, 20)}...`);
399
- return token;
400
- }
401
-
402
- // Try Enoch token second (for Enoch-specific routes)
403
- token = await getJWT(TokenType.ENOCH);
404
- if (token) {
405
- console.log('✅ [AUTH DEBUG] Found Enoch JWT token:', `${token.substring(0, 20)}...`);
406
- return token;
407
- }
408
-
409
- // Try Auth token last (for context-specific flows)
410
- token = await getJWT(TokenType.AUTH);
411
- if (token) {
412
- console.log('✅ [AUTH DEBUG] Found Auth token:', `${token.substring(0, 20)}...`);
413
- return token;
414
- }
415
-
416
- console.warn('❌ [AUTH DEBUG] No valid JWT tokens found in any storage location');
417
- return null;
418
-
419
- } catch (error) {
420
- console.error('❌ [AUTH DEBUG] Error during token retrieval:', error);
421
- return null;
422
- }
423
- };
424
-
425
- /**
426
- * Remove authentication token (logout)
427
- */
428
- export const removeAuthToken = async (): Promise<void> => {
429
- try {
430
- await AsyncStorage.removeItem('auth_token');
431
- } catch (error) {
432
- console.error('Error removing auth token:', error);
433
- }
434
- };
435
-
436
- /**
437
- * Validate if user is properly authenticated
438
- * @returns boolean indicating if user has valid authentication
439
- */
440
- export const isAuthenticated = async (): Promise<boolean> => {
441
- try {
442
- const token = await getAuthToken();
443
- return token !== null && token.length > 50;
444
- } catch (error) {
445
- console.error('❌ [AUTH VALIDATION] Error checking authentication status:', error);
446
- return false;
447
- }
448
- };
449
-
450
- /**
451
- * Ensure authentication is available before making API calls
452
- * @param apiName - Name of the API being called (for logging)
453
- * @returns boolean indicating if authentication is available
454
- */
455
- export const ensureAuthentication = async (apiName: string): Promise<boolean> => {
456
- const isAuth = await isAuthenticated();
457
- if (!isAuth) {
458
- console.warn(`⚠️ [${apiName}] No valid authentication available - API call may return limited data`);
459
- } else {
460
- console.log(`✅ [${apiName}] Authentication validated for API call`);
461
- }
462
- return isAuth;
463
- };
464
-
465
- /**
466
- * Get saved Enoch authentication token specifically
467
- * @returns Saved Enoch JWT token or null if not found
468
- */
469
- export const getEnochToken = async (): Promise<string | null> => {
470
- try {
471
- return await AsyncStorage.getItem('enoch_token');
472
- } catch (error) {
473
- console.error('Error getting Enoch token:', error);
474
- return null;
475
- }
476
- };
477
-
478
- /**
479
- * Save Enoch authentication token specifically
480
- * @param token Enoch JWT token
481
- */
482
- export const saveEnochToken = async (token: string): Promise<void> => {
483
- try {
484
- await AsyncStorage.setItem('enoch_token', token);
485
- await AsyncStorage.setItem('auth_token', token); // Also save as general auth token
486
- } catch (error) {
487
- console.error('Error saving Enoch token:', error);
488
- throw error;
489
- }
490
- };
491
-
492
- /**
493
- * Verify token with backend
494
- * @returns Boolean indicating if token is valid
495
- */
496
- export const verifyToken = async (): Promise<boolean> => {
497
- try {
498
- const token = await getAuthToken();
499
-
500
- if (!token) {
501
- console.warn('🔒 [TOKEN VERIFY] No token available for verification');
502
- return false;
503
- }
504
-
505
- console.log('🔒 [TOKEN VERIFY] Verifying token with backend...');
506
- console.log('🔒 [TOKEN VERIFY] Token preview:', `${token.substring(0, 20)}...`);
507
-
508
- const response = await fetch(`${API_BASE_URL}/api/auth/verify`, {
509
- method: 'GET',
510
- headers: getAuthHeaders(token)
511
- });
512
-
513
- console.log('🔒 [TOKEN VERIFY] Verification response status:', response.status);
514
-
515
- if (response.ok) {
516
- console.log('✅ [TOKEN VERIFY] Token is valid');
517
- return true;
518
- } else {
519
- const errorText = await response.text();
520
- console.warn('❌ [TOKEN VERIFY] Token verification failed:', response.status, errorText);
521
- return false;
522
- }
523
- } catch (error) {
524
- console.error('❌ [TOKEN VERIFY] Token verification error:', error);
525
- return false;
526
- }
527
- };
528
-
529
- /**
530
- * Get user profile from backend using stored token
531
- * Note: This endpoint doesn't exist as GET, so we'll try to fetch via other means
532
- * @returns User profile data
533
- */
534
- export const getUserProfile = async () => {
535
- try {
536
- // Try to get the Enoch token first, then fall back to general auth token
537
- let token = await getEnochToken();
538
- if (!token) {
539
- token = await getAuthToken();
540
- }
541
-
542
- if (!token) {
543
- throw new Error('No authentication token found');
544
- }
545
-
546
- console.log('🔍 Attempting to fetch user profile with token:', token?.substring(0, 20) + '...');
547
-
548
- // First try to get profile from Enoch user endpoint
549
- try {
550
- console.log('🔍 Attempting to fetch user profile from Enoch endpoint...');
551
- const response = await fetch(`${API_BASE_URL}/enoch/user/profile`, {
552
- method: 'GET',
553
- headers: getAuthHeaders(token)
554
- });
555
-
556
- if (response.ok) {
557
- const userData = await response.json();
558
- console.log('✅ User profile fetched successfully from Enoch endpoint');
559
-
560
- // Use JWT user ID if available, otherwise use the response ID
561
- const userId = userData.id || userData._id;
562
-
563
- // Transform the response to match expected format
564
- return {
565
- id: userId,
566
- name: userData.name || 'Onairos User',
567
- email: userData.email,
568
- description: userData.bio || userData.description || '',
569
- photoUrl: userData.photoUrl || userData.photo_url || '',
570
- profilePicture: userData.photoUrl || userData.photo_url || '',
571
- interests: userData.interests || [],
572
- verified: userData.verified || false,
573
- createdAt: userData.createdAt || new Date().toISOString(),
574
- updatedAt: userData.updatedAt || new Date().toISOString(),
575
- onboarded: userData.onboarded || false
576
- };
577
- } else {
578
- console.warn('⚠️ Enoch profile endpoint failed:', response.status, await response.text());
579
- }
580
- } catch (enochError) {
581
- console.warn('⚠️ Error with Enoch profile endpoint:', enochError);
582
- }
583
-
584
- // Try to create a profile using the POST endpoint (since that's what exists)
585
- try {
586
- console.log('🔍 Attempting to create/get profile via POST endpoint...');
587
-
588
- // Get user data from AsyncStorage (no JWT decoding needed)
589
- const storedUserEmail = await AsyncStorage.getItem('user_email');
590
- const storedUserName = await AsyncStorage.getItem('onairos_username');
591
-
592
- const userEmail = storedUserEmail || 'user@example.com';
593
- const userName = storedUserName || 'Onairos User';
594
-
595
- console.log('📧 Using stored user email:', userEmail);
596
- console.log('👤 Using stored user name:', userName);
597
-
598
- // Try to create/update profile with real user info
599
- const response = await fetch(`${API_BASE_URL}/api/user/profile`, {
600
- method: 'PUT', // ✅ FIXED: Changed from POST to PUT to match backend
601
- headers: getAuthHeaders(token),
602
- body: JSON.stringify({
603
- name: userName,
604
- bio: 'Welcome to Onairos!',
605
- interests: [],
606
- photo_url: ''
607
- })
608
- });
609
-
610
- if (response.ok) {
611
- const profileData = await response.json();
612
- console.log('✅ Profile created/updated successfully:', profileData);
613
-
614
- if (profileData.success && profileData.profile) {
615
- // Use the response ID from the profile creation
616
- const userId = profileData.profile.id;
617
-
618
- return {
619
- id: userId,
620
- name: profileData.profile.name,
621
- email: userEmail,
622
- description: profileData.profile.bio || '',
623
- photoUrl: profileData.profile.photo_url || '',
624
- profilePicture: profileData.profile.photo_url || '',
625
- interests: [],
626
- verified: false,
627
- createdAt: profileData.profile.updated_at || new Date().toISOString(),
628
- updatedAt: profileData.profile.updated_at || new Date().toISOString(),
629
- onboarded: false
630
- };
631
- }
632
- } else {
633
- const errorText = await response.text();
634
- console.warn('⚠️ Profile creation endpoint failed:', response.status, errorText);
635
- }
636
- } catch (createError) {
637
- console.warn('⚠️ Error with profile creation endpoint:', createError);
638
- }
639
-
640
- // If all endpoints fail, throw an error instead of returning fallback
641
- console.error('❌ All profile endpoints failed and no JWT user ID available');
642
- throw new Error('Unable to determine user ID from authentication token');
643
-
644
- } catch (error) {
645
- console.error('Error fetching user profile:', error);
646
- throw error;
647
- }
648
- };
649
-
650
- /**
651
- * Create or update user profile
652
- * @param profileData Profile data to create/update
653
- * @returns Profile response from backend
654
- */
655
- export const createOrUpdateProfile = async (profileData: CreateProfileRequest): Promise<ProfileResponse> => {
656
- try {
657
- const token = await getAuthToken();
658
-
659
- if (!token) {
660
- throw new Error('No authentication token found');
661
- }
662
-
663
- const response = await fetch(`${API_BASE_URL}/api/user/profile`, {
664
- method: 'PUT', // ✅ FIXED: Changed from POST to PUT to match backend
665
- headers: getAuthHeaders(token),
666
- body: JSON.stringify(profileData)
667
- });
668
-
669
- if (!response.ok) {
670
- const errorData = await response.json();
671
- throw new Error(errorData.message || 'Failed to create/update profile');
672
- }
673
-
674
- return await response.json();
675
- } catch (error) {
676
- console.error('Error creating/updating profile:', error);
677
- throw error;
678
- }
679
- };
680
-
681
- /**
682
- * Update user's onboarded status
683
- * @returns Promise that resolves when update is successful
684
- */
685
- export const updateUserOnboardedStatus = async (): Promise<void> => {
686
- try {
687
- const token = await getAuthToken();
688
-
689
- if (!token) {
690
- throw new Error('No authentication token found');
691
- }
692
-
693
- const response = await fetch(`${API_BASE_URL}/enoch/auth/update-onboarded`, {
694
- method: 'POST',
695
- headers: getAuthHeaders(token),
696
- body: JSON.stringify({
697
- onboarded: true
698
- })
699
- });
700
-
701
- if (!response.ok) {
702
- throw new Error('Failed to update onboarded status');
703
- }
704
- } catch (error) {
705
- console.error('Error updating onboarded status:', error);
706
- throw error;
707
- }
708
- };
709
-
710
- /**
711
- * Fetch the current timer status from the backend
712
- * @returns Timer information including expiry and duration
713
- */
714
- export const getEventTimer = async (): Promise<TimerResponse> => {
715
- try {
716
- const token = await getAuthToken();
717
- console.log('🕐 Starting timer fetch. Token available:', !!token);
718
-
719
- // Enhanced token logging for debugging
720
- if (token) {
721
- console.log('🔑 [TOKEN DEBUG] Token preview:', `${token.substring(0, 20)}...`);
722
- console.log('🔑 [TOKEN DEBUG] Token length:', token.length);
723
-
724
- // Check if token looks like a JWT
725
- const tokenParts = token.split('.');
726
- if (tokenParts.length === 3) {
727
- console.log('🔑 [TOKEN DEBUG] Token appears to be a valid JWT format (3 parts)');
728
- } else {
729
- console.warn('🔑 [TOKEN DEBUG] Token does not appear to be JWT format (expected 3 parts, got', tokenParts.length, ')');
730
- }
731
- } else {
732
- console.warn('🔑 [TOKEN DEBUG] No token available - will only try public endpoint');
733
- }
734
-
735
- // Try authenticated endpoint first if we have a token
736
- if (token) {
737
- try {
738
- console.log('🕐 Fetching timer from authenticated endpoint:', `${API_BASE_URL}/enoch/event/timer`);
739
- const response = await fetch(`${API_BASE_URL}/enoch/event/timer`, {
740
- method: 'GET',
741
- headers: getAuthHeaders(token)
742
- });
743
-
744
- if (response.ok) {
745
- const timerData = await response.json();
746
- console.log('✅ Timer data received from authenticated endpoint:', timerData);
747
-
748
- // Handle both direct timer data and wrapped response formats
749
- if (timerData.success !== undefined) {
750
- // If wrapped in success object, extract the timer data
751
- return timerData.success ? timerData : timerData;
752
- } else {
753
- // Direct timer data format
754
- return timerData;
755
- }
756
- } else {
757
- const errorText = await response.text();
758
- console.warn('⚠️ Authenticated timer endpoint failed:', response.status, errorText);
759
-
760
- // Enhanced logging for token-related issues
761
- if (response.status === 403) {
762
- console.error('🚫 [TOKEN ERROR] 403 Forbidden - Token validation failed');
763
- console.error('🔍 [TOKEN ERROR] This likely indicates an invalid or expired token');
764
- console.error('🔍 [TOKEN ERROR] Token used:', token ? `${token.substring(0, 20)}...` : 'No token');
765
- console.error('🔍 [TOKEN ERROR] Full error response:', errorText);
766
-
767
- // Try to parse error response for more details
768
- try {
769
- const errorData = JSON.parse(errorText);
770
- if (errorData.error) {
771
- console.error('🔍 [TOKEN ERROR] Backend error message:', errorData.error);
772
- }
773
- if (errorData.code) {
774
- console.error('🔍 [TOKEN ERROR] Error code:', errorData.code);
775
- }
776
- } catch (parseError) {
777
- console.error('🔍 [TOKEN ERROR] Could not parse error response');
778
- }
779
- } else if (response.status === 401) {
780
- console.error('🚫 [AUTH ERROR] 401 Unauthorized - Missing or invalid authentication');
781
- console.error('🔍 [AUTH ERROR] Token used:', token ? `${token.substring(0, 20)}...` : 'No token');
782
- } else {
783
- console.error('🚫 [API ERROR] Unexpected error status:', response.status);
784
- console.error('🔍 [API ERROR] Token used:', token ? `${token.substring(0, 20)}...` : 'No token');
785
- }
786
- }
787
- } catch (authError) {
788
- console.warn('⚠️ Error with authenticated timer endpoint:', authError);
789
- console.error('🔍 [NETWORK ERROR] Failed to reach authenticated timer endpoint');
790
- console.error('🔍 [NETWORK ERROR] Token used:', token ? `${token.substring(0, 20)}...` : 'No token');
791
- console.error('🔍 [NETWORK ERROR] Error details:', authError instanceof Error ? authError.message : authError);
792
- }
793
- }
794
-
795
- // Try public endpoint as fallback
796
- try {
797
- console.log('🕐 Fetching timer from public endpoint:', `${API_BASE_URL}/enoch/event/public/timer`);
798
- const response = await fetch(`${API_BASE_URL}/enoch/event/public/timer`, {
799
- method: 'GET',
800
- headers: getApiHeaders()
801
- });
802
-
803
- if (response.ok) {
804
- const timerData = await response.json();
805
- console.log('✅ Timer data received from public endpoint:', timerData);
806
-
807
- // Handle both direct timer data and wrapped response formats
808
- if (timerData.success !== undefined) {
809
- // If wrapped in success object, extract the timer data
810
- return timerData.success ? timerData : timerData;
811
- } else {
812
- // Direct timer data format
813
- return timerData;
814
- }
815
- } else {
816
- const errorText = await response.text();
817
- console.warn('⚠️ Public timer endpoint failed:', response.status, errorText);
818
- }
819
- } catch (publicError) {
820
- console.warn('⚠️ Error with public timer endpoint:', publicError);
821
- }
822
-
823
- // If both API endpoints fail, provide a realistic fallback timer
824
- console.log('⚠️ Both timer endpoints failed, using fallback timer');
825
- const nowInSeconds = Math.floor(Date.now() / 1000);
826
- const eventTimeInSeconds = nowInSeconds + 3600; // 1 hour from now
827
- const secondsRemaining = eventTimeInSeconds - nowInSeconds;
828
-
829
- // Calculate countdown components
830
- const days = Math.floor(secondsRemaining / (24 * 60 * 60));
831
- const hours = Math.floor((secondsRemaining % (24 * 60 * 60)) / (60 * 60));
832
- const minutes = Math.floor((secondsRemaining % (60 * 60)) / 60);
833
- const seconds = Math.floor(secondsRemaining % 60);
834
-
835
- return {
836
- timerExpiry: eventTimeInSeconds,
837
- timerDuration: 3600,
838
- isReady: false,
839
- testMode: true,
840
- countdown: {
841
- total: secondsRemaining,
842
- days,
843
- hours,
844
- minutes,
845
- seconds
846
- }
847
- };
848
- } catch (error) {
849
- console.error('❌ Error in getEventTimer:', error);
850
-
851
- // Final fallback timer (30 minutes)
852
- const nowInSeconds = Math.floor(Date.now() / 1000);
853
- const eventTimeInSeconds = nowInSeconds + 1800; // 30 minutes from now
854
-
855
- return {
856
- timerExpiry: eventTimeInSeconds,
857
- timerDuration: 1800,
858
- isReady: false,
859
- testMode: true,
860
- countdown: {
861
- total: 1800,
862
- days: 0,
863
- hours: 0,
864
- minutes: 30,
865
- seconds: 0
866
- }
867
- };
868
- }
869
- };
870
-
871
- /**
872
- * Check if a user email has admin privileges
873
- * @param email User email to check
874
- * @returns True if user is an admin
875
- */
876
- export const isAdminEmail = (email: string | null | undefined): boolean => {
877
- if (!email) {
878
- console.log('🔒 [Admin Check] No email provided');
879
- return false;
880
- }
881
-
882
- const adminEmails = [
883
- 'nicholas.berry@onairos.uk',
884
- 'zion.darko@onairos.uk',
885
- 'admin@enoch.events',
886
- 'admin@onairos.uk'
887
- ];
888
-
889
- const isAdmin = adminEmails.includes(email.toLowerCase());
890
-
891
- if (isAdmin) {
892
- console.log('🔑 [Admin Check] Admin access granted for:', email);
893
- } else {
894
- console.log('🚫 [Admin Check] No admin access for:', email);
895
- }
896
-
897
- return isAdmin;
898
- };
899
-
900
- /**
901
- * Get the current admin status from AsyncStorage
902
- * This could be used for caching admin status between sessions
903
- */
904
- export const getAdminStatus = async (): Promise<boolean> => {
905
- try {
906
- const adminStatus = await AsyncStorage.getItem('user_admin_status');
907
- return adminStatus === 'true';
908
- } catch (error) {
909
- console.error('Error getting admin status:', error);
910
- return false;
911
- }
912
- };
913
-
914
- /**
915
- * Save admin status to AsyncStorage
916
- * @param isAdmin Whether the user is an admin
917
- */
918
- export const saveAdminStatus = async (isAdmin: boolean): Promise<void> => {
919
- try {
920
- await AsyncStorage.setItem('user_admin_status', isAdmin.toString());
921
- } catch (error) {
922
- console.error('Error saving admin status:', error);
923
- }
924
- };
925
-
926
- /**
927
- * Get stored Onairos username for API calls
928
- * This is used for data connector APIs (Reddit, etc.) that need the username
929
- * @returns Stored username or null if not found
930
- */
931
- export const getOnairosUsername = async (): Promise<string | null> => {
932
- try {
933
- return await AsyncStorage.getItem('onairos_username');
934
- } catch (error) {
935
- console.error('Error getting Onairos username:', error);
936
- return null;
937
- }
938
- };
939
-
940
- /**
941
- * Save Onairos username for API calls
942
- * @param username Username to store
943
- */
944
- export const saveOnairosUsername = async (username: string): Promise<void> => {
945
- try {
946
- await AsyncStorage.setItem('onairos_username', username);
947
- } catch (error) {
948
- console.error('Error saving Onairos username:', error);
949
- }
950
- };
951
-
952
- /**
953
- * Check if user has connected Onairos to Enoch before
954
- * This checks for actual usage/training data, not just account existence
955
- * @param userIdentifier - Email, username, or user ID to check
956
- * @returns Promise<boolean> - true if user has connected Onairos features to Enoch
957
- */
958
- export const checkEnochOnairosConnection = async (userIdentifier: string): Promise<{
959
- hasConnectedOnairos: boolean;
960
- onairosUserId?: string;
961
- lastConnectedAt?: string;
962
- connectionDetails?: {
963
- hasTrainingData: boolean;
964
- hasConnectedPlatforms: boolean;
965
- trainingCompletedAt?: string;
966
- connectedPlatformsCount: number;
967
- };
968
- }> => {
969
- try {
970
- console.log('🔍 Checking Enoch-Onairos connection status for:', userIdentifier);
971
-
972
- const token = await getAuthToken();
973
-
974
- const response = await fetch(`${API_BASE_URL}/enoch/user/onairos-connection-status`, {
975
- method: 'POST',
976
- headers: token ? getAuthHeaders(token) : getApiHeaders(),
977
- body: JSON.stringify({
978
- userIdentifier, // Can be email, username, or user ID
979
- checkType: 'comprehensive' // Check training data, connected platforms, etc.
980
- })
981
- });
982
-
983
- if (response.ok) {
984
- const data = await response.json();
985
- console.log('✅ Enoch-Onairos connection status:', data);
986
-
987
- return {
988
- hasConnectedOnairos: data.hasConnectedOnairos || false,
989
- onairosUserId: data.onairosUserId,
990
- lastConnectedAt: data.lastConnectedAt,
991
- connectionDetails: data.connectionDetails
992
- };
993
- } else {
994
- console.warn('⚠️ Connection status check failed:', response.status);
995
- // Default to false if API call fails
996
- return {
997
- hasConnectedOnairos: false
998
- };
999
- }
1000
-
1001
- } catch (error) {
1002
- console.error('❌ Error checking Enoch-Onairos connection:', error);
1003
- // Default to false if error occurs
1004
- return {
1005
- hasConnectedOnairos: false
1006
- };
1007
- }
1008
- };