@oxyhq/services 14.1.0 → 15.0.0

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 (262) hide show
  1. package/lib/commonjs/index.js +0 -17
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/SignInAccountChooser.js +189 -0
  4. package/lib/commonjs/ui/components/SignInAccountChooser.js.map +1 -0
  5. package/lib/commonjs/ui/components/SignInModal.js +350 -131
  6. package/lib/commonjs/ui/components/SignInModal.js.map +1 -1
  7. package/lib/commonjs/ui/context/OxyContext.js +340 -1547
  8. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  9. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +61 -64
  10. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  11. package/lib/commonjs/ui/hooks/useAuth.js +14 -33
  12. package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
  13. package/lib/commonjs/ui/hooks/usePasswordSignIn.js +170 -0
  14. package/lib/commonjs/ui/hooks/usePasswordSignIn.js.map +1 -0
  15. package/lib/commonjs/ui/hooks/useProfileEditing.js +2 -5
  16. package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
  17. package/lib/commonjs/ui/hooks/useSessionManagement.js +2 -2
  18. package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
  19. package/lib/commonjs/ui/navigation/routes.js +1 -0
  20. package/lib/commonjs/ui/navigation/routes.js.map +1 -1
  21. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +93 -68
  22. package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
  23. package/lib/commonjs/ui/screens/EditProfileScreen.js +187 -0
  24. package/lib/commonjs/ui/screens/EditProfileScreen.js.map +1 -0
  25. package/lib/commonjs/ui/screens/ManageAccountScreen.js +3 -7
  26. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  27. package/lib/commonjs/ui/screens/OxyAuthScreen.js +231 -95
  28. package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
  29. package/lib/commonjs/ui/screens/ProfileScreen.js +15 -2
  30. package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
  31. package/lib/commonjs/ui/screens/linkFormat.js +38 -0
  32. package/lib/commonjs/ui/screens/linkFormat.js.map +1 -0
  33. package/lib/commonjs/ui/session/authStore.js +146 -0
  34. package/lib/commonjs/ui/session/authStore.js.map +1 -0
  35. package/lib/commonjs/ui/session/createSessionClient.js +23 -17
  36. package/lib/commonjs/ui/session/createSessionClient.js.map +1 -1
  37. package/lib/commonjs/ui/session/index.js +13 -7
  38. package/lib/commonjs/ui/session/index.js.map +1 -1
  39. package/lib/commonjs/ui/session/tokenTransport.js +19 -31
  40. package/lib/commonjs/ui/session/tokenTransport.js.map +1 -1
  41. package/lib/commonjs/ui/utils/isWebBrowser.js +13 -0
  42. package/lib/commonjs/ui/utils/isWebBrowser.js.map +1 -0
  43. package/lib/commonjs/utils/deviceFlowSignIn.js +13 -16
  44. package/lib/commonjs/utils/deviceFlowSignIn.js.map +1 -1
  45. package/lib/module/index.js +0 -5
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/ui/components/SignInAccountChooser.js +183 -0
  48. package/lib/module/ui/components/SignInAccountChooser.js.map +1 -0
  49. package/lib/module/ui/components/SignInModal.js +352 -134
  50. package/lib/module/ui/components/SignInModal.js.map +1 -1
  51. package/lib/module/ui/context/OxyContext.js +342 -1551
  52. package/lib/module/ui/context/OxyContext.js.map +1 -1
  53. package/lib/module/ui/context/hooks/useAuthOperations.js +60 -63
  54. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  55. package/lib/module/ui/hooks/useAuth.js +14 -33
  56. package/lib/module/ui/hooks/useAuth.js.map +1 -1
  57. package/lib/module/ui/hooks/usePasswordSignIn.js +165 -0
  58. package/lib/module/ui/hooks/usePasswordSignIn.js.map +1 -0
  59. package/lib/module/ui/hooks/useProfileEditing.js +2 -5
  60. package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
  61. package/lib/module/ui/hooks/useSessionManagement.js +1 -1
  62. package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
  63. package/lib/module/ui/navigation/routes.js +1 -0
  64. package/lib/module/ui/navigation/routes.js.map +1 -1
  65. package/lib/module/ui/screens/EditProfileFieldScreen.js +91 -66
  66. package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
  67. package/lib/module/ui/screens/EditProfileScreen.js +182 -0
  68. package/lib/module/ui/screens/EditProfileScreen.js.map +1 -0
  69. package/lib/module/ui/screens/ManageAccountScreen.js +3 -7
  70. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  71. package/lib/module/ui/screens/OxyAuthScreen.js +233 -97
  72. package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
  73. package/lib/module/ui/screens/ProfileScreen.js +15 -2
  74. package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
  75. package/lib/module/ui/screens/linkFormat.js +31 -0
  76. package/lib/module/ui/screens/linkFormat.js.map +1 -0
  77. package/lib/module/ui/session/authStore.js +143 -0
  78. package/lib/module/ui/session/authStore.js.map +1 -0
  79. package/lib/module/ui/session/createSessionClient.js +22 -16
  80. package/lib/module/ui/session/createSessionClient.js.map +1 -1
  81. package/lib/module/ui/session/index.js +9 -9
  82. package/lib/module/ui/session/index.js.map +1 -1
  83. package/lib/module/ui/session/tokenTransport.js +20 -33
  84. package/lib/module/ui/session/tokenTransport.js.map +1 -1
  85. package/lib/module/ui/utils/isWebBrowser.js +11 -0
  86. package/lib/module/ui/utils/isWebBrowser.js.map +1 -0
  87. package/lib/module/utils/deviceFlowSignIn.js +14 -17
  88. package/lib/module/utils/deviceFlowSignIn.js.map +1 -1
  89. package/lib/typescript/commonjs/index.d.ts +0 -1
  90. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts +29 -0
  92. package/lib/typescript/commonjs/ui/components/SignInAccountChooser.d.ts.map +1 -0
  93. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts +15 -10
  94. package/lib/typescript/commonjs/ui/components/SignInModal.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts +36 -42
  96. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts +18 -23
  98. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +0 -2
  100. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  101. package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
  102. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts +31 -0
  103. package/lib/typescript/commonjs/ui/hooks/usePasswordSignIn.d.ts.map +1 -0
  104. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts +0 -1
  105. package/lib/typescript/commonjs/ui/hooks/useProfileEditing.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/navigation/routes.d.ts +1 -1
  107. package/lib/typescript/commonjs/ui/navigation/routes.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  109. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts +14 -0
  110. package/lib/typescript/commonjs/ui/screens/EditProfileScreen.d.ts.map +1 -0
  111. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts +1 -1
  112. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts +13 -12
  114. package/lib/typescript/commonjs/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  115. package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
  116. package/lib/typescript/commonjs/ui/screens/linkFormat.d.ts +23 -0
  117. package/lib/typescript/commonjs/ui/screens/linkFormat.d.ts.map +1 -0
  118. package/lib/typescript/commonjs/ui/session/authStore.d.ts +33 -0
  119. package/lib/typescript/commonjs/ui/session/authStore.d.ts.map +1 -0
  120. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts +19 -15
  121. package/lib/typescript/commonjs/ui/session/createSessionClient.d.ts.map +1 -1
  122. package/lib/typescript/commonjs/ui/session/index.d.ts +9 -9
  123. package/lib/typescript/commonjs/ui/session/index.d.ts.map +1 -1
  124. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts +13 -19
  125. package/lib/typescript/commonjs/ui/session/tokenTransport.d.ts.map +1 -1
  126. package/lib/typescript/commonjs/ui/utils/isWebBrowser.d.ts +9 -0
  127. package/lib/typescript/commonjs/ui/utils/isWebBrowser.d.ts.map +1 -0
  128. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts +15 -13
  129. package/lib/typescript/commonjs/utils/deviceFlowSignIn.d.ts.map +1 -1
  130. package/lib/typescript/module/index.d.ts +0 -1
  131. package/lib/typescript/module/index.d.ts.map +1 -1
  132. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts +29 -0
  133. package/lib/typescript/module/ui/components/SignInAccountChooser.d.ts.map +1 -0
  134. package/lib/typescript/module/ui/components/SignInModal.d.ts +15 -10
  135. package/lib/typescript/module/ui/components/SignInModal.d.ts.map +1 -1
  136. package/lib/typescript/module/ui/context/OxyContext.d.ts +36 -42
  137. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  138. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts +18 -23
  139. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  140. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +0 -2
  141. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  142. package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
  143. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts +31 -0
  144. package/lib/typescript/module/ui/hooks/usePasswordSignIn.d.ts.map +1 -0
  145. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts +0 -1
  146. package/lib/typescript/module/ui/hooks/useProfileEditing.d.ts.map +1 -1
  147. package/lib/typescript/module/ui/navigation/routes.d.ts +1 -1
  148. package/lib/typescript/module/ui/navigation/routes.d.ts.map +1 -1
  149. package/lib/typescript/module/ui/screens/EditProfileFieldScreen.d.ts.map +1 -1
  150. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts +14 -0
  151. package/lib/typescript/module/ui/screens/EditProfileScreen.d.ts.map +1 -0
  152. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts +1 -1
  153. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  154. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts +13 -12
  155. package/lib/typescript/module/ui/screens/OxyAuthScreen.d.ts.map +1 -1
  156. package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
  157. package/lib/typescript/module/ui/screens/linkFormat.d.ts +23 -0
  158. package/lib/typescript/module/ui/screens/linkFormat.d.ts.map +1 -0
  159. package/lib/typescript/module/ui/session/authStore.d.ts +33 -0
  160. package/lib/typescript/module/ui/session/authStore.d.ts.map +1 -0
  161. package/lib/typescript/module/ui/session/createSessionClient.d.ts +19 -15
  162. package/lib/typescript/module/ui/session/createSessionClient.d.ts.map +1 -1
  163. package/lib/typescript/module/ui/session/index.d.ts +9 -9
  164. package/lib/typescript/module/ui/session/index.d.ts.map +1 -1
  165. package/lib/typescript/module/ui/session/tokenTransport.d.ts +13 -19
  166. package/lib/typescript/module/ui/session/tokenTransport.d.ts.map +1 -1
  167. package/lib/typescript/module/ui/utils/isWebBrowser.d.ts +9 -0
  168. package/lib/typescript/module/ui/utils/isWebBrowser.d.ts.map +1 -0
  169. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts +15 -13
  170. package/lib/typescript/module/utils/deviceFlowSignIn.d.ts.map +1 -1
  171. package/package.json +4 -4
  172. package/src/index.ts +0 -4
  173. package/src/ui/components/SignInAccountChooser.tsx +162 -0
  174. package/src/ui/components/SignInModal.tsx +309 -139
  175. package/src/ui/context/OxyContext.tsx +532 -1785
  176. package/src/ui/context/hooks/useAuthOperations.ts +65 -76
  177. package/src/ui/hooks/useAuth.ts +14 -35
  178. package/src/ui/hooks/usePasswordSignIn.ts +207 -0
  179. package/src/ui/hooks/useProfileEditing.ts +2 -8
  180. package/src/ui/hooks/useSessionManagement.ts +1 -1
  181. package/src/ui/navigation/routes.ts +2 -0
  182. package/src/ui/screens/EditProfileFieldScreen.tsx +102 -66
  183. package/src/ui/screens/EditProfileScreen.tsx +155 -0
  184. package/src/ui/screens/ManageAccountScreen.tsx +3 -7
  185. package/src/ui/screens/OxyAuthScreen.tsx +259 -112
  186. package/src/ui/screens/ProfileScreen.tsx +15 -2
  187. package/src/ui/screens/__tests__/linkFormat.test.ts +73 -0
  188. package/src/ui/screens/linkFormat.ts +37 -0
  189. package/src/ui/session/__tests__/createSessionClient.test.ts +22 -7
  190. package/src/ui/session/__tests__/tokenTransport.test.ts +37 -49
  191. package/src/ui/session/authStore.ts +164 -0
  192. package/src/ui/session/createSessionClient.ts +30 -17
  193. package/src/ui/session/index.ts +10 -9
  194. package/src/ui/session/tokenTransport.ts +26 -36
  195. package/src/ui/utils/isWebBrowser.ts +8 -0
  196. package/src/utils/__tests__/deviceFlowSignIn.test.ts +50 -131
  197. package/src/utils/deviceFlowSignIn.ts +19 -26
  198. package/lib/commonjs/ui/context/inSessionTokenRefresh.js +0 -243
  199. package/lib/commonjs/ui/context/inSessionTokenRefresh.js.map +0 -1
  200. package/lib/commonjs/ui/context/silentSessionRestore.js +0 -56
  201. package/lib/commonjs/ui/context/silentSessionRestore.js.map +0 -1
  202. package/lib/commonjs/ui/hooks/useWebSSO.js +0 -28
  203. package/lib/commonjs/ui/hooks/useWebSSO.js.map +0 -1
  204. package/lib/commonjs/ui/session/projectSessionState.js +0 -86
  205. package/lib/commonjs/ui/session/projectSessionState.js.map +0 -1
  206. package/lib/commonjs/ui/session/sessionClientHost.js +0 -30
  207. package/lib/commonjs/ui/session/sessionClientHost.js.map +0 -1
  208. package/lib/commonjs/ui/utils/activeAuthuser.js +0 -142
  209. package/lib/commonjs/ui/utils/activeAuthuser.js.map +0 -1
  210. package/lib/commonjs/utils/crossApex.js +0 -74
  211. package/lib/commonjs/utils/crossApex.js.map +0 -1
  212. package/lib/module/ui/context/inSessionTokenRefresh.js +0 -238
  213. package/lib/module/ui/context/inSessionTokenRefresh.js.map +0 -1
  214. package/lib/module/ui/context/silentSessionRestore.js +0 -53
  215. package/lib/module/ui/context/silentSessionRestore.js.map +0 -1
  216. package/lib/module/ui/hooks/useWebSSO.js +0 -24
  217. package/lib/module/ui/hooks/useWebSSO.js.map +0 -1
  218. package/lib/module/ui/session/projectSessionState.js +0 -79
  219. package/lib/module/ui/session/projectSessionState.js.map +0 -1
  220. package/lib/module/ui/session/sessionClientHost.js +0 -26
  221. package/lib/module/ui/session/sessionClientHost.js.map +0 -1
  222. package/lib/module/ui/utils/activeAuthuser.js +0 -134
  223. package/lib/module/ui/utils/activeAuthuser.js.map +0 -1
  224. package/lib/module/utils/crossApex.js +0 -69
  225. package/lib/module/utils/crossApex.js.map +0 -1
  226. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts +0 -106
  227. package/lib/typescript/commonjs/ui/context/inSessionTokenRefresh.d.ts.map +0 -1
  228. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts +0 -36
  229. package/lib/typescript/commonjs/ui/context/silentSessionRestore.d.ts.map +0 -1
  230. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts +0 -19
  231. package/lib/typescript/commonjs/ui/hooks/useWebSSO.d.ts.map +0 -1
  232. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts +0 -45
  233. package/lib/typescript/commonjs/ui/session/projectSessionState.d.ts.map +0 -1
  234. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts +0 -14
  235. package/lib/typescript/commonjs/ui/session/sessionClientHost.d.ts.map +0 -1
  236. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +0 -67
  237. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +0 -1
  238. package/lib/typescript/commonjs/utils/crossApex.d.ts +0 -55
  239. package/lib/typescript/commonjs/utils/crossApex.d.ts.map +0 -1
  240. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts +0 -106
  241. package/lib/typescript/module/ui/context/inSessionTokenRefresh.d.ts.map +0 -1
  242. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts +0 -36
  243. package/lib/typescript/module/ui/context/silentSessionRestore.d.ts.map +0 -1
  244. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts +0 -19
  245. package/lib/typescript/module/ui/hooks/useWebSSO.d.ts.map +0 -1
  246. package/lib/typescript/module/ui/session/projectSessionState.d.ts +0 -45
  247. package/lib/typescript/module/ui/session/projectSessionState.d.ts.map +0 -1
  248. package/lib/typescript/module/ui/session/sessionClientHost.d.ts +0 -14
  249. package/lib/typescript/module/ui/session/sessionClientHost.d.ts.map +0 -1
  250. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +0 -67
  251. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +0 -1
  252. package/lib/typescript/module/utils/crossApex.d.ts +0 -55
  253. package/lib/typescript/module/utils/crossApex.d.ts.map +0 -1
  254. package/src/ui/context/inSessionTokenRefresh.ts +0 -264
  255. package/src/ui/context/silentSessionRestore.ts +0 -53
  256. package/src/ui/hooks/useWebSSO.ts +0 -23
  257. package/src/ui/session/__tests__/projectSessionState.test.ts +0 -114
  258. package/src/ui/session/__tests__/sessionClientHost.test.ts +0 -43
  259. package/src/ui/session/projectSessionState.ts +0 -85
  260. package/src/ui/session/sessionClientHost.ts +0 -27
  261. package/src/ui/utils/activeAuthuser.ts +0 -142
  262. package/src/utils/crossApex.ts +0 -75
