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