@oxy.so/services 11.2.0 → 11.3.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 (77) hide show
  1. package/lib/commonjs/ui/components/organizations/OrganizationClaimReview.js +208 -0
  2. package/lib/commonjs/ui/components/organizations/OrganizationClaimReview.js.map +1 -0
  3. package/lib/commonjs/ui/components/organizations/OrganizationClaims.js +77 -0
  4. package/lib/commonjs/ui/components/organizations/OrganizationClaims.js.map +1 -0
  5. package/lib/commonjs/ui/components/organizations/OrganizationDirectorySearch.js +218 -0
  6. package/lib/commonjs/ui/components/organizations/OrganizationDirectorySearch.js.map +1 -0
  7. package/lib/commonjs/ui/components/organizations/OrganizationSettings.js +147 -0
  8. package/lib/commonjs/ui/components/organizations/OrganizationSettings.js.map +1 -0
  9. package/lib/commonjs/ui/components/organizations/OrganizationTypePicker.js +34 -0
  10. package/lib/commonjs/ui/components/organizations/OrganizationTypePicker.js.map +1 -0
  11. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +14 -5
  12. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  13. package/lib/commonjs/ui/screens/CreateAccountScreen.js +148 -115
  14. package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
  15. package/lib/commonjs/ui/screens/ManageAccountScreen.js +13 -1
  16. package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
  17. package/lib/module/ui/components/organizations/OrganizationClaimReview.js +205 -0
  18. package/lib/module/ui/components/organizations/OrganizationClaimReview.js.map +1 -0
  19. package/lib/module/ui/components/organizations/OrganizationClaims.js +73 -0
  20. package/lib/module/ui/components/organizations/OrganizationClaims.js.map +1 -0
  21. package/lib/module/ui/components/organizations/OrganizationDirectorySearch.js +215 -0
  22. package/lib/module/ui/components/organizations/OrganizationDirectorySearch.js.map +1 -0
  23. package/lib/module/ui/components/organizations/OrganizationSettings.js +143 -0
  24. package/lib/module/ui/components/organizations/OrganizationSettings.js.map +1 -0
  25. package/lib/module/ui/components/organizations/OrganizationTypePicker.js +30 -0
  26. package/lib/module/ui/components/organizations/OrganizationTypePicker.js.map +1 -0
  27. package/lib/module/ui/screens/AccountSettingsScreen.js +14 -5
  28. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  29. package/lib/module/ui/screens/CreateAccountScreen.js +149 -115
  30. package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
  31. package/lib/module/ui/screens/ManageAccountScreen.js +13 -1
  32. package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
  33. package/lib/typescript/commonjs/ui/components/organizations/OrganizationClaimReview.d.ts +3 -0
  34. package/lib/typescript/commonjs/ui/components/organizations/OrganizationClaimReview.d.ts.map +1 -0
  35. package/lib/typescript/commonjs/ui/components/organizations/OrganizationClaims.d.ts +2 -0
  36. package/lib/typescript/commonjs/ui/components/organizations/OrganizationClaims.d.ts.map +1 -0
  37. package/lib/typescript/commonjs/ui/components/organizations/OrganizationDirectorySearch.d.ts +6 -0
  38. package/lib/typescript/commonjs/ui/components/organizations/OrganizationDirectorySearch.d.ts.map +1 -0
  39. package/lib/typescript/commonjs/ui/components/organizations/OrganizationSettings.d.ts +5 -0
  40. package/lib/typescript/commonjs/ui/components/organizations/OrganizationSettings.d.ts.map +1 -0
  41. package/lib/typescript/commonjs/ui/components/organizations/OrganizationTypePicker.d.ts +7 -0
  42. package/lib/typescript/commonjs/ui/components/organizations/OrganizationTypePicker.d.ts.map +1 -0
  43. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +3 -2
  44. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  45. package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts +2 -2
  46. package/lib/typescript/commonjs/ui/icons/Ionicons.d.ts +1 -1
  47. package/lib/typescript/commonjs/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  48. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  49. package/lib/typescript/commonjs/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  50. package/lib/typescript/commonjs/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  51. package/lib/typescript/module/ui/components/organizations/OrganizationClaimReview.d.ts +3 -0
  52. package/lib/typescript/module/ui/components/organizations/OrganizationClaimReview.d.ts.map +1 -0
  53. package/lib/typescript/module/ui/components/organizations/OrganizationClaims.d.ts +2 -0
  54. package/lib/typescript/module/ui/components/organizations/OrganizationClaims.d.ts.map +1 -0
  55. package/lib/typescript/module/ui/components/organizations/OrganizationDirectorySearch.d.ts +6 -0
  56. package/lib/typescript/module/ui/components/organizations/OrganizationDirectorySearch.d.ts.map +1 -0
  57. package/lib/typescript/module/ui/components/organizations/OrganizationSettings.d.ts +5 -0
  58. package/lib/typescript/module/ui/components/organizations/OrganizationSettings.d.ts.map +1 -0
  59. package/lib/typescript/module/ui/components/organizations/OrganizationTypePicker.d.ts +7 -0
  60. package/lib/typescript/module/ui/components/organizations/OrganizationTypePicker.d.ts.map +1 -0
  61. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +3 -2
  62. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  63. package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts +2 -2
  64. package/lib/typescript/module/ui/icons/Ionicons.d.ts +1 -1
  65. package/lib/typescript/module/ui/icons/MaterialCommunityIcons.d.ts +1 -1
  66. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  67. package/lib/typescript/module/ui/screens/CreateAccountScreen.d.ts.map +1 -1
  68. package/lib/typescript/module/ui/screens/ManageAccountScreen.d.ts.map +1 -1
  69. package/package.json +8 -8
  70. package/src/ui/components/organizations/OrganizationClaimReview.tsx +218 -0
  71. package/src/ui/components/organizations/OrganizationClaims.tsx +67 -0
  72. package/src/ui/components/organizations/OrganizationDirectorySearch.tsx +228 -0
  73. package/src/ui/components/organizations/OrganizationSettings.tsx +131 -0
  74. package/src/ui/components/organizations/OrganizationTypePicker.tsx +31 -0
  75. package/src/ui/screens/AccountSettingsScreen.tsx +22 -4
  76. package/src/ui/screens/CreateAccountScreen.tsx +177 -124
  77. package/src/ui/screens/ManageAccountScreen.tsx +18 -0