@@ -1,36 +1,43 @@
1
1
  "use strict";
2
2
 
3
3
  /**
4
- * OxyAuthScreen - Sign in with Oxy (native bottom-sheet container)
4
+ * OxyAuthScreen Sign in with Oxy (native bottom-sheet container).
5
5
  *
6
- * Used by OTHER apps in the Oxy ecosystem to authenticate users. The primary
7
- * action is the one-tap "Continue with Oxy" approval flow (opens the Oxy Auth
8
- * web flow with a deep-link `redirect_uri` so the app→app return path can
9
- * complete the sign-in). The QR code is demoted to a collapsed "Sign in on
10
- * another device" disclosure you can't scan your own screen.
6
+ * Two phases, Google-style:
7
+ * 1. Account chooser (FRONT screen, shown when the device/user already has
8
+ * accounts): pick an account to continue as one tap switches through the
9
+ * SAME `switchToAccount` path the account switcher uses or "Use another
10
+ * account" to reveal the sign-in options.
11
+ * 2. Sign-in options: the first-party password flow (identifier → password →
12
+ * optional 2FA, `usePasswordSignIn`) as the PRIMARY action, with the
13
+ * cross-app device flow (same-device deep-link + "sign in on another device"
14
+ * QR) as a SECONDARY option below an "or" divider.
11
15
  *
12
- * ALL of the auth-session machinery (session-token creation, QR data, socket +
13
- * polling, the native deep-link return path, waiting/error/retry state, the
14
- * open-auth handler, and cleanup) lives in the shared `useOxyAuthSession` hook,
15
- * which the web `SignInModal` also consumes — neither container re-implements
16
- * the transport. The Oxy Accounts app is where users manage their cryptographic
17
- * identity; this screen should NOT be used within the Accounts app itself.
16
+ * The device-flow machinery lives in the shared `useOxyAuthSession` hook (the
17
+ * web `SignInModal` consumes it too). This screen should NOT be used within the
18
+ * Oxy Accounts app itself.
18
19
  */
