@oxy.so/services 11.2.0 → 11.4.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/index.js +28 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js +97 -0
- package/lib/commonjs/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js +49 -0
- package/lib/commonjs/ui/components/DisplayCurrencySelector.js.map +1 -0
- 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/hooks/useDisplayCurrency.js +77 -0
- package/lib/commonjs/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js +59 -0
- package/lib/commonjs/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +63 -20
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- 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/commonjs/ui/screens/PreferencesScreen.js +4 -3
- package/lib/commonjs/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/module/index.js +4 -0
- package/lib/module/index.js.map +1 -1
- package/lib/module/ui/components/AccountInvitationAcceptance.js +94 -0
- package/lib/module/ui/components/AccountInvitationAcceptance.js.map +1 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js +44 -0
- package/lib/module/ui/components/DisplayCurrencySelector.js.map +1 -0
- 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/hooks/useDisplayCurrency.js +72 -0
- package/lib/module/ui/hooks/useDisplayCurrency.js.map +1 -0
- package/lib/module/ui/hooks/useDisplayPrice.js +56 -0
- package/lib/module/ui/hooks/useDisplayPrice.js.map +1 -0
- package/lib/module/ui/screens/AccountMembersScreen.js +63 -20
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- 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/module/ui/screens/PreferencesScreen.js +4 -3
- package/lib/module/ui/screens/PreferencesScreen.js.map +1 -1
- package/lib/typescript/commonjs/index.d.ts +4 -0
- package/lib/typescript/commonjs/index.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/commonjs/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/commonjs/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- 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 +10 -3
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts +4 -3
- package/lib/typescript/commonjs/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/commonjs/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- 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/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/commonjs/ui/screens/AccountMembersScreen.d.ts.map +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/commonjs/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/lib/typescript/module/index.d.ts +4 -0
- package/lib/typescript/module/index.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts +5 -0
- package/lib/typescript/module/ui/components/AccountInvitationAcceptance.d.ts.map +1 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts +3 -0
- package/lib/typescript/module/ui/components/DisplayCurrencySelector.d.ts.map +1 -0
- 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 +10 -3
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts +4 -3
- package/lib/typescript/module/ui/hooks/queries/usePersonalPlans.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts +11 -0
- package/lib/typescript/module/ui/hooks/useDisplayCurrency.d.ts.map +1 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts +6 -0
- package/lib/typescript/module/ui/hooks/useDisplayPrice.d.ts.map +1 -0
- 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/AccountMembersScreen.d.ts +1 -1
- package/lib/typescript/module/ui/screens/AccountMembersScreen.d.ts.map +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/lib/typescript/module/ui/screens/PreferencesScreen.d.ts.map +1 -1
- package/package.json +9 -8
- package/src/index.ts +5 -0
- package/src/ui/components/AccountInvitationAcceptance.tsx +90 -0
- package/src/ui/components/DisplayCurrencySelector.tsx +38 -0
- package/src/ui/components/__tests__/AccountInvitationAcceptance.test.tsx +61 -0
- 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/hooks/useDisplayCurrency.ts +64 -0
- package/src/ui/hooks/useDisplayPrice.ts +40 -0
- package/src/ui/screens/AccountMembersScreen.tsx +71 -27
- package/src/ui/screens/AccountSettingsScreen.tsx +22 -4
- package/src/ui/screens/CreateAccountScreen.tsx +177 -124
- package/src/ui/screens/ManageAccountScreen.tsx +18 -0
- package/src/ui/screens/PreferencesScreen.tsx +2 -0
|
@@ -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":[]}
|
|
@@ -0,0 +1,147 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OrganizationSettings = OrganizationSettings;
|
|
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 _button = require("@oxy.so/bloom/button");
|
|
12
|
+
var _toast = require("@oxy.so/bloom/toast");
|
|
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
|
+
function OrganizationSettings({
|
|
21
|
+
accountId,
|
|
22
|
+
canUpdate
|
|
23
|
+
}) {
|
|
24
|
+
const {
|
|
25
|
+
oxyServices,
|
|
26
|
+
canUsePrivateApi
|
|
27
|
+
} = (0, _OxyContext.useOxy)();
|
|
28
|
+
const {
|
|
29
|
+
t
|
|
30
|
+
} = (0, _useI18n.useI18n)();
|
|
31
|
+
const organization = (0, _reactQuery.useQuery)({
|
|
32
|
+
queryKey: ['oxy', 'organizations', accountId],
|
|
33
|
+
queryFn: () => oxyServices.organizations.get(accountId),
|
|
34
|
+
retry: false
|
|
35
|
+
});
|
|
36
|
+
if (organization.isPending) return /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.ActivityIndicator, {});
|
|
37
|
+
if (organization.isError) return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
38
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
39
|
+
accessibilityRole: "alert",
|
|
40
|
+
children: t('organizationDirectory.failed')
|
|
41
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
42
|
+
onPress: () => organization.refetch(),
|
|
43
|
+
children: t('organizationDirectory.retry')
|
|
44
|
+
})]
|
|
45
|
+
});
|
|
46
|
+
if (!canUpdate || !canUsePrivateApi) return /*#__PURE__*/(0, _jsxRuntime.jsxs)(_settingsList.SettingsListGroup, {
|
|
47
|
+
title: t('organizationDirectory.title'),
|
|
48
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
49
|
+
children: t(`organizationDirectory.types.${organization.data.organizationType}`)
|
|
50
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
51
|
+
children: t('organizationDirectory.readonly')
|
|
52
|
+
})]
|
|
53
|
+
});
|
|
54
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(OrganizationForm, {
|
|
55
|
+
organization: organization.data
|
|
56
|
+
}, `${accountId}:${organization.data.updatedAt}`);
|
|
57
|
+
}
|
|
58
|
+
function OrganizationForm({
|
|
59
|
+
organization
|
|
60
|
+
}) {
|
|
61
|
+
const {
|
|
62
|
+
oxyServices,
|
|
63
|
+
canUsePrivateApi
|
|
64
|
+
} = (0, _OxyContext.useOxy)();
|
|
65
|
+
const {
|
|
66
|
+
t
|
|
67
|
+
} = (0, _useI18n.useI18n)();
|
|
68
|
+
const queryClient = (0, _reactQuery.useQueryClient)();
|
|
69
|
+
const [legalName, setLegalName] = (0, _react.useState)(organization.legalName ?? '');
|
|
70
|
+
const [website, setWebsite] = (0, _react.useState)(organization.websiteUrl ?? '');
|
|
71
|
+
const [country, setCountry] = (0, _react.useState)(organization.countryCode ?? '');
|
|
72
|
+
const [type, setType] = (0, _react.useState)(organization.organizationType);
|
|
73
|
+
const [invalid, setInvalid] = (0, _react.useState)(false);
|
|
74
|
+
const save = (0, _reactQuery.useMutation)({
|
|
75
|
+
mutationFn: input => {
|
|
76
|
+
if (!canUsePrivateApi) throw new Error('An authenticated session is required');
|
|
77
|
+
return oxyServices.organizations.update(organization.accountId, input);
|
|
78
|
+
},
|
|
79
|
+
onSuccess: () => {
|
|
80
|
+
_toast.toast.success(t('organizationDirectory.saved'));
|
|
81
|
+
void queryClient.invalidateQueries({
|
|
82
|
+
queryKey: ['oxy', 'organizations']
|
|
83
|
+
});
|
|
84
|
+
void queryClient.invalidateQueries({
|
|
85
|
+
queryKey: ['accounts']
|
|
86
|
+
});
|
|
87
|
+
void queryClient.invalidateQueries({
|
|
88
|
+
queryKey: ['users']
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
});
|
|
92
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
93
|
+
title: t('organizationDirectory.title'),
|
|
94
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
95
|
+
className: "gap-space-16 p-space-16",
|
|
96
|
+
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
|
|
97
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
|
|
98
|
+
label: t('organizationDirectory.legalName'),
|
|
99
|
+
value: legalName,
|
|
100
|
+
onChangeText: setLegalName,
|
|
101
|
+
maxLength: 300
|
|
102
|
+
})
|
|
103
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
|
|
104
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
|
|
105
|
+
label: t('organizationDirectory.website'),
|
|
106
|
+
value: website,
|
|
107
|
+
onChangeText: setWebsite,
|
|
108
|
+
autoCapitalize: "none",
|
|
109
|
+
maxLength: 2048
|
|
110
|
+
})
|
|
111
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
|
|
112
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
|
|
113
|
+
label: t('organizationDirectory.country'),
|
|
114
|
+
value: country,
|
|
115
|
+
onChangeText: setCountry,
|
|
116
|
+
autoCapitalize: "characters",
|
|
117
|
+
maxLength: 2
|
|
118
|
+
})
|
|
119
|
+
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_OrganizationTypePicker.OrganizationTypePicker, {
|
|
120
|
+
value: type,
|
|
121
|
+
onChange: setType,
|
|
122
|
+
disabled: save.isPending
|
|
123
|
+
}), invalid ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
124
|
+
accessibilityRole: "alert",
|
|
125
|
+
children: t('organizationDirectory.invalid')
|
|
126
|
+
}) : null, save.isError ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
127
|
+
accessibilityRole: "alert",
|
|
128
|
+
children: t('organizationDirectory.saveFailed')
|
|
129
|
+
}) : null, /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
130
|
+
disabled: save.isPending || !canUsePrivateApi,
|
|
131
|
+
loading: save.isPending,
|
|
132
|
+
onPress: () => {
|
|
133
|
+
const input = _contracts.updateOrganizationSchema.safeParse({
|
|
134
|
+
legalName: legalName.trim() || null,
|
|
135
|
+
websiteUrl: website.trim() || null,
|
|
136
|
+
countryCode: country.trim().toUpperCase() || null,
|
|
137
|
+
organizationType: type
|
|
138
|
+
});
|
|
139
|
+
setInvalid(!input.success);
|
|
140
|
+
if (input.success) save.mutate(input.data);
|
|
141
|
+
},
|
|
142
|
+
children: t('organizationDirectory.save')
|
|
143
|
+
})]
|
|
144
|
+
})
|
|
145
|
+
});
|
|
146
|
+
}
|
|
147
|
+
//# sourceMappingURL=OrganizationSettings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactNative","_reactQuery","_contracts","_button","_toast","_settingsList","_textField","_typography","_OxyContext","_useI18n","_OrganizationTypePicker","_jsxRuntime","OrganizationSettings","accountId","canUpdate","oxyServices","canUsePrivateApi","useOxy","t","useI18n","organization","useQuery","queryKey","queryFn","organizations","get","retry","isPending","jsx","ActivityIndicator","isError","jsxs","View","children","Text","accessibilityRole","Button","onPress","refetch","SettingsListGroup","title","data","organizationType","OrganizationForm","updatedAt","queryClient","useQueryClient","legalName","setLegalName","useState","website","setWebsite","websiteUrl","country","setCountry","countryCode","type","setType","invalid","setInvalid","save","useMutation","mutationFn","input","Error","update","onSuccess","toast","success","invalidateQueries","className","TextField","TextFieldInput","label","value","onChangeText","maxLength","autoCapitalize","OrganizationTypePicker","onChange","disabled","loading","updateOrganizationSchema","safeParse","trim","toUpperCase","mutate"],"sourceRoot":"../../../../../src","sources":["ui/components/organizations/OrganizationSettings.tsx"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.OrganizationTypePicker = OrganizationTypePicker;
|
|
7
|
+
var _contracts = require("@oxy.so/contracts");
|
|
8
|
+
var _settingsList = require("@oxy.so/bloom/settings-list");
|
|
9
|
+
var _typography = require("@oxy.so/bloom/typography");
|
|
10
|
+
var _useI18n = require("../../hooks/useI18n.js");
|
|
11
|
+
var _jsxRuntime = require("react/jsx-runtime");
|
|
12
|
+
function OrganizationTypePicker({
|
|
13
|
+
value,
|
|
14
|
+
onChange,
|
|
15
|
+
disabled = false
|
|
16
|
+
}) {
|
|
17
|
+
const {
|
|
18
|
+
t
|
|
19
|
+
} = (0, _useI18n.useI18n)();
|
|
20
|
+
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
21
|
+
title: t('organizationDirectory.type'),
|
|
22
|
+
children: _contracts.ORGANIZATION_TYPES.map(type => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
23
|
+
title: t(`organizationDirectory.types.${type}`),
|
|
24
|
+
accessibilityLabel: t(`organizationDirectory.types.${type}`),
|
|
25
|
+
disabled: disabled,
|
|
26
|
+
onPress: () => onChange(type),
|
|
27
|
+
showChevron: false,
|
|
28
|
+
rightElement: value === type ? /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
29
|
+
children: "\u2713"
|
|
30
|
+
}) : undefined
|
|
31
|
+
}, type))
|
|
32
|
+
});
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=OrganizationTypePicker.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_contracts","require","_settingsList","_typography","_useI18n","_jsxRuntime","OrganizationTypePicker","value","onChange","disabled","t","useI18n","jsx","SettingsListGroup","title","children","ORGANIZATION_TYPES","map","type","SettingsListItem","accessibilityLabel","onPress","showChevron","rightElement","Text","undefined"],"sourceRoot":"../../../../../src","sources":["ui/components/organizations/OrganizationTypePicker.tsx"],"mappings":";;;;;;AAAA,IAAAA,UAAA,GAAAC,OAAA;AACA,IAAAC,aAAA,GAAAD,OAAA;AACA,IAAAE,WAAA,GAAAF,OAAA;AACA,IAAAG,QAAA,GAAAH,OAAA;AAA8C,IAAAI,WAAA,GAAAJ,OAAA;AAEvC,SAASK,sBAAsBA,CAAC;EACrCC,KAAK;EACLC,QAAQ;EACRC,QAAQ,GAAG;AAKb,CAAC,EAAE;EACD,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EACvB,oBACE,IAAAN,WAAA,CAAAO,GAAA,EAACV,aAAA,CAAAW,iBAAiB;IAACC,KAAK,EAAEJ,CAAC,CAAC,4BAA4B,CAAE;IAAAK,QAAA,EACvDC,6BAAkB,CAACC,GAAG,CAAEC,IAAI,iBAC3B,IAAAb,WAAA,CAAAO,GAAA,EAACV,aAAA,CAAAiB,gBAAgB;MAEfL,KAAK,EAAEJ,CAAC,CAAC,+BAA+BQ,IAAI,EAAE,CAAE;MAChDE,kBAAkB,EAAEV,CAAC,CAAC,+BAA+BQ,IAAI,EAAE,CAAE;MAC7DT,QAAQ,EAAEA,QAAS;MACnBY,OAAO,EAAEA,CAAA,KAAMb,QAAQ,CAACU,IAAI,CAAE;MAC9BI,WAAW,EAAE,KAAM;MACnBC,YAAY,EAAEhB,KAAK,KAAKW,IAAI,gBAAG,IAAAb,WAAA,CAAAO,GAAA,EAACT,WAAA,CAAAqB,IAAI;QAAAT,QAAA,EAAC;MAAC,CAAM,CAAC,GAAGU;IAAU,GANrDP,IAON,CACF;EAAC,CACe,CAAC;AAExB","ignoreList":[]}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.DISPLAY_CURRENCIES = void 0;
|
|
7
|
+
exports.useDisplayCurrency = useDisplayCurrency;
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
10
|
+
var _core = require("@oxy.so/core");
|
|
11
|
+
var _OxyContext = require("../context/OxyContext.js");
|
|
12
|
+
var _useAccountQueries = require("./queries/useAccountQueries.js");
|
|
13
|
+
var _queryKeys = require("./queries/queryKeys.js");
|
|
14
|
+
var _authStore = require("../stores/authStore.js");
|
|
15
|
+
var _mutationKeys = require("./mutations/mutationKeys.js");
|
|
16
|
+
const DISPLAY_CURRENCIES = exports.DISPLAY_CURRENCIES = ['USD', 'EUR', 'FAIR'];
|
|
17
|
+
let anonymousCurrency = 'USD';
|
|
18
|
+
const anonymousListeners = new Set();
|
|
19
|
+
const subscribeAnonymous = listener => {
|
|
20
|
+
anonymousListeners.add(listener);
|
|
21
|
+
return () => {
|
|
22
|
+
anonymousListeners.delete(listener);
|
|
23
|
+
};
|
|
24
|
+
};
|
|
25
|
+
const anonymousSnapshot = () => anonymousCurrency;
|
|
26
|
+
|
|
27
|
+
/** Account-scoped server preference. A late save can never replace another account. */
|
|
28
|
+
function useDisplayCurrency() {
|
|
29
|
+
const {
|
|
30
|
+
oxyServices,
|
|
31
|
+
activeSessionId,
|
|
32
|
+
isAuthenticated,
|
|
33
|
+
user
|
|
34
|
+
} = (0, _OxyContext.useOxy)();
|
|
35
|
+
const current = (0, _useAccountQueries.useCurrentUser)({
|
|
36
|
+
enabled: isAuthenticated
|
|
37
|
+
});
|
|
38
|
+
const client = (0, _reactQuery.useQueryClient)();
|
|
39
|
+
const anonymous = (0, _react.useSyncExternalStore)(subscribeAnonymous, anonymousSnapshot, () => 'USD');
|
|
40
|
+
const currency = isAuthenticated ? current.data?.userPreferences?.displayCurrency ?? user?.userPreferences?.displayCurrency ?? 'USD' : anonymous;
|
|
41
|
+
const mutation = (0, _reactQuery.useMutation)({
|
|
42
|
+
mutationKey: [..._mutationKeys.mutationKeys.account.updateSettings],
|
|
43
|
+
mutationFn: async input => {
|
|
44
|
+
const updated = await (0, _core.authenticatedApiCall)(oxyServices, input.sessionId, () => oxyServices.users.updateMe({
|
|
45
|
+
userPreferences: {
|
|
46
|
+
displayCurrency: input.currency
|
|
47
|
+
}
|
|
48
|
+
}));
|
|
49
|
+
if (updated.id !== input.userId) throw new Error('Account changed. Please try again.');
|
|
50
|
+
return updated;
|
|
51
|
+
},
|
|
52
|
+
onSuccess: (updated, input) => {
|
|
53
|
+
client.setQueryData(_queryKeys.queryKeys.accounts.current(input.sessionId), updated);
|
|
54
|
+
if (_authStore.useAuthStore.getState().user?.id === input.userId) _authStore.useAuthStore.getState().setUser(updated);
|
|
55
|
+
}
|
|
56
|
+
});
|
|
57
|
+
function selectCurrency(next) {
|
|
58
|
+
if (!DISPLAY_CURRENCIES.includes(next)) return;
|
|
59
|
+
if (!isAuthenticated) {
|
|
60
|
+
anonymousCurrency = next;
|
|
61
|
+
for (const listener of anonymousListeners) listener();
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
if (activeSessionId && user?.id) mutation.mutate({
|
|
65
|
+
currency: next,
|
|
66
|
+
sessionId: activeSessionId,
|
|
67
|
+
userId: user.id
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
return {
|
|
71
|
+
currency,
|
|
72
|
+
selectCurrency,
|
|
73
|
+
isSaving: mutation.isPending,
|
|
74
|
+
error: mutation.error
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=useDisplayCurrency.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_react","require","_reactQuery","_core","_OxyContext","_useAccountQueries","_queryKeys","_authStore","_mutationKeys","DISPLAY_CURRENCIES","exports","anonymousCurrency","anonymousListeners","Set","subscribeAnonymous","listener","add","delete","anonymousSnapshot","useDisplayCurrency","oxyServices","activeSessionId","isAuthenticated","user","useOxy","current","useCurrentUser","enabled","client","useQueryClient","anonymous","useSyncExternalStore","currency","data","userPreferences","displayCurrency","mutation","useMutation","mutationKey","mutationKeys","account","updateSettings","mutationFn","input","updated","authenticatedApiCall","sessionId","users","updateMe","id","userId","Error","onSuccess","setQueryData","queryKeys","accounts","useAuthStore","getState","setUser","selectCurrency","next","includes","mutate","isSaving","isPending","error"],"sourceRoot":"../../../../src","sources":["ui/hooks/useDisplayCurrency.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.useDisplayPrice = useDisplayPrice;
|
|
7
|
+
var _reactQuery = require("@tanstack/react-query");
|
|
8
|
+
var _react = require("react");
|
|
9
|
+
var _display = require("@peable.to/sdk/display");
|
|
10
|
+
var _useDisplayCurrency = require("./useDisplayCurrency.js");
|
|
11
|
+
var _useI18n = require("./useI18n.js");
|
|
12
|
+
/** Display conversion only. Pricing and checkout request bodies retain their source units. */
|
|
13
|
+
function useDisplayPrice() {
|
|
14
|
+
const {
|
|
15
|
+
currency
|
|
16
|
+
} = (0, _useDisplayCurrency.useDisplayCurrency)();
|
|
17
|
+
const {
|
|
18
|
+
t
|
|
19
|
+
} = (0, _useI18n.useI18n)();
|
|
20
|
+
const [now, setNow] = (0, _react.useState)(Date.now);
|
|
21
|
+
const rates = (0, _reactQuery.useQuery)({
|
|
22
|
+
queryKey: ['display-currency', 'faircoin-indexed-price'],
|
|
23
|
+
queryFn: ({
|
|
24
|
+
signal
|
|
25
|
+
}) => (0, _display.readDisplayRates)({
|
|
26
|
+
signal
|
|
27
|
+
}),
|
|
28
|
+
enabled: currency !== 'USD',
|
|
29
|
+
staleTime: 30_000,
|
|
30
|
+
gcTime: 0,
|
|
31
|
+
retry: false,
|
|
32
|
+
refetchInterval: 60_000,
|
|
33
|
+
refetchOnWindowFocus: 'always'
|
|
34
|
+
});
|
|
35
|
+
(0, _react.useEffect)(() => {
|
|
36
|
+
const timer = setInterval(() => setNow(Date.now()), 1000);
|
|
37
|
+
return () => clearInterval(timer);
|
|
38
|
+
}, []);
|
|
39
|
+
function formatUsd(minorUnits) {
|
|
40
|
+
const display = (0, _display.convertDisplayAmount)({
|
|
41
|
+
units: String(minorUnits),
|
|
42
|
+
currency: 'USD',
|
|
43
|
+
displayCurrency: currency,
|
|
44
|
+
rates: rates.isError ? null : rates.data,
|
|
45
|
+
now
|
|
46
|
+
});
|
|
47
|
+
if (!display) return t('preferences.displayCurrency.unavailable', {
|
|
48
|
+
currency
|
|
49
|
+
});
|
|
50
|
+
return currency === 'USD' ? display : t('preferences.displayCurrency.approximate', {
|
|
51
|
+
amount: display
|
|
52
|
+
});
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
currency,
|
|
56
|
+
formatUsd
|
|
57
|
+
};
|
|
58
|
+
}
|
|
59
|
+
//# sourceMappingURL=useDisplayPrice.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["_reactQuery","require","_react","_display","_useDisplayCurrency","_useI18n","useDisplayPrice","currency","useDisplayCurrency","t","useI18n","now","setNow","useState","Date","rates","useQuery","queryKey","queryFn","signal","readDisplayRates","enabled","staleTime","gcTime","retry","refetchInterval","refetchOnWindowFocus","useEffect","timer","setInterval","clearInterval","formatUsd","minorUnits","display","convertDisplayAmount","units","String","displayCurrency","isError","data","amount"],"sourceRoot":"../../../../src","sources":["ui/hooks/useDisplayPrice.ts"],"mappings":";;;;;;AAAA,IAAAA,WAAA,GAAAC,OAAA;AACA,IAAAC,MAAA,GAAAD,OAAA;AACA,IAAAE,QAAA,GAAAF,OAAA;AACA,IAAAG,mBAAA,GAAAH,OAAA;AACA,IAAAI,QAAA,GAAAJ,OAAA;AAEA;AACO,SAASK,eAAeA,CAAA,EAAG;EAChC,MAAM;IAAEC;EAAS,CAAC,GAAG,IAAAC,sCAAkB,EAAC,CAAC;EACzC,MAAM;IAAEC;EAAE,CAAC,GAAG,IAAAC,gBAAO,EAAC,CAAC;EACvB,MAAM,CAACC,GAAG,EAAEC,MAAM,CAAC,GAAG,IAAAC,eAAQ,EAACC,IAAI,CAACH,GAAG,CAAC;EACxC,MAAMI,KAAK,GAAG,IAAAC,oBAAQ,EAAC;IACrBC,QAAQ,EAAE,CAAC,kBAAkB,EAAE,wBAAwB,CAAC;IACxDC,OAAO,EAAEA,CAAC;MAAEC;IAAO,CAAC,KAAK,IAAAC,yBAAgB,EAAC;MAAED;IAAO,CAAC,CAAC;IACrDE,OAAO,EAAEd,QAAQ,KAAK,KAAK;IAC3Be,SAAS,EAAE,MAAM;IACjBC,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE,KAAK;IACZC,eAAe,EAAE,MAAM;IACvBC,oBAAoB,EAAE;EACxB,CAAC,CAAC;EACF,IAAAC,gBAAS,EAAC,MAAM;IACd,MAAMC,KAAK,GAAGC,WAAW,CAAC,MAAMjB,MAAM,CAACE,IAAI,CAACH,GAAG,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;IACzD,OAAO,MAAMmB,aAAa,CAACF,KAAK,CAAC;EACnC,CAAC,EAAE,EAAE,CAAC;EACN,SAASG,SAASA,CAACC,UAAkB,EAAE;IACrC,MAAMC,OAAO,GAAG,IAAAC,6BAAoB,EAAC;MACnCC,KAAK,EAAEC,MAAM,CAACJ,UAAU,CAAC;MACzBzB,QAAQ,EAAE,KAAK;MACf8B,eAAe,EAAE9B,QAAQ;MACzBQ,KAAK,EAAEA,KAAK,CAACuB,OAAO,GAAG,IAAI,GAAGvB,KAAK,CAACwB,IAAI;MACxC5B;IACF,CAAC,CAAC;IACF,IAAI,CAACsB,OAAO,EAAE,OAAOxB,CAAC,CAAC,yCAAyC,EAAE;MAAEF;IAAS,CAAC,CAAC;IAC/E,OAAOA,QAAQ,KAAK,KAAK,GACrB0B,OAAO,GACPxB,CAAC,CAAC,yCAAyC,EAAE;MAAE+B,MAAM,EAAEP;IAAQ,CAAC,CAAC;EACvE;EACA,OAAO;IAAE1B,QAAQ;IAAEwB;EAAU,CAAC;AAChC","ignoreList":[]}
|