@oxyhq/services 13.0.3 → 13.1.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 (61) hide show
  1. package/lib/commonjs/index.js +18 -0
  2. package/lib/commonjs/index.js.map +1 -1
  3. package/lib/commonjs/ui/components/ProfileButton.js +233 -0
  4. package/lib/commonjs/ui/components/ProfileButton.js.map +1 -0
  5. package/lib/commonjs/ui/components/ProfileMenu.js +374 -0
  6. package/lib/commonjs/ui/components/ProfileMenu.js.map +1 -0
  7. package/lib/commonjs/ui/context/OxyContext.js +99 -18
  8. package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
  9. package/lib/commonjs/ui/context/hooks/useAuthOperations.js +28 -1
  10. package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
  11. package/lib/commonjs/ui/index.js +14 -0
  12. package/lib/commonjs/ui/index.js.map +1 -1
  13. package/lib/commonjs/ui/utils/activeAuthuser.js +76 -8
  14. package/lib/commonjs/ui/utils/activeAuthuser.js.map +1 -1
  15. package/lib/module/index.js +5 -0
  16. package/lib/module/index.js.map +1 -1
  17. package/lib/module/ui/components/ProfileButton.js +228 -0
  18. package/lib/module/ui/components/ProfileButton.js.map +1 -0
  19. package/lib/module/ui/components/ProfileMenu.js +370 -0
  20. package/lib/module/ui/components/ProfileMenu.js.map +1 -0
  21. package/lib/module/ui/context/OxyContext.js +100 -19
  22. package/lib/module/ui/context/OxyContext.js.map +1 -1
  23. package/lib/module/ui/context/hooks/useAuthOperations.js +29 -2
  24. package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
  25. package/lib/module/ui/index.js +2 -0
  26. package/lib/module/ui/index.js.map +1 -1
  27. package/lib/module/ui/utils/activeAuthuser.js +74 -9
  28. package/lib/module/ui/utils/activeAuthuser.js.map +1 -1
  29. package/lib/typescript/commonjs/index.d.ts +4 -0
  30. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  31. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts +46 -0
  32. package/lib/typescript/commonjs/ui/components/ProfileButton.d.ts.map +1 -0
  33. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts +39 -0
  34. package/lib/typescript/commonjs/ui/components/ProfileMenu.d.ts.map +1 -0
  35. package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
  36. package/lib/typescript/commonjs/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  37. package/lib/typescript/commonjs/ui/index.d.ts +2 -0
  38. package/lib/typescript/commonjs/ui/index.d.ts.map +1 -1
  39. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts +24 -0
  40. package/lib/typescript/commonjs/ui/utils/activeAuthuser.d.ts.map +1 -1
  41. package/lib/typescript/module/index.d.ts +4 -0
  42. package/lib/typescript/module/index.d.ts.map +1 -1
  43. package/lib/typescript/module/ui/components/ProfileButton.d.ts +46 -0
  44. package/lib/typescript/module/ui/components/ProfileButton.d.ts.map +1 -0
  45. package/lib/typescript/module/ui/components/ProfileMenu.d.ts +39 -0
  46. package/lib/typescript/module/ui/components/ProfileMenu.d.ts.map +1 -0
  47. package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
  48. package/lib/typescript/module/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
  49. package/lib/typescript/module/ui/index.d.ts +2 -0
  50. package/lib/typescript/module/ui/index.d.ts.map +1 -1
  51. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts +24 -0
  52. package/lib/typescript/module/ui/utils/activeAuthuser.d.ts.map +1 -1
  53. package/package.json +3 -3
  54. package/src/index.ts +8 -0
  55. package/src/ui/components/ProfileButton.tsx +270 -0
  56. package/src/ui/components/ProfileMenu.tsx +416 -0
  57. package/src/ui/context/OxyContext.tsx +100 -18
  58. package/src/ui/context/hooks/useAuthOperations.ts +35 -2
  59. package/src/ui/index.ts +2 -0
  60. package/src/ui/utils/__tests__/activeAuthuser.test.ts +75 -0
  61. package/src/ui/utils/activeAuthuser.ts +74 -8
@@ -135,6 +135,18 @@ Object.defineProperty(exports, "PreferencesScreen", {
135
135
  return _PreferencesScreen.default;
136
136
  }
137
137
  });