19
20
 
20
- import { View, Linking } from 'react-native';
21
+ import { useCallback, useState } from 'react';
22
+ import { View, TextInput, Linking } from 'react-native';
21
23
  import { useTheme } from '@oxyhq/bloom/theme';
22
24
  import { Button } from '@oxyhq/bloom/button';
23
25
  import { Loading } from '@oxyhq/bloom/loading';
24
26
  import { H4, Text } from '@oxyhq/bloom/typography';
25
27
  import { IconCircle } from '@oxyhq/bloom/icon-circle';
26
28
  import * as Icons from '@oxyhq/bloom/icons';
29
+ import { toast } from '@oxyhq/bloom';
30
+ import { isDev, logger as loggerUtil } from '@oxyhq/core';
27
31
  import { useOxy } from "../context/OxyContext.js";
28
32
  import OxyLogo from "../components/OxyLogo.js";
29
33
  import AnotherDeviceQR from "../components/AnotherDeviceQR.js";
30
34
  import LoadingState from "../components/LoadingState.js";
35
+ import SignInAccountChooser from "../components/SignInAccountChooser.js";
36
+ import { useSwitchableAccounts } from "../hooks/useSwitchableAccounts.js";
37
+ import { useI18n } from "../hooks/useI18n.js";
31
38
  import { useOxyAuthSession, OXY_ACCOUNTS_WEB_URL } from "../hooks/useOxyAuthSession.js";