@@ -0,0 +1,208 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OrganizationClaimReview = OrganizationClaimReview;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactQuery = require("@tanstack/react-query");
10
+ var _core = require("@oxy.so/core");
11
+ var _contracts = require("@oxy.so/contracts");
12
+ var _button = require("@oxy.so/bloom/button");
13
+ var _settingsList = require("@oxy.so/bloom/settings-list");
14
+ var _textField = require("@oxy.so/bloom/text-field");
15
+ var _typography = require("@oxy.so/bloom/typography");
16
+ var _OxyContext = require("../../context/OxyContext.js");
17
+ var _useI18n = require("../../hooks/useI18n.js");
18
+ var _jsxRuntime = require("react/jsx-runtime");
19
+ /** The queue is requested only after an explicit action; the server rechecks staff authority. */
20
+ function OrganizationClaimReview() {
21
+ const {
22
+ t
23
+ } = (0, _useI18n.useI18n)();
24
+ const {
25
+ user,
26
+ canUsePrivateApi
27
+ } = (0, _OxyContext.useOxy)();
28
+ const [open, setOpen] = (0, _react.useState)(false);
29
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_settingsList.SettingsListGroup, {
30
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
31
+ title: t('organizationDirectory.review.title'),
32
+ disabled: !canUsePrivateApi,
33
+ onPress: () => setOpen(value => !value)
34
+ }), open && user?.kind === 'personal' && canUsePrivateApi ? /*#__PURE__*/(0, _jsxRuntime.jsx)(ReviewQueue, {}, user.id) : null]
35
+ });
36
+ }
37
+ function ReviewQueue() {
38
+ const {
39
+ t
40
+ } = (0, _useI18n.useI18n)();
41
+ const {
42
+ oxyServices,
43
+ user,
44
+ canUsePrivateApi
45
+ } = (0, _OxyContext.useOxy)();
46
+ const [selected, setSelected] = (0, _react.useState)(null);
47
+ const requests = (0, _reactQuery.useInfiniteQuery)({
48
+ queryKey: ['oxy', 'organizations', 'review', user?.id, canUsePrivateApi],
49
+ queryFn: ({
50
+ pageParam
51
+ }) => oxyServices.organizations.reviewClaims({
52
+ status: 'pending',
53
+ limit: 20,
54
+ ...(pageParam ? {
55
+ cursor: pageParam
56
+ } : {})
57
+ }),
58
+ initialPageParam: undefined,
59
+ getNextPageParam: page => page.nextCursor ?? undefined,
60
+ enabled: canUsePrivateApi,
61
+ retry: false,
62
+ gcTime: 0
63
+ });
64
+ const claims = requests.data?.pages.flatMap(page => page.items) ?? [];
65
+ const ids = [...new Set(claims.map(claim => claim.accountId))].sort();
66
+ const organizations = (0, _reactQuery.useQuery)({
67
+ queryKey: ['oxy', 'organizations', 'review-organizations', ids],
68
+ queryFn: async () => {
69
+ const batches = [];
70
+ for (let offset = 0; offset < ids.length; offset += 100) batches.push(oxyServices.organizations.batch({
71
+ ids: ids.slice(offset, offset + 100)
72
+ }));
73
+ return (await Promise.all(batches)).flatMap(batch => batch.items);
74
+ },
75
+ enabled: canUsePrivateApi && requests.isSuccess && ids.length > 0,
76
+ retry: false
77
+ });
78
+ if (requests.isPending) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {});
79
+ if (requests.isError) return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
80
+ className: "gap-space-16 p-space-16",
81
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
82
+ accessibilityRole: "alert",
83
+ children: t((0, _core.isHttpRequestError)(requests.error) && requests.error.status === 403 ? 'organizationDirectory.review.forbidden' : 'organizationDirectory.requestError')
84
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
85
+ onPress: () => requests.refetch(),
86
+ children: t('organizationDirectory.retry')
87
+ })]
88
+ });
89
+ if (selected) return /*#__PURE__*/(0, _jsxRuntime.jsx)(ReviewDetail, {
90
+ claimId: selected,
91
+ onClose: () => setSelected(null)
92
+ }, selected);
93
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
94
+ className: "gap-space-16 p-space-16",
95
+ children: [claims.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
96
+ children: t('organizationDirectory.review.empty')
97
+ }) : null, claims.map(claim => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
98
+ title: organizations.data?.find(item => item.requestedAccountId === claim.accountId)?.organization.name ?? t('organizationDirectory.view'),
99
+ description: t('organizationDirectory.pending'),
100
+ onPress: () => setSelected(claim.id)
101
+ }, claim.id)), requests.hasNextPage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
102
+ onPress: () => requests.fetchNextPage(),
103
+ disabled: requests.isFetchingNextPage,
104
+ children: t('organizationDirectory.loadMore')
105
+ }) : null]
106
+ });
107
+ }
108
+ function ReviewDetail({
109
+ claimId,
110
+ onClose
111
+ }) {
112
+ const {
113
+ t
114
+ } = (0, _useI18n.useI18n)();
115
+ const {
116
+ oxyServices,
117
+ user,
118
+ canUsePrivateApi
119
+ } = (0, _OxyContext.useOxy)();
120
+ const queryClient = (0, _reactQuery.useQueryClient)();
121
+ const [evidence, setEvidence] = (0, _react.useState)('');
122
+ const [authorizationRevoked, setAuthorizationRevoked] = (0, _react.useState)(false);
123
+ const detail = (0, _reactQuery.useQuery)({
124
+ queryKey: ['oxy', 'organizations', 'review-detail', user?.id, canUsePrivateApi, claimId],
125
+ queryFn: () => oxyServices.organizations.reviewClaimDetail(claimId),
126
+ enabled: canUsePrivateApi,
127
+ retry: false,
128
+ gcTime: 0
129
+ });
130
+ const review = (0, _reactQuery.useMutation)({
131
+ mutationFn: decision => {
132
+ if (!canUsePrivateApi || authorizationRevoked || !detail.isSuccess || !detail.data || detail.data.claimantUserId === user?.id) throw new Error('Independent staff review is required');
133
+ return oxyServices.organizations.reviewClaim(claimId, _contracts.organizationClaimReviewSchema.parse({
134
+ decision,
135
+ evidenceReference: evidence
136
+ }));
137
+ },
138
+ onError: error => {
139
+ if ((0, _core.isHttpRequestError)(error) && error.status === 403) setAuthorizationRevoked(true);
140
+ },
141
+ onSuccess: async () => {
142
+ await queryClient.invalidateQueries({
143
+ queryKey: ['oxy', 'organizations']
144
+ });
145
+ await queryClient.invalidateQueries({
146
+ queryKey: ['accounts']
147
+ });
148
+ onClose();
149
+ }
150
+ });
151
+ const conflict = (0, _core.isHttpRequestError)(review.error) && review.error.status === 409;
152
+ const forbidden = (0, _core.isHttpRequestError)(review.error) && review.error.status === 403;
153
+ const selfReview = detail.data?.claimantUserId === user?.id;
154
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
155
+ className: "gap-space-16 p-space-16",
156
+ children: [detail.isPending ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {}) : null, detail.isError ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
157
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
158
+ accessibilityRole: "alert",
159
+ children: t((0, _core.isHttpRequestError)(detail.error) && detail.error.status === 403 ? 'organizationDirectory.review.forbidden' : 'organizationDirectory.requestError')
160
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
161
+ onPress: () => detail.refetch(),
162
+ children: t('organizationDirectory.retry')
163
+ })]
164
+ }) : null, authorizationRevoked ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
165
+ accessibilityRole: "alert",
166
+ children: t('organizationDirectory.review.forbidden')
167
+ }) : null, detail.isSuccess && canUsePrivateApi && !authorizationRevoked ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
168
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
169
+ children: t('organizationDirectory.evidence')
170
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
171
+ selectable: true,
172
+ children: detail.data.evidenceReference
173
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
174
+ children: t('organizationDirectory.review.hint')
175
+ }), selfReview ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
176
+ children: t('organizationDirectory.review.independent')
177
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
178
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
179
+ label: t('organizationDirectory.review.evidence'),
180
+ value: evidence,
181
+ onChangeText: setEvidence,
182
+ maxLength: 1000
183
+ })
184
+ }), review.isError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
185
+ accessibilityRole: "alert",
186
+ children: t(conflict ? 'organizationDirectory.review.conflict' : forbidden ? 'organizationDirectory.review.forbidden' : 'organizationDirectory.review.failed')
187
+ }) : null, ['approved', 'rejected'].map(decision => /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
188
+ disabled: !canUsePrivateApi || selfReview || detail.data.status !== 'pending' || !evidence.trim() || review.isPending || conflict || forbidden,
189
+ onPress: () => review.mutate(decision),
190
+ children: t(`organizationDirectory.review.${decision}`)
191
+ }, decision)), conflict ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
192
+ onPress: async () => {
193
+ await queryClient.invalidateQueries({
194
+ queryKey: ['oxy', 'organizations']
195
+ });
196
+ onClose();
197
+ },
198
+ children: t('organizationDirectory.retry')
199
+ }) : null]
200
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
201
+ appearance: "outline",
202
+ onPress: onClose,
203
+ disabled: review.isPending,
204
+ children: t('organizationDirectory.back')
205
+ })]
206
+ });
207
+ }
208
+ //# sourceMappingURL=OrganizationClaimReview.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactQuery","_core","_contracts","_button","_settingsList","_textField","_typography","_OxyContext","_useI18n","_jsxRuntime","OrganizationClaimReview","t","useI18n","user","canUsePrivateApi","useOxy","open","setOpen","useState","jsxs","SettingsListGroup","children","jsx","SettingsListItem","title","disabled","onPress","value","kind","ReviewQueue","id","oxyServices","selected","setSelected","requests","useInfiniteQuery","queryKey","queryFn","pageParam","organizations","reviewClaims","status","limit","cursor","initialPageParam","undefined","getNextPageParam","page","nextCursor","enabled","retry","gcTime","claims","data","pages","flatMap","items","ids","Set","map","claim","accountId","sort","useQuery","batches","offset","length","push","batch","slice","Promise","all","isSuccess","isPending","ActivityIndicator","isError","View","className","Text","accessibilityRole","isHttpRequestError","error","Button","refetch","ReviewDetail","claimId","onClose","find","item","requestedAccountId","organization","name","description","hasNextPage","fetchNextPage","isFetchingNextPage","queryClient","useQueryClient","evidence","setEvidence","authorizationRevoked","setAuthorizationRevoked","detail","reviewClaimDetail","review","useMutation","mutationFn","decision","claimantUserId","Error","reviewClaim","organizationClaimReviewSchema","parse","evidenceReference","onError","onSuccess","invalidateQueries","conflict","forbidden","selfReview","Fragment","selectable","TextField","TextFieldInput","label","onChangeText","maxLength","trim","mutate","appearance"],"sourceRoot":"../../../../../src","sources":["ui/components/organizations/OrganizationClaimReview.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,77 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OrganizationClaims = OrganizationClaims;
7
+ var _reactNative = require("react-native");
8
+ var _reactQuery = require("@tanstack/react-query");
9
+ var _button = require("@oxy.so/bloom/button");
10
+ var _settingsList = require("@oxy.so/bloom/settings-list");
11
+ var _typography = require("@oxy.so/bloom/typography");
12
+ var _OxyContext = require("../../context/OxyContext.js");
13
+ var _useI18n = require("../../hooks/useI18n.js");
14
+ var _jsxRuntime = require("react/jsx-runtime");
15
+ function OrganizationClaims() {
16
+ const {
17
+ oxyServices,
18
+ user,
19
+ canUsePrivateApi
20
+ } = (0, _OxyContext.useOxy)();
21
+ const {
22
+ t
23
+ } = (0, _useI18n.useI18n)();
24
+ const enabled = canUsePrivateApi && user?.kind === 'personal';
25
+ const requests = (0, _reactQuery.useInfiniteQuery)({
26
+ queryKey: ['oxy', 'organizations', 'claims', user?.id, canUsePrivateApi],
27
+ queryFn: ({
28
+ pageParam
29
+ }) => oxyServices.organizations.myClaims({
30
+ limit: 20,
31
+ ...(pageParam ? {
32
+ cursor: pageParam
33
+ } : {})
34
+ }),
35
+ initialPageParam: undefined,
36
+ getNextPageParam: page => page.nextCursor ?? undefined,
37
+ enabled,
38
+ retry: false,
39
+ gcTime: 0
40
+ });
41
+ const claims = requests.data?.pages.flatMap(page => page.items) ?? [];
42
+ const ids = [...new Set(claims.map(claim => claim.accountId))].sort();
43
+ const organizations = (0, _reactQuery.useQuery)({
44
+ queryKey: ['oxy', 'organizations', 'claims-employers', ids],
45
+ queryFn: async () => {
46
+ const batches = [];
47
+ for (let offset = 0; offset < ids.length; offset += 100) batches.push(oxyServices.organizations.batch({
48
+ ids: ids.slice(offset, offset + 100)
49
+ }));
50
+ return (await Promise.all(batches)).flatMap(batch => batch.items);
51
+ },
52
+ enabled: enabled && ids.length > 0,
53
+ retry: false
54
+ });
55
+ if (!enabled || !requests.isError && claims.length === 0) return null;
56
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_settingsList.SettingsListGroup, {
57
+ title: t('organizationDirectory.requests'),
58
+ children: [requests.isError ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
59
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
60
+ accessibilityRole: "alert",
61
+ children: t('organizationDirectory.requestError')
62
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
63
+ onPress: () => requests.refetch(),
64
+ children: t('organizationDirectory.retry')
65
+ })]
66
+ }) : null, !requests.isError && claims.map(claim => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
67
+ title: organizations.data?.find(item => item.requestedAccountId === claim.accountId)?.organization.name ?? t('organizationDirectory.view'),
68
+ description: t(`organizationDirectory.${claim.status}`),
69
+ showChevron: false
70
+ }, claim.id)), !requests.isError && requests.hasNextPage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
71
+ onPress: () => requests.fetchNextPage(),
72
+ disabled: requests.isFetchingNextPage,
73
+ children: t('organizationDirectory.loadMore')
74
+ }) : null]
75
+ });
76
+ }
77
+ //# sourceMappingURL=OrganizationClaims.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_reactNative","require","_reactQuery","_button","_settingsList","_typography","_OxyContext","_useI18n","_jsxRuntime","OrganizationClaims","oxyServices","user","canUsePrivateApi","useOxy","t","useI18n","enabled","kind","requests","useInfiniteQuery","queryKey","id","queryFn","pageParam","organizations","myClaims","limit","cursor","initialPageParam","undefined","getNextPageParam","page","nextCursor","retry","gcTime","claims","data","pages","flatMap","items","ids","Set","map","claim","accountId","sort","useQuery","batches","offset","length","push","batch","slice","Promise","all","isError","jsxs","SettingsListGroup","title","children","View","jsx","Text","accessibilityRole","Button","onPress","refetch","SettingsListItem","find","item","requestedAccountId","organization","name","description","status","showChevron","hasNextPage","fetchNextPage","disabled","isFetchingNextPage"],"sourceRoot":"../../../../../src","sources":["ui/components/organizations/OrganizationClaims.tsx"],"mappings":"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","ignoreList":[]}
@@ -0,0 +1,218 @@
1
+ "use strict";
2
+
3
+ Object.defineProperty(exports, "__esModule", {
4
+ value: true
5
+ });
6
+ exports.OrganizationDirectorySearch = OrganizationDirectorySearch;
7
+ var _react = require("react");
8
+ var _reactNative = require("react-native");
9
+ var _reactQuery = require("@tanstack/react-query");
10
+ var _contracts = require("@oxy.so/contracts");
11
+ var _avatar = require("@oxy.so/bloom/avatar");
12
+ var _button = require("@oxy.so/bloom/button");
13
+ var _settingsList = require("@oxy.so/bloom/settings-list");
14
+ var _textField = require("@oxy.so/bloom/text-field");
15
+ var _typography = require("@oxy.so/bloom/typography");
16
+ var _OxyContext = require("../../context/OxyContext.js");
17
+ var _useI18n = require("../../hooks/useI18n.js");
18
+ var _OrganizationTypePicker = require("./OrganizationTypePicker.js");
19
+ var _jsxRuntime = require("react/jsx-runtime");
20
+ /** Finding an existing identity never grants ownership or silently creates an account. */
21
+ function OrganizationDirectorySearch({
22
+ onCreateAccount
23
+ }) {
24
+ const {
25
+ oxyServices,
26
+ user,
27
+ canUsePrivateApi
28
+ } = (0, _OxyContext.useOxy)();
29
+ const {
30
+ t
31
+ } = (0, _useI18n.useI18n)();
32
+ const queryClient = (0, _reactQuery.useQueryClient)();
33
+ const [search, setSearch] = (0, _react.useState)('');
34
+ const [query, setQuery] = (0, _react.useState)('');
35
+ const [selected, setSelected] = (0, _react.useState)(null);
36
+ const [adding, setAdding] = (0, _react.useState)(false);
37
+ const [type, setType] = (0, _react.useState)('business');
38
+ const [evidence, setEvidence] = (0, _react.useState)('');
39
+ const [validationError, setValidationError] = (0, _react.useState)(false);
40
+ const personalReady = canUsePrivateApi && user?.kind === 'personal';
41
+ (0, _react.useEffect)(() => {
42
+ const timer = setTimeout(() => setQuery(search.trim()), 300);
43
+ return () => clearTimeout(timer);
44
+ }, [search]);
45
+ const results = (0, _reactQuery.useInfiniteQuery)({
46
+ queryKey: ['oxy', 'organizations', 'search', query],
47
+ queryFn: ({
48
+ pageParam
49
+ }) => oxyServices.organizations.search({
50
+ query,
51
+ limit: 20,
52
+ ...(pageParam ? {
53
+ cursor: pageParam
54
+ } : {})
55
+ }),
56
+ initialPageParam: undefined,
57
+ getNextPageParam: page => page.nextCursor ?? undefined,
58
+ enabled: query.length > 0,
59
+ retry: false
60
+ });
61
+ const claim = (0, _reactQuery.useMutation)({
62
+ mutationFn: () => {
63
+ if (!personalReady || !selected || selected.status !== 'active') throw new Error('An active organization and personal session are required');
64
+ return oxyServices.organizations.claim(selected.accountId, _contracts.organizationClaimInputSchema.parse({
65
+ evidenceReference: evidence
66
+ }));
67
+ },
68
+ onSuccess: () => queryClient.invalidateQueries({
69
+ queryKey: ['oxy', 'organizations']
70
+ })
71
+ });
72
+ const create = (0, _reactQuery.useMutation)({
73
+ mutationFn: () => {
74
+ if (!personalReady) throw new Error('A personal session is required');
75
+ return oxyServices.organizations.create(_contracts.createOrganizationSchema.parse({
76
+ name: search.trim(),
77
+ organizationType: type
78
+ }));
79
+ },
80
+ onSuccess: organization => {
81
+ setSelected(organization);
82
+ setAdding(false);
83
+ void queryClient.invalidateQueries({
84
+ queryKey: ['oxy', 'organizations']
85
+ });
86
+ }
87
+ });
88
+ const reset = () => {
89
+ setSelected(null);
90
+ setAdding(false);
91
+ setEvidence('');
92
+ claim.reset();
93
+ create.reset();
94
+ setValidationError(false);
95
+ };
96
+ if (selected) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
97
+ title: selected.name,
98
+ children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
99
+ className: "gap-space-16 p-space-16",
100
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
101
+ children: t(`organizationDirectory.${selected.claimStatus}`)
102
+ }), selected.status === 'inactive' ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
103
+ children: t('organizationDirectory.inactive')
104
+ }) : null, selected.claimStatus === 'unclaimed' ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
105
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
106
+ children: t('organizationDirectory.claimHint')
107
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
108
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
109
+ label: t('organizationDirectory.evidence'),
110
+ value: evidence,
111
+ onChangeText: setEvidence,
112
+ maxLength: 1000
113
+ })
114
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
115
+ children: t('organizationDirectory.evidenceHint')
116
+ }), claim.isSuccess ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
117
+ accessibilityRole: "alert",
118
+ children: t('organizationDirectory.claimSent')
119
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
120
+ onPress: () => claim.mutate(),
121
+ disabled: !personalReady || selected.status !== 'active' || !evidence.trim() || claim.isPending,
122
+ loading: claim.isPending,
123
+ children: t('organizationDirectory.claim')
124
+ }), claim.isError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
125
+ accessibilityRole: "alert",
126
+ children: t('organizationDirectory.claimFailed')
127
+ }) : null]
128
+ }) : /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
129
+ children: t('organizationDirectory.claimedHint')
130
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
131
+ appearance: "outline",
132
+ onPress: reset,
133
+ disabled: claim.isPending,
134
+ children: t('organizationDirectory.back')
135
+ })]
136
+ })
137
+ });
138
+ return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
139
+ className: "gap-space-16",
140
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
141
+ children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
142
+ label: t('organizationDirectory.search'),
143
+ value: search,
144
+ onChangeText: value => {
145
+ setSearch(value);
146
+ setValidationError(false);
147
+ },
148
+ maxLength: 200
149
+ })
150
+ }), query && results.isPending ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {}) : null, results.isError ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
151
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
152
+ accessibilityRole: "alert",
153
+ children: t('organizationDirectory.failed')
154
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
155
+ onPress: () => results.refetch(),
156
+ children: t('organizationDirectory.retry')
157
+ })]
158
+ }) : null, results.data ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_settingsList.SettingsListGroup, {
159
+ title: t('organizationDirectory.title'),
160
+ children: [results.data.pages.flatMap(page => page.items).map(organization => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
161
+ title: organization.name,
162
+ description: [organization.websiteUrl, organization.countryCode, t(`organizationDirectory.${organization.claimStatus}`)].filter(Boolean).join(' · '),
163
+ icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_avatar.Avatar, {
164
+ source: organization.avatar,
165
+ name: organization.name,
166
+ size: 40
167
+ }),
168
+ onPress: () => setSelected(organization)
169
+ }, organization.accountId)), results.data.pages[0].items.length === 0 ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
170
+ children: t('organizationDirectory.empty')
171
+ }) : null, results.hasNextPage ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
172
+ onPress: () => results.fetchNextPage(),
173
+ disabled: results.isFetchingNextPage,
174
+ children: t('organizationDirectory.loadMore')
175
+ }) : null]
176
+ }) : null, results.isSuccess && query === search.trim() ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
177
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
178
+ children: t('organizationDirectory.newAccountHint')
179
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
180
+ onPress: () => onCreateAccount(search.trim(), type),
181
+ children: t('organizationDirectory.newAccount')
182
+ }), personalReady && !adding ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
183
+ appearance: "outline",
184
+ onPress: () => setAdding(true),
185
+ children: t('organizationDirectory.addDirectory')
186
+ }) : null]
187
+ }) : null, adding ? /*#__PURE__*/(0, _jsxRuntime.jsxs)(_jsxRuntime.Fragment, {
188
+ children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
189
+ children: t('organizationDirectory.directoryHint')
190
+ }), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrganizationTypePicker.OrganizationTypePicker, {
191
+ value: type,
192
+ onChange: setType,
193
+ disabled: create.isPending
194
+ }), validationError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
195
+ accessibilityRole: "alert",
196
+ children: t('organizationDirectory.invalid')
197
+ }) : null, create.isError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
198
+ accessibilityRole: "alert",
199
+ children: t('organizationDirectory.saveFailed')
200
+ }) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
201
+ disabled: !personalReady || create.isPending || !results.isSuccess || query !== search.trim(),
202
+ loading: create.isPending,
203
+ onPress: () => {
204
+ if (!_contracts.createOrganizationSchema.safeParse({
205
+ name: search.trim(),
206
+ organizationType: type
207
+ }).success) {
208
+ setValidationError(true);
209
+ return;
210
+ }
211
+ create.mutate();
212
+ },
213
+ children: t('organizationDirectory.addDirectory')
214
+ })]
215
+ }) : null]
216
+ });
217
+ }
218
+ //# sourceMappingURL=OrganizationDirectorySearch.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["_react","require","_reactNative","_reactQuery","_contracts","_avatar","_button","_settingsList","_textField","_typography","_OxyContext","_useI18n","_OrganizationTypePicker","_jsxRuntime","OrganizationDirectorySearch","onCreateAccount","oxyServices","user","canUsePrivateApi","useOxy","t","useI18n","queryClient","useQueryClient","search","setSearch","useState","query","setQuery","selected","setSelected","adding","setAdding","type","setType","evidence","setEvidence","validationError","setValidationError","personalReady","kind","useEffect","timer","setTimeout","trim","clearTimeout","results","useInfiniteQuery","queryKey","queryFn","pageParam","organizations","limit","cursor","initialPageParam","undefined","getNextPageParam","page","nextCursor","enabled","length","retry","claim","useMutation","mutationFn","status","Error","accountId","organizationClaimInputSchema","parse","evidenceReference","onSuccess","invalidateQueries","create","createOrganizationSchema","name","organizationType","organization","reset","jsx","SettingsListGroup","title","children","jsxs","View","className","Text","claimStatus","Fragment","TextField","TextFieldInput","label","value","onChangeText","maxLength","isSuccess","accessibilityRole","Button","onPress","mutate","disabled","isPending","loading","isError","appearance","ActivityIndicator","refetch","data","pages","flatMap","items","map","SettingsListItem","description","websiteUrl","countryCode","filter","Boolean","join","icon","Avatar","source","avatar","size","hasNextPage","fetchNextPage","isFetchingNextPage","OrganizationTypePicker","onChange","safeParse","success"],"sourceRoot":"../../../../../src","sources":["ui/components/organizations/OrganizationDirectorySearch.tsx"],"mappings":"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","ignoreList":[]}