138
+ Object.defineProperty(exports, "ProfileButton", {
139
+ enumerable: true,
140
+ get: function () {
141
+ return _ProfileButton.default;
142
+ }
143
+ });
144
+ Object.defineProperty(exports, "ProfileMenu", {
145
+ enumerable: true,
146
+ get: function () {
147
+ return _ProfileMenu.default;
148
+ }
149
+ });
138
150
  Object.defineProperty(exports, "closeBottomSheet", {
139
151
  enumerable: true,
140
152
  get: function () {
@@ -644,6 +656,8 @@ var _LogoIcon = require("./ui/components/logo/LogoIcon.js");
644
656
  var _LogoText = require("./ui/components/logo/LogoText.js");
645
657
  var _AccountMenu = _interopRequireDefault(require("./ui/components/AccountMenu.js"));
646
658
  var _AccountMenuButton = _interopRequireDefault(require("./ui/components/AccountMenuButton.js"));
659
+ var _ProfileButton = _interopRequireDefault(require("./ui/components/ProfileButton.js"));
660
+ var _ProfileMenu = _interopRequireDefault(require("./ui/components/ProfileMenu.js"));
647
661
  var _AccountSwitcher = _interopRequireWildcard(require("./ui/components/AccountSwitcher.js"));
648
662
  var _useDeviceAccounts = require("./ui/hooks/useDeviceAccounts.js");
649
663
  var _ManageAccountScreen = _interopRequireDefault(require("./ui/screens/ManageAccountScreen.js"));
@@ -740,6 +754,10 @@ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e
740
754
 
741
755
  // Unified account menu (device-only switcher — popover on web, sheet on native)
742
756
 
757
+ // Sidebar account button + its device-account switcher menu (Bluesky-style
758
+ // ProfileCard). `ProfileButton` owns its own open state + anchor measurement
759
+ // and opens `ProfileMenu` upward from a sidebar footer.
760
+
743
761
  // Unified account switcher (device sign-ins + account graph). `AccountMenuButton`
744
762
  // opens this; the `AccountSwitcherView` body also backs the `AccountSwitcher`
745
763
  // bottom-sheet route.
@@ -1 +1 @@
1
- {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_useOnlineStatus","_errorHandlers","_crossApex","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_AccountMenu","_AccountMenuButton","_AccountSwitcher","_interopRequireWildcard","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_AccountSwitcherScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_SignInModal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["_core","require","_reactNative","_OxyProvider","_interopRequireDefault","_OxyContext","_useAuth","_FontLoader","_authStore","_assetStore","_useSessionSocket","_useAssets","_useFileDownloadUrl","_useFollow","_useAccountQueries","_useServicesQueries","_useSecurityQueries","_usePaymentQueries","_useAccountMutations","_useServicesMutations","_mutationFactory","_mutationKeys","_queryKeys","_useMutationStatus","_useOnlineStatus","_errorHandlers","_crossApex","_useFileFiltering","_Avatar","_OxySignInButton","_OxyAuthPrompt","_OxyLogo","_FollowButton","_LogoIcon","_LogoText","_AccountMenu","_AccountMenuButton","_ProfileButton","_ProfileMenu","_AccountSwitcher","_interopRequireWildcard","_useDeviceAccounts","_ManageAccountScreen","_NotificationsScreen","_PreferencesScreen","_ConnectedAppsScreen","_AccountSwitcherScreen","_CreateAccountScreen","_AccountMembersScreen","_AccountSettingsScreen","_bottomSheetManager","_SignInModal","e","t","WeakMap","r","n","__esModule","o","i","f","__proto__","default","has","get","set","hasOwnProperty","call","Object","defineProperty","getOwnPropertyDescriptor","setPlatformOS","Platform","OS"],"sourceRoot":"../../src","sources":["index.ts"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.default = void 0;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _vectorIcons = require("@expo/vector-icons");
10
+ var _avatar = require("@oxyhq/bloom/avatar");
11
+ var _typography = require("@oxyhq/bloom/typography");
12
+ var _theme = require("@oxyhq/bloom/theme");
13
+ var _core = require("@oxyhq/core");
14
+ var _useAuth = require("../hooks/useAuth.js");
15
+ var _useI18n = require("../hooks/useI18n.js");
16
+ var _ProfileMenu = _interopRequireDefault(require("./ProfileMenu.js"));
17
+ var _jsxRuntime = require("react/jsx-runtime");
18
+ function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
19
+ const isWeb = _reactNative.Platform.OS === 'web';
20
+
21
+ /**
22
+ * Fixed popover width used by {@link ProfileMenu} on web. `ProfileButton`
23
+ * mirrors this constant when computing the trigger-relative anchor so the
24
+ * left-edge clamp keeps the panel fully on-screen. Keep the two in sync.
25
+ */
26
+ const MENU_WIDTH = 300;
27
+
28
+ /** Gutter, in px, kept between the popover and the viewport edges on web. */
29
+ const VIEWPORT_GUTTER = 8;
30
+ /**
31
+ * Self-contained sidebar account trigger, modeled on Bluesky's ProfileCard and
32
+ * the Oxy inbox's `MailboxDrawer` footer. Owns its own open state + anchor
33
+ * measurement, and renders {@link ProfileMenu} (the device-account switcher).
34
+ *
35
+ * Three auth states from {@link useAuth}:
36
+ * - **Undetermined** (`!isAuthResolved || isPrivateApiPending`): a neutral
37
+ * avatar-sized skeleton circle, no press.
38
+ * - **Signed in**: a pressable row — Bloom `Avatar` + display name + `@handle`
39
+ * + an `unfold-more-horizontal` chevron. Press opens the menu upward (web)
40
+ * against the measured trigger, or as a bottom sheet (native).
41
+ * - **Signed out**: a "Sign in" row that calls `useAuth().signIn()`.
42
+ *
43
+ * All display strings resolve through `@oxyhq/core`'s
44
+ * `getAccountDisplayName` / `getAccountFallbackHandle` — no hand-rolled name
45
+ * fallbacks. Avatars pass the bare file id as `source` + `variant="thumb"`, so
46
+ * the app's registered `ImageResolver` builds the thumbnail URL.
47
+ */
48
+ const ProfileButton = ({
49
+ expanded = true,
50
+ avatarSize,
51
+ onNavigateManage,
52
+ onAddAccount,
53
+ onNavigateProfile,
54
+ onBeforeSessionChange,
55
+ className,
56
+ style
57
+ }) => {
58
+ const {
59
+ user,
60
+ isAuthenticated,
61
+ isAuthResolved,
62
+ isPrivateApiPending,
63
+ signIn
64
+ } = (0, _useAuth.useAuth)();
65
+ const {
66
+ colors
67
+ } = (0, _theme.useTheme)();
68
+ const {
69
+ t,
70
+ locale
71
+ } = (0, _useI18n.useI18n)();
72
+ const [menuOpen, setMenuOpen] = (0, _react.useState)(false);
73
+ const [anchor, setAnchor] = (0, _react.useState)(null);
74
+
75
+ // Trigger ref for the web anchor measurement. RN-Web exposes `measure()` on
76
+ // host views, so we anchor the popover to the button rect and open upward.
77
+ const triggerRef = (0, _react.useRef)(null);
78
+ const resolvedAvatarSize = avatarSize ?? (expanded ? 40 : 32);
79
+ const openMenu = (0, _react.useCallback)(() => {
80
+ if (!isWeb) {
81
+ setAnchor(null);
82
+ setMenuOpen(true);
83
+ return;
84
+ }
85
+ const node = triggerRef.current;
86
+ if (!node || typeof node.measure !== 'function' || typeof window === 'undefined') {
87
+ setAnchor(null);
88
+ setMenuOpen(true);
89
+ return;
90
+ }
91
+ node.measure((_x, _y, _w, _h, pageX, pageY) => {
92
+ if (typeof pageX !== 'number' || typeof pageY !== 'number') {
93
+ setAnchor(null);
94
+ } else {
95
+ // Clamp the panel's left edge inside the viewport gutter.
96
+ const maxLeft = Math.max(VIEWPORT_GUTTER, window.innerWidth - MENU_WIDTH - VIEWPORT_GUTTER);
97
+ const left = Math.min(Math.max(VIEWPORT_GUTTER, pageX), maxLeft);
98
+ // Anchor the panel's BOTTOM edge just above the trigger top so
99
+ // the menu opens upward from this footer button.
100
+ const bottom = Math.max(VIEWPORT_GUTTER, window.innerHeight - pageY + VIEWPORT_GUTTER);
101
+ setAnchor({
102
+ left,
103
+ bottom
104
+ });
105
+ }
106
+ setMenuOpen(true);
107
+ });
108
+ }, []);
109
+ const handleClose = (0, _react.useCallback)(() => {
110
+ setMenuOpen(false);
111
+ }, []);
112
+
113
+ // ── Undetermined: skeleton circle, no interaction. ──────────────────────
114
+ if (!isAuthResolved || isPrivateApiPending) {
115
+ return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
116
+ className: className,
117
+ style: style,
118
+ accessibilityElementsHidden: true,
119
+ importantForAccessibility: "no-hide-descendants",
120
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
121
+ className: "rounded-full bg-secondary",
122
+ style: {
123
+ width: resolvedAvatarSize,
124
+ height: resolvedAvatarSize
125
+ }
126
+ })
127
+ });
128
+ }
129
+
130
+ // ── Signed out: "Sign in" row. ──────────────────────────────────────────
131
+ if (!isAuthenticated || !user) {
132
+ const signInLabel = t('common.actions.signIn') || 'Sign in';
133
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
134
+ className: `flex-row items-center gap-3 rounded-full px-2 py-2 ${className ?? ''}`,
135
+ style: style,
136
+ onPress: () => {
137
+ void signIn();
138
+ },
139
+ accessibilityRole: "button",
140
+ accessibilityLabel: signInLabel,
141
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
142
+ className: "items-center justify-center rounded-full bg-secondary",
143
+ style: {
144
+ width: resolvedAvatarSize,
145
+ height: resolvedAvatarSize
146
+ },
147
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
148
+ name: "login",
149
+ size: Math.round(resolvedAvatarSize * 0.5),
150
+ color: colors.icon
151
+ })
152
+ }), expanded ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
153
+ className: "flex-1 font-semibold text-foreground",
154
+ numberOfLines: 1,
155
+ children: signInLabel
156
+ }) : null]
157
+ });
158
+ }
159
+
160
+ // ── Signed in: avatar + identity + chevron. ─────────────────────────────
161
+ const displayName = (0, _core.getAccountDisplayName)(user, locale);
162
+ const handle = (0, _core.getAccountFallbackHandle)(user);
163
+ const handleLine = handle ? `@${handle}` : null;
164
+ const avatarNode = /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
165
+ source: user.avatar ?? undefined,
166
+ variant: "thumb",
167
+ name: displayName,
168
+ size: resolvedAvatarSize
169
+ });
170
+ if (!expanded) {
171
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
172
+ className: className,
173
+ style: style,
174
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.Pressable, {
175
+ ref: triggerRef,
176
+ className: "rounded-full",
177
+ onPress: openMenu,
178
+ accessibilityRole: "button",
179
+ accessibilityLabel: t('accountSwitcher.switchWhileSignedInAs', {
180
+ name: displayName
181
+ }) || `Switch account, signed in as ${displayName}`,
182
+ children: avatarNode
183
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileMenu.default, {
184
+ open: menuOpen,
185
+ onClose: handleClose,
186
+ anchor: anchor,
187
+ onNavigateManage: onNavigateManage,
188
+ onAddAccount: onAddAccount,
189
+ onNavigateProfile: onNavigateProfile,
190
+ onBeforeSessionChange: onBeforeSessionChange
191
+ })]
192
+ });
193
+ }
194
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
195
+ className: className,
196
+ style: style,
197
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.Pressable, {
198
+ ref: triggerRef,
199
+ className: "flex-row items-center gap-3 rounded-full px-2 py-2",
200
+ onPress: openMenu,
201
+ accessibilityRole: "button",
202
+ accessibilityLabel: t('accountSwitcher.switchWhileSignedInAs', {
203
+ name: displayName
204
+ }) || `Switch account, signed in as ${displayName}`,
205
+ children: [avatarNode, /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
206
+ className: "min-w-0 flex-1",
207
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
208
+ className: "font-bold text-foreground",
209
+ numberOfLines: 1,
210
+ children: displayName
211
+ }), handleLine ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
212
+ className: "text-xs text-muted-foreground",
213
+ numberOfLines: 1,
214
+ children: handleLine
215
+ }) : null]
216
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_vectorIcons.MaterialCommunityIcons, {
217
+ name: "unfold-more-horizontal",
218
+ size: 18,
219
+ color: colors.textSecondary
220
+ })]
221
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_ProfileMenu.default, {
222
+ open: menuOpen,
223
+ onClose: handleClose,
224
+ anchor: anchor,
225
+ onNavigateManage: onNavigateManage,
226
+ onAddAccount: onAddAccount,
227
+ onNavigateProfile: onNavigateProfile,
228
+ onBeforeSessionChange: onBeforeSessionChange
229
+ })]
230
+ });
231
+ };
232
+ var _default = exports.default = ProfileButton;
233
+ //# sourceMappingURL=ProfileButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_vectorIcons","_avatar","_typography","_theme","_core","_useAuth","_useI18n","_ProfileMenu","_interopRequireDefault","_jsxRuntime","e","__esModule","default","isWeb","Platform","OS","MENU_WIDTH","VIEWPORT_GUTTER","ProfileButton","expanded","avatarSize","onNavigateManage","onAddAccount","onNavigateProfile","onBeforeSessionChange","className","style","user","isAuthenticated","isAuthResolved","isPrivateApiPending","signIn","useAuth","colors","useTheme","t","locale","useI18n","menuOpen","setMenuOpen","useState","anchor","setAnchor","triggerRef","useRef","resolvedAvatarSize","openMenu","useCallback","node","current","measure","window","_x","_y","_w","_h","pageX","pageY","maxLeft","Math","max","innerWidth","left","min","bottom","innerHeight","handleClose","jsx","View","accessibilityElementsHidden","importantForAccessibility","children","width","height","signInLabel","jsxs","Pressable","onPress","accessibilityRole","accessibilityLabel","MaterialCommunityIcons","name","size","round","color","icon","Text","numberOfLines","displayName","getAccountDisplayName","handle","getAccountFallbackHandle","handleLine","avatarNode","Avatar","source","avatar","undefined","variant","ref","open","onClose","textSecondary","_default","exports"],"sourceRoot":"../../../../src","sources":["ui/components/ProfileButton.tsx"],"mappings":"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","ignoreList":[]}