32
- import { isCrossApexWeb } from "../../utils/crossApex.js";
33
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
39
+ import { usePasswordSignIn } from "../hooks/usePasswordSignIn.js";
40
+ import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
34
41
  const OxyAuthScreen = ({
35
42
  goBack,
36
43
  onAuthenticated
@@ -39,112 +46,241 @@ const OxyAuthScreen = ({
39
46
  const {
40
47
  oxyServices,
41
48
  handleWebSession,
42
- clientId
49
+ clientId,
50
+ switchToAccount
43
51
  } = useOxy();
52
+ const {
53
+ t
54
+ } = useI18n();
55
+ const {
56
+ accounts
57
+ } = useSwitchableAccounts();
58
+ const [useAnother, setUseAnother] = useState(false);
59
+ const [switchingId, setSwitchingId] = useState(null);
60
+ const showChooser = !useAnother && accounts.length > 0;
44
61
  const {
45
62
  qrData,
46
63
  qrPayload,
47
64
  isLoading,
48
65
  error,
49
66
  isWaiting,
50
- openAuthApproval,
51
67
  openSameDeviceApproval,
52
68
  retry
53
69
  } = useOxyAuthSession(oxyServices, clientId, handleWebSession, {
54
70
  onSignedIn: onAuthenticated
55
71
  });
56
-
57
- // On a cross-apex web RP, only the "Continue with Oxy" IdP popup establishes a
58
- // durable `fedcm_session`. The Commons-app handoffs (same-device deep-link +
59
- // cross-device QR) approve OUTSIDE the browser, so they leave no IdP session
60
- // and the user would be logged out on reload — hide them there. Off-browser
61
- // (native) this is always `false`, so the bottom sheet is unchanged.
62
- const crossApexWeb = isCrossApexWeb();
63
- if (isLoading) {
64
- return /*#__PURE__*/_jsx(View, {
65
- className: "flex-1 items-center justify-center bg-bg",
66
- children: /*#__PURE__*/_jsx(LoadingState, {
67
- size: "large",
68
- color: bloomTheme.colors.primary,
69
- message: "Preparing sign in..."
70
- })
71
- });
72
- }
73
- if (error) {
74
- return /*#__PURE__*/_jsxs(View, {
75
- className: "flex-1 items-center justify-center bg-bg px-screen-margin gap-space-16",
76
- children: [/*#__PURE__*/_jsx(IconCircle, {
77
- icon: Icons.Warning_Stroke2_Corner0_Rounded
78
- }), /*#__PURE__*/_jsx(Text, {
79
- className: "font-sans text-body text-text-secondary text-center",
80
- children: error
81
- }), /*#__PURE__*/_jsx(Button, {
82
- variant: "primary",
83
- fullWidth: true,
84
- className: "w-full",
85
- onPress: retry,
86
- icon: /*#__PURE__*/_jsx(Icons.ArrowRotateClockwise_Stroke2_Corner0_Rounded, {
87
- size: "sm",
88
- style: {
89
- color: bloomTheme.colors.primaryForeground
90
- }
91
- }),
92
- children: "Try Again"
93
- })]
94
- });
95
- }
72
+ const pw = usePasswordSignIn({
73
+ onSignedIn: onAuthenticated
74
+ });
75
+ const handleSelectAccount = useCallback(async account => {
76
+ if (account.isCurrent) {
77
+ onAuthenticated?.();
78
+ return;
79
+ }
80
+ if (switchingId) return;
81
+ setSwitchingId(account.accountId);
82
+ try {
83
+ await switchToAccount(account.accountId);
84
+ onAuthenticated?.();
85
+ } catch (switchError) {
86
+ if (isDev()) {
87
+ loggerUtil.warn('OxyAuthScreen: switch account failed', {
88
+ component: 'OxyAuthScreen'
89
+ }, switchError);
90
+ }
91
+ toast.error(t('accountSwitcher.toasts.switchFailed') || 'Failed to switch account');
92
+ } finally {
93
+ setSwitchingId(null);
94
+ }
95
+ }, [switchingId, switchToAccount, onAuthenticated, t]);
96
+ const inputStyle = {
97
+ width: '100%',
98
+ borderWidth: 1,
99
+ borderRadius: 12,
100
+ paddingHorizontal: 16,
101
+ paddingVertical: 13,
102
+ fontSize: 15,
103
+ marginBottom: 12,
104
+ borderColor: bloomTheme.colors.border,
105
+ color: bloomTheme.colors.text,
106
+ backgroundColor: bloomTheme.colors.backgroundSecondary
107
+ };
108
+ const title = showChooser ? t('signin.chooser.title') : 'Sign in to Oxy';
109
+ const subtitle = showChooser ? t('signin.chooser.subtitle') : 'Continue with your Oxy identity to sign in securely';
96
110
  return /*#__PURE__*/_jsxs(View, {
97
111
  className: "flex-1 items-center justify-center bg-bg px-screen-margin",
98
112
  children: [/*#__PURE__*/_jsxs(View, {
99
113
  className: "items-center mb-space-24 gap-space-12",
100
114
  children: [/*#__PURE__*/_jsx(OxyLogo, {
101
115
  variant: "icon",
102
- size: 56
116
+ size: 52
103
117
  }), /*#__PURE__*/_jsx(H4, {
104
118
  className: "text-headerBold font-headerBold text-text text-center",
105
- children: "Sign in to Oxy"
119
+ children: title
106
120
  }), /*#__PURE__*/_jsx(Text, {
107
121
  className: "font-sans text-body text-text-secondary text-center",
108
- children: "Continue with your Oxy identity to sign in securely"
122
+ children: subtitle
109
123
  })]
110
- }), /*#__PURE__*/_jsx(Button, {
111
- variant: "primary",
112
- size: "large",
113
- fullWidth: true,
114
- className: "w-full",
115
- onPress: openAuthApproval,
116
- icon: /*#__PURE__*/_jsx(OxyLogo, {
117
- variant: "icon",
118
- size: 20,
119
- fillColor: bloomTheme.colors.primaryForeground
120
- }),
121
- children: "Continue with Oxy"
122
- }), !crossApexWeb && qrPayload && /*#__PURE__*/_jsx(Button, {
123
- variant: "secondary",
124
- size: "large",
125
- fullWidth: true,
126
- className: "w-full mt-space-12",
127
- onPress: openSameDeviceApproval,
128
- icon: /*#__PURE__*/_jsx(OxyLogo, {
129
- variant: "icon",
130
- size: 20,
131
- fillColor: bloomTheme.colors.text
132
- }),
133
- children: "Sign in with the Oxy app"
134
- }), isWaiting && /*#__PURE__*/_jsxs(View, {
135
- className: "flex-row items-center mt-space-16 gap-space-8",
136
- children: [/*#__PURE__*/_jsx(Loading, {
137
- size: "small"
138
- }), /*#__PURE__*/_jsx(Text, {
139
- className: "font-sans text-body text-text-secondary",
140
- children: "Waiting for authorization..."
124
+ }), showChooser ? /*#__PURE__*/_jsx(SignInAccountChooser, {
125
+ accounts: accounts,
126
+ onSelectAccount: handleSelectAccount,
127
+ onUseAnother: () => setUseAnother(true),
128
+ pendingAccountId: switchingId,
129
+ disabled: switchingId !== null
130
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
131
+ children: [accounts.length > 0 && /*#__PURE__*/_jsx(Button, {
132
+ variant: "text",
133
+ size: "small",
134
+ className: "self-start mb-space-8",
135
+ onPress: () => setUseAnother(false),
136
+ accessibilityLabel: "Choose an account",
137
+ icon: /*#__PURE__*/_jsx(Icons.ArrowLeft_Stroke2_Corner0_Rounded, {
138
+ size: "sm",
139
+ style: {
140
+ color: bloomTheme.colors.textSecondary
141
+ }
142
+ }),
143
+ children: "Choose an account"
144
+ }), /*#__PURE__*/_jsxs(View, {
145
+ className: "w-full",
146
+ children: [pw.step === 'identifier' && /*#__PURE__*/_jsx(TextInput, {
147
+ style: inputStyle,
148
+ value: pw.identifier,
149
+ onChangeText: pw.setIdentifier,
150
+ onSubmitEditing: pw.submitIdentifier,
151
+ placeholder: "Username or email",
152
+ placeholderTextColor: bloomTheme.colors.textSecondary,
153
+ autoCapitalize: "none",
154
+ autoCorrect: false,
155
+ keyboardType: "email-address",
156
+ returnKeyType: "next",
157
+ accessibilityLabel: "Username or email"
158
+ }), pw.step === 'password' && /*#__PURE__*/_jsxs(_Fragment, {
159
+ children: [/*#__PURE__*/_jsx(Text, {
160
+ className: "font-sans text-body text-text-secondary text-center mb-space-12",
161
+ children: pw.identifier
162
+ }), /*#__PURE__*/_jsx(TextInput, {
163
+ style: inputStyle,
164
+ value: pw.password,
165
+ onChangeText: pw.setPassword,
166
+ onSubmitEditing: pw.submitPassword,
167
+ placeholder: "Password",
168
+ placeholderTextColor: bloomTheme.colors.textSecondary,
169
+ secureTextEntry: true,
170
+ autoCapitalize: "none",
171
+ autoCorrect: false,
172
+ returnKeyType: "go",
173
+ accessibilityLabel: "Password"
174
+ })]
175
+ }), pw.step === 'twoFactor' && /*#__PURE__*/_jsx(TextInput, {
176
+ style: inputStyle,
177
+ value: pw.code,
178
+ onChangeText: pw.setCode,
179
+ onSubmitEditing: pw.submitTwoFactor,
180
+ placeholder: pw.useBackupCode ? 'Backup code' : '6-digit code',
181
+ placeholderTextColor: bloomTheme.colors.textSecondary,
182
+ autoCapitalize: "none",
183
+ autoCorrect: false,
184
+ keyboardType: pw.useBackupCode ? 'default' : 'number-pad',
185
+ returnKeyType: "go",
186
+ accessibilityLabel: pw.useBackupCode ? 'Backup code' : 'Two-factor code'
187
+ }), /*#__PURE__*/_jsx(Button, {
188
+ variant: "primary",
189
+ size: "large",
190
+ fullWidth: true,
191
+ className: "w-full",
192
+ onPress: pw.step === 'identifier' ? pw.submitIdentifier : pw.step === 'password' ? pw.submitPassword : pw.submitTwoFactor,
193
+ loading: pw.isSubmitting,
194
+ disabled: pw.isSubmitting,
195
+ children: pw.step === 'identifier' ? 'Continue' : pw.step === 'password' ? 'Sign in' : 'Verify'
196
+ }), pw.error && /*#__PURE__*/_jsx(Text, {
197
+ className: "font-sans text-body text-destructive text-center mt-space-12",
198
+ children: pw.error
199
+ }), pw.step === 'twoFactor' && /*#__PURE__*/_jsx(Button, {
200
+ variant: "text",
201
+ size: "small",
202
+ className: "mt-space-8",
203
+ onPress: () => pw.setUseBackupCode(!pw.useBackupCode),
204
+ children: pw.useBackupCode ? 'Use authenticator code' : 'Use a backup code'
205
+ }), pw.step !== 'identifier' && /*#__PURE__*/_jsx(Button, {
206
+ variant: "text",
207
+ size: "small",
208
+ className: "mt-space-8",
209
+ onPress: pw.back,
210
+ accessibilityLabel: "Back",
211
+ children: "Back"
212
+ })]
213
+ }), /*#__PURE__*/_jsxs(View, {
214
+ className: "flex-row items-center w-full my-space-16 gap-space-8",
215
+ children: [/*#__PURE__*/_jsx(View, {
216
+ className: "flex-1",
217
+ style: {
218
+ height: 1,
219
+ backgroundColor: bloomTheme.colors.border
220
+ }
221
+ }), /*#__PURE__*/_jsx(Text, {
222
+ className: "font-sans text-caption text-text-tertiary",
223
+ children: "or"
224
+ }), /*#__PURE__*/_jsx(View, {
225
+ className: "flex-1",
226
+ style: {
227
+ height: 1,
228
+ backgroundColor: bloomTheme.colors.border
229
+ }
230
+ })]
231
+ }), isLoading ? /*#__PURE__*/_jsx(LoadingState, {
232
+ size: "small",
233
+ color: bloomTheme.colors.primary,
234
+ message: "Preparing sign in\u2026"
235
+ }) : error ? /*#__PURE__*/_jsxs(View, {
236
+ className: "items-center gap-space-16 w-full",
237
+ children: [/*#__PURE__*/_jsx(IconCircle, {
238
+ icon: Icons.Warning_Stroke2_Corner0_Rounded
239
+ }), /*#__PURE__*/_jsx(Text, {
240
+ className: "font-sans text-body text-text-secondary text-center",
241
+ children: error
242
+ }), /*#__PURE__*/_jsx(Button, {
243
+ variant: "secondary",
244
+ fullWidth: true,
245
+ className: "w-full",
246
+ onPress: retry,
247
+ icon: /*#__PURE__*/_jsx(Icons.ArrowRotateClockwise_Stroke2_Corner0_Rounded, {
248
+ size: "sm",
249
+ style: {
250
+ color: bloomTheme.colors.text
251
+ }
252
+ }),
253
+ children: "Try Again"
254
+ })]
255
+ }) : /*#__PURE__*/_jsxs(_Fragment, {
256
+ children: [qrPayload && /*#__PURE__*/_jsx(Button, {
257
+ variant: "secondary",
258
+ size: "large",
259
+ fullWidth: true,
260
+ className: "w-full",
261
+ onPress: openSameDeviceApproval,
262
+ icon: /*#__PURE__*/_jsx(OxyLogo, {
263
+ variant: "icon",
264
+ size: 20,
265
+ fillColor: bloomTheme.colors.text
266
+ }),
267
+ children: "Sign in with the Oxy app"
268
+ }), isWaiting && /*#__PURE__*/_jsxs(View, {
269
+ className: "flex-row items-center mt-space-16 gap-space-8",
270
+ children: [/*#__PURE__*/_jsx(Loading, {
271
+ size: "small"
272
+ }), /*#__PURE__*/_jsx(Text, {
273
+ className: "font-sans text-body text-text-secondary",
274
+ children: "Waiting for authorization\u2026"
275
+ })]
276
+ }), /*#__PURE__*/_jsx(View, {
277
+ className: "w-full mt-space-24",
278
+ children: /*#__PURE__*/_jsx(AnotherDeviceQR, {
279
+ qrData: qrData,
280
+ qrPayload: qrPayload
281
+ })
282
+ })]
141
283
  })]
142
- }), !crossApexWeb && /*#__PURE__*/_jsx(View, {
143
- className: "w-full mt-space-24",
144
- children: /*#__PURE__*/_jsx(AnotherDeviceQR, {
145
- qrData: qrData,
146
- qrPayload: qrPayload
147
- })
148
284
  }), /*#__PURE__*/_jsxs(View, {
149
285
  className: "flex-row flex-wrap justify-center items-center mt-space-24",
150
286
  children: [/*#__PURE__*/_jsx(Text, {
@@ -1 +1 @@
1
- {"version":3,"names":["View","Linking","useTheme","Button","Loading","H4","Text","IconCircle","Icons","useOxy","OxyLogo","AnotherDeviceQR","LoadingState","useOxyAuthSession","OXY_ACCOUNTS_WEB_URL","isCrossApexWeb","jsx","_jsx","jsxs","_jsxs","OxyAuthScreen","goBack","onAuthenticated","bloomTheme","oxyServices","handleWebSession","clientId","qrData","qrPayload","isLoading","error","isWaiting","openAuthApproval","openSameDeviceApproval","retry","onSignedIn","crossApexWeb","className","children","size","color","colors","primary","message","icon","Warning_Stroke2_Corner0_Rounded","variant","fullWidth","onPress","ArrowRotateClockwise_Stroke2_Corner0_Rounded","style","primaryForeground","fillColor","text","openURL","accessibilityLabel"],"sourceRoot":"../../../../src","sources":["ui/screens/OxyAuthScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useCallback","useState","View","TextInput","Linking","useTheme","Button","Loading","H4","Text","IconCircle","Icons","toast","isDev","logger","loggerUtil","useOxy","OxyLogo","AnotherDeviceQR","LoadingState","SignInAccountChooser","useSwitchableAccounts","useI18n","useOxyAuthSession","OXY_ACCOUNTS_WEB_URL","usePasswordSignIn","jsx","_jsx","jsxs","_jsxs","Fragment","_Fragment","OxyAuthScreen","goBack","onAuthenticated","bloomTheme","oxyServices","handleWebSession","clientId","switchToAccount","t","accounts","useAnother","setUseAnother","switchingId","setSwitchingId","showChooser","length","qrData","qrPayload","isLoading","error","isWaiting","openSameDeviceApproval","retry","onSignedIn","pw","handleSelectAccount","account","isCurrent","accountId","switchError","warn","component","inputStyle","width","borderWidth","borderRadius","paddingHorizontal","paddingVertical","fontSize","marginBottom","borderColor","colors","border","color","text","backgroundColor","backgroundSecondary","title","subtitle","className","children","variant","size","onSelectAccount","onUseAnother","pendingAccountId","disabled","onPress","accessibilityLabel","icon","ArrowLeft_Stroke2_Corner0_Rounded","style","textSecondary","step","value","identifier","onChangeText","setIdentifier","onSubmitEditing","submitIdentifier","placeholder","placeholderTextColor","autoCapitalize","autoCorrect","keyboardType","returnKeyType","password","setPassword","submitPassword","secureTextEntry","code","setCode","submitTwoFactor","useBackupCode","fullWidth","loading","isSubmitting","setUseBackupCode","back","height","primary","message","Warning_Stroke2_Corner0_Rounded","ArrowRotateClockwise_Stroke2_Corner0_Rounded","fillColor","openURL"],"sourceRoot":"../../../../src","sources":["ui/screens/OxyAuthScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -190,6 +190,19 @@ const ProfileScreen = ({
190
190
  });
191
191
  }
192
192
  const displayName = profile ? getAccountDisplayName(profile, locale) : username || '';
193
+
194
+ // The singular `location` field was removed from the User contract; derive
195
+ // the primary place from the `locations` list instead. `locations` is only
196
+ // reachable through the User index signature (typed `unknown`), so narrow it
197
+ // defensively before rendering the chip.
198
+ const primaryLocation = (() => {
199
+ const locations = profile?.locations;
200
+ const first = Array.isArray(locations) ? locations[0] : undefined;
201
+ if (first && typeof first === 'object' && 'name' in first && typeof first.name === 'string') {
202
+ return first.name || undefined;
203
+ }
204
+ return undefined;
205
+ })();
193
206
  return /*#__PURE__*/_jsx(View, {
194
207
  style: styles.container,
195
208
  className: "bg-bg",
@@ -260,13 +273,13 @@ const ProfileScreen = ({
260
273
  date: new Date(profile.createdAt).toLocaleDateString()
261
274
  }) || `Joined ${new Date(profile.createdAt).toLocaleDateString()}`,
262
275
  showChevron: false
263
- }), profile?.location && /*#__PURE__*/_jsx(SettingsListItem, {
276
+ }), primaryLocation && /*#__PURE__*/_jsx(SettingsListItem, {
264
277
  icon: /*#__PURE__*/_jsx(Ionicons, {
265
278
  name: "location-outline",
266
279
  size: INFO_ICON_SIZE,
267
280
  color: bloomTheme.colors.textSecondary
268
281
  }),
269
- title: profile.location,
282
+ title: primaryLocation,
270
283
  showChevron: false
271
284
  }), profile?.website && /*#__PURE__*/_jsx(SettingsListItem, {
272
285
  icon: /*#__PURE__*/_jsx(Ionicons, {
@@ -1 +1 @@
1
- {"version":3,"names":["useEffect","useState","View","StyleSheet","ActivityIndicator","ScrollView","useTheme","Button","H2","Text","SettingsListGroup","SettingsListItem","Avatar","FollowButton","useFollow","Ionicons","useI18n","useOxy","getAccountDisplayName","logger","normalizeProfileLinks","extractErrorMessage","jsx","_jsx","jsxs","_jsxs","AVATAR_SIZE","BANNER_HEIGHT","AVATAR_OVERLAP","INFO_ICON_SIZE","ProfileScreen","userId","username","theme","goBack","navigate","oxyServices","user","currentUser","profile","setProfile","reputationTotal","setReputationTotal","postsCount","setPostsCount","commentsCount","setCommentsCount","isLoading","setIsLoading","error","setError","links","setLinks","followerCount","followingCount","isLoadingCounts","bloomTheme","t","locale","normalizeId","id","String","trim","currentUserId","targetUserId","isOwnProfile","Promise","all","getUserById","catch","err","normalizedCurrentId","normalizedTargetId","getReputationBalance","then","balance","total","undefined","getUserStats","postCount","commentCount","resolve","profileRes","reputationRes","statsRes","linksMetadata","Error","component","errorMessage","errorWithStatus","errorMessageText","status","includes","finally","style","styles","centerContainer","className","children","size","color","colors","primary","container","errorHeader","variant","onPress","accessibilityLabel","icon","name","text","errorTitle","errorContent","errorText","errorSubtext","displayName","flex","contentContainerStyle","scrollContainer","bannerContainer","avatarRow","avatarWrapper","uri","avatar","getFileDownloadUrl","actionButtonWrapper","onFollowChange","isFollowing","__DEV__","debug","header","subText","bio","createdAt","textSecondary","title","date","Date","toLocaleDateString","showChevron","location","website","company","jobTitle","education","birthday","length","url","value","count","statsRow","statItem","statAmount","statLabel","create","justifyContent","alignItems","paddingBottom","height","position","overflow","flexDirection","marginTop","zIndex","borderWidth","width","fontSize","marginBottom","letterSpacing","lineHeight","minWidth","textAlign","fontWeight","gap"],"sourceRoot":"../../../../src","sources":["ui/screens/ProfileScreen.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useEffect","useState","View","StyleSheet","ActivityIndicator","ScrollView","useTheme","Button","H2","Text","SettingsListGroup","SettingsListItem","Avatar","FollowButton","useFollow","Ionicons","useI18n","useOxy","getAccountDisplayName","logger","normalizeProfileLinks","extractErrorMessage","jsx","_jsx","jsxs","_jsxs","AVATAR_SIZE","BANNER_HEIGHT","AVATAR_OVERLAP","INFO_ICON_SIZE","ProfileScreen","userId","username","theme","goBack","navigate","oxyServices","user","currentUser","profile","setProfile","reputationTotal","setReputationTotal","postsCount","setPostsCount","commentsCount","setCommentsCount","isLoading","setIsLoading","error","setError","links","setLinks","followerCount","followingCount","isLoadingCounts","bloomTheme","t","locale","normalizeId","id","String","trim","currentUserId","targetUserId","isOwnProfile","Promise","all","getUserById","catch","err","normalizedCurrentId","normalizedTargetId","getReputationBalance","then","balance","total","undefined","getUserStats","postCount","commentCount","resolve","profileRes","reputationRes","statsRes","linksMetadata","Error","component","errorMessage","errorWithStatus","errorMessageText","status","includes","finally","style","styles","centerContainer","className","children","size","color","colors","primary","container","errorHeader","variant","onPress","accessibilityLabel","icon","name","text","errorTitle","errorContent","errorText","errorSubtext","displayName","primaryLocation","locations","first","Array","isArray","flex","contentContainerStyle","scrollContainer","bannerContainer","avatarRow","avatarWrapper","uri","avatar","getFileDownloadUrl","actionButtonWrapper","onFollowChange","isFollowing","__DEV__","debug","header","subText","bio","createdAt","textSecondary","title","date","Date","toLocaleDateString","showChevron","website","company","jobTitle","education","birthday","length","url","value","count","statsRow","statItem","statAmount","statLabel","create","justifyContent","alignItems","paddingBottom","height","position","overflow","flexDirection","marginTop","zIndex","borderWidth","width","fontSize","marginBottom","letterSpacing","lineHeight","minWidth","textAlign","fontWeight","gap"],"sourceRoot":"../../../../src","sources":["ui/screens/ProfileScreen.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Pure link-display helpers for the profile "links" editor. Kept out of the
5
+ * screen component so the string-coercion guard can be unit-tested without
6
+ * rendering the whole React Native screen.
7
+ */
8
+
9
+ /** Strip the protocol and any trailing slash from a link URL for display. */
10
+ export const getLinkTitle = url => url.replace(/^https?:\/\//, '').replace(/\/$/, '');
11
+
12
+ /** Human-readable description for a link URL. */
13
+ export const getLinkDescription = url => `Link to ${url}`;
14
+ /**
15
+ * Build editable list items from a raw links array. The array can come from
16
+ * legacy or untrusted profile data whose elements are not guaranteed to be
17
+ * strings, so each entry is coerced with `String(item ?? '')` before formatting
18
+ * — a non-string element must never crash the editor.
19
+ */
20
+ export function linksToListItems(links) {
21
+ return links.map((item, i) => {
22
+ const url = String(item ?? '');
23
+ return {
24
+ id: `link-${i}`,
25
+ url,
26
+ title: getLinkTitle(url),
27
+ description: getLinkDescription(url)
28
+ };
29
+ });
30
+ }
31
+ //# sourceMappingURL=linkFormat.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["getLinkTitle","url","replace","getLinkDescription","linksToListItems","links","map","item","i","String","id","title","description"],"sourceRoot":"../../../../src","sources":["ui/screens/linkFormat.ts"],"mappings":";;AAAA;AACA;AACA;AACA;AACA;;AAEA;AACA,OAAO,MAAMA,YAAY,GAAIC,GAAW,IACpCA,GAAG,CAACC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAACA,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC;;AAEtD;AACA,OAAO,MAAMC,kBAAkB,GAAIF,GAAW,IAAa,WAAWA,GAAG,EAAE;AAS3E;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASG,gBAAgBA,CAACC,KAAyB,EAAkB;EACxE,OAAOA,KAAK,CAACC,GAAG,CAAC,CAACC,IAAI,EAAEC,CAAC,KAAK;IAC1B,MAAMP,GAAG,GAAGQ,MAAM,CAACF,IAAI,IAAI,EAAE,CAAC;IAC9B,OAAO;MACHG,EAAE,EAAE,QAAQF,CAAC,EAAE;MACfP,GAAG;MACHU,KAAK,EAAEX,YAAY,CAACC,GAAG,CAAC;MACxBW,WAAW,EAAET,kBAAkB,CAACF,GAAG;IACvC,CAAC;EACL,CAAC,CAAC;AACN","ignoreList":[]}