@oxyhq/services 25.0.0 → 26.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/commonjs/ui/components/FollowButton.js +4 -4
- package/lib/commonjs/ui/components/FollowButton.js.map +1 -1
- package/lib/commonjs/ui/components/OxyAuthChooser.js +5 -5
- package/lib/commonjs/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +2 -2
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/OxySignInButton.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js +2 -2
- package/lib/commonjs/ui/components/authChooser/useUsernameAvailability.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +2 -2
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +2 -2
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +5 -5
- package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +11 -11
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js +9 -9
- package/lib/commonjs/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAsyncAction.js +7 -7
- package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +5 -5
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSettingToggle.js +4 -4
- package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +10 -10
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +39 -16
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js +4 -4
- package/lib/commonjs/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AppInfoScreen.js +9 -9
- package/lib/commonjs/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AvatarCropScreen.js +3 -3
- package/lib/commonjs/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js +4 -4
- package/lib/commonjs/ui/screens/ChangeAvatarScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +3 -3
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +35 -13
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +5 -5
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +2 -2
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +4 -4
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +20 -20
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +7 -7
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +5 -5
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +3 -3
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js +3 -3
- package/lib/commonjs/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +14 -14
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +16 -16
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -6
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +2 -2
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +2 -2
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js +20 -20
- package/lib/commonjs/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/module/ui/components/FollowButton.js +1 -1
- package/lib/module/ui/components/FollowButton.js.map +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js +1 -1
- package/lib/module/ui/components/OxyAuthChooser.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +1 -1
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/OxySignInButton.js.map +1 -1
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js +1 -1
- package/lib/module/ui/components/authChooser/useUsernameAvailability.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js +1 -1
- package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js +1 -1
- package/lib/module/ui/hooks/mutations/useServicesMutations.js.map +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js.map +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +1 -1
- package/lib/module/ui/hooks/useAvatarPicker.js.map +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +36 -13
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js +1 -1
- package/lib/module/ui/screens/AccountVerificationScreen.js.map +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js +1 -1
- package/lib/module/ui/screens/AppInfoScreen.js.map +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js +1 -1
- package/lib/module/ui/screens/AvatarCropScreen.js.map +1 -1
- package/lib/module/ui/screens/ChangeAvatarScreen.js +1 -1
- package/lib/module/ui/screens/ChangeAvatarScreen.js.map +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +34 -12
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +4 -4
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +1 -1
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js +1 -1
- package/lib/module/ui/screens/LegalDocumentsScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js +1 -1
- package/lib/module/ui/screens/fileManagement/hooks/useFileUploadState.js.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts +2 -1
- package/lib/typescript/commonjs/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.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/module/ui/components/OxySignInButton.d.ts +2 -1
- package/lib/typescript/module/ui/components/OxySignInButton.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts +1 -1
- package/lib/typescript/module/ui/components/fileManagement/UploadPreview.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.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/types/expo-image-picker.d.ts +35 -0
- package/package.json +4 -4
- package/src/types/expo-image-picker.d.ts +35 -0
- package/src/ui/components/FollowButton.tsx +1 -1
- package/src/ui/components/OxyAuthChooser.tsx +1 -1
- package/src/ui/components/OxyProvider.tsx +1 -1
- package/src/ui/components/OxySignInButton.tsx +2 -1
- package/src/ui/components/authChooser/useUsernameAvailability.ts +1 -1
- package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
- package/src/ui/components/payment/PaymentDetailsStep.tsx +1 -1
- package/src/ui/hooks/mutations/mutationFactory.ts +1 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +1 -1
- package/src/ui/hooks/mutations/useServicesMutations.ts +1 -1
- package/src/ui/hooks/useAsyncAction.ts +1 -1
- package/src/ui/hooks/useAvatarPicker.ts +1 -1
- package/src/ui/hooks/useSettingToggle.ts +1 -1
- package/src/ui/screens/AccountMembersScreen.tsx +1 -1
- package/src/ui/screens/AccountSettingsScreen.tsx +42 -14
- package/src/ui/screens/AccountVerificationScreen.tsx +1 -1
- package/src/ui/screens/AppInfoScreen.tsx +1 -1
- package/src/ui/screens/AvatarCropScreen.tsx +1 -1
- package/src/ui/screens/ChangeAvatarScreen.tsx +1 -1
- package/src/ui/screens/ConnectedAppsScreen.tsx +1 -1
- package/src/ui/screens/CreateAccountScreen.tsx +43 -13
- package/src/ui/screens/EditProfileFieldScreen.tsx +4 -4
- package/src/ui/screens/FAQScreen.tsx +1 -1
- package/src/ui/screens/FeedbackScreen.tsx +1 -1
- package/src/ui/screens/FileManagementScreen.tsx +1 -1
- package/src/ui/screens/HelpSupportScreen.tsx +1 -1
- package/src/ui/screens/HistoryViewScreen.tsx +1 -1
- package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
- package/src/ui/screens/LegalDocumentsScreen.tsx +1 -1
- package/src/ui/screens/ManageAccountScreen.tsx +1 -1
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +1 -1
- package/src/ui/screens/PrivacySettingsScreen.tsx +1 -1
- package/src/ui/screens/SavesCollectionsScreen.tsx +1 -1
- package/src/ui/screens/WelcomeNewUserScreen.tsx +1 -1
- package/src/ui/screens/fileManagement/hooks/useFileUploadState.ts +1 -1
|
@@ -39,7 +39,7 @@ import {
|
|
|
39
39
|
} from '@oxyhq/bloom/admonition';
|
|
40
40
|
import { surfaces as bloomSurfaces } from '@oxyhq/bloom/surfaces';
|
|
41
41
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
42
|
-
import { toast } from '@oxyhq/bloom';
|
|
42
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
43
43
|
import { getNormalizedUserHandle, logger } from '@oxyhq/core';
|
|
44
44
|
import type { FileMetadata } from '@oxyhq/core';
|
|
45
45
|
import { useOxy } from '../context/OxyContext';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useCallback, useState } from 'react';
|
|
2
2
|
import { ActivityIndicator, FlatList, RefreshControl, StyleSheet, View } from 'react-native';
|
|
3
|
-
import { toast } from '@oxyhq/bloom';
|
|
3
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
4
4
|
import { surfaces } from '@oxyhq/bloom/surfaces';
|
|
5
5
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
6
6
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
@@ -3,7 +3,7 @@ import { useState, useCallback, useRef, useEffect } from 'react';
|
|
|
3
3
|
import { View, ActivityIndicator } from 'react-native';
|
|
4
4
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
5
5
|
import type { AccountKind, CreateAccountInput, OrganizationCategory } from '@oxyhq/core';
|
|
6
|
-
import { ORGANIZATION_CATEGORIES } from '@oxyhq/core';
|
|
6
|
+
import { DISPLAY_NAME_INVALID_MESSAGE, isValidDisplayName, MAX_DISPLAY_NAME_LENGTH, ORGANIZATION_CATEGORIES } from '@oxyhq/core';
|
|
7
7
|
import type { BaseScreenProps } from '../types/navigation';
|
|
8
8
|
import { useI18n } from '../hooks/useI18n';
|
|
9
9
|
import { useSurfaceHeader } from '../hooks/useSurfaceHeader';
|
|
@@ -13,7 +13,7 @@ import { Button } from '@oxyhq/bloom/button';
|
|
|
13
13
|
import { TextField, TextFieldInput } from '@oxyhq/bloom/text-field';
|
|
14
14
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
15
15
|
import { useOxy } from '../context/OxyContext';
|
|
16
|
-
import { toast } from '@oxyhq/bloom';
|
|
16
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
17
17
|
|
|
18
18
|
type UsernameStatus = 'idle' | 'checking' | 'available' | 'taken' | 'invalid';
|
|
19
19
|
|
|
@@ -23,7 +23,7 @@ type CreatableAccountKind = Exclude<AccountKind, 'personal'>;
|
|
|
23
23
|
const USERNAME_REGEX = /^[a-zA-Z0-9_-]{3,30}$/;
|
|
24
24
|
const DEBOUNCE_MS = 400;
|
|
25
25
|
const USERNAME_MAX = 30;
|
|
26
|
-
const DISPLAY_NAME_MAX =
|
|
26
|
+
const DISPLAY_NAME_MAX = MAX_DISPLAY_NAME_LENGTH;
|
|
27
27
|
const BIO_MAX = 160;
|
|
28
28
|
|
|
29
29
|
interface KindOption {
|
|
@@ -112,6 +112,7 @@ const CreateAccountScreen: React.FC<BaseScreenProps> = ({
|
|
|
112
112
|
const [organizationCategory, setOrganizationCategory] = useState<OrganizationCategory>('agency');
|
|
113
113
|
const [username, setUsername] = useState('');
|
|
114
114
|
const [displayName, setDisplayName] = useState('');
|
|
115
|
+
const [displayNameError, setDisplayNameError] = useState('');
|
|
115
116
|
const [bio, setBio] = useState('');
|
|
116
117
|
const [usernameStatus, setUsernameStatus] = useState<UsernameStatus>('idle');
|
|
117
118
|
const [usernameMessage, setUsernameMessage] = useState('');
|
|
@@ -180,7 +181,28 @@ const CreateAccountScreen: React.FC<BaseScreenProps> = ({
|
|
|
180
181
|
checkUsername(cleaned);
|
|
181
182
|
}, [checkUsername]);
|
|
182
183
|
|
|
183
|
-
const
|
|
184
|
+
const handleDisplayNameChange = useCallback((value: string) => {
|
|
185
|
+
setDisplayName(value);
|
|
186
|
+
const trimmed = value.trim();
|
|
187
|
+
if (!trimmed) {
|
|
188
|
+
setDisplayNameError('');
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
const nameParts = trimmed.split(/\s+/);
|
|
192
|
+
const firstName = nameParts[0] || '';
|
|
193
|
+
const lastName = nameParts.length > 1 ? nameParts.slice(1).join(' ') : '';
|
|
194
|
+
const invalidPart = [firstName, lastName].find((part) => part && !isValidDisplayName(part));
|
|
195
|
+
setDisplayNameError(
|
|
196
|
+
invalidPart
|
|
197
|
+
? (t('accounts.create.displayName.invalidChars') || DISPLAY_NAME_INVALID_MESSAGE)
|
|
198
|
+
: '',
|
|
199
|
+
);
|
|
200
|
+
}, [t]);
|
|
201
|
+
|
|
202
|
+
const canCreate = usernameStatus === 'available'
|
|
203
|
+
&& displayName.trim().length > 0
|
|
204
|
+
&& !displayNameError
|
|
205
|
+
&& !isCreating;
|
|
184
206
|
|
|
185
207
|
const handleCreate = useCallback(async () => {
|
|
186
208
|
if (!canCreate) return;
|
|
@@ -320,15 +342,23 @@ const CreateAccountScreen: React.FC<BaseScreenProps> = ({
|
|
|
320
342
|
</View>
|
|
321
343
|
|
|
322
344
|
{/* Display Name */}
|
|
323
|
-
<
|
|
324
|
-
<
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
|
|
331
|
-
|
|
345
|
+
<View className="gap-space-4">
|
|
346
|
+
<TextField isInvalid={Boolean(displayNameError)}>
|
|
347
|
+
<TextFieldInput
|
|
348
|
+
floatingLabel
|
|
349
|
+
label={t('accounts.create.displayName.label') || 'Display name'}
|
|
350
|
+
value={displayName}
|
|
351
|
+
onChangeText={handleDisplayNameChange}
|
|
352
|
+
isInvalid={Boolean(displayNameError)}
|
|
353
|
+
maxLength={DISPLAY_NAME_MAX}
|
|
354
|
+
/>
|
|
355
|
+
</TextField>
|
|
356
|
+
{displayNameError ? (
|
|
357
|
+
<Text className="text-caption font-caption text-negative px-space-4">
|
|
358
|
+
{displayNameError}
|
|
359
|
+
</Text>
|
|
360
|
+
) : null}
|
|
361
|
+
</View>
|
|
332
362
|
|
|
333
363
|
{/* Bio */}
|
|
334
364
|
<View className="gap-space-4">
|
|
@@ -19,8 +19,8 @@ import { useSurfaceHeader } from '../hooks/useSurfaceHeader';
|
|
|
19
19
|
import { SurfaceHeaderAction } from '../components/SurfaceHeaderAction';
|
|
20
20
|
import { useOxy } from '../context/OxyContext';
|
|
21
21
|
import { useProfileEditing } from '../hooks/useProfileEditing';
|
|
22
|
-
import { toast } from '@oxyhq/bloom';
|
|
23
|
-
import { EMAIL_REGEX, isValidDisplayName } from '@oxyhq/core';
|
|
22
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
23
|
+
import { EMAIL_REGEX, DISPLAY_NAME_INVALID_MESSAGE, isValidDisplayName } from '@oxyhq/core';
|
|
24
24
|
import { getLinkTitle, getLinkDescription, linksToListItems } from './linkFormat';
|
|
25
25
|
|
|
26
26
|
/**
|
|
@@ -202,7 +202,7 @@ const EditProfileFieldScreen: React.FC<EditProfileFieldScreenProps> = ({
|
|
|
202
202
|
isValidDisplayName(value)
|
|
203
203
|
? undefined
|
|
204
204
|
: (t('editProfile.items.displayName.invalidChars')
|
|
205
|
-
||
|
|
205
|
+
|| DISPLAY_NAME_INVALID_MESSAGE),
|
|
206
206
|
},
|
|
207
207
|
{
|
|
208
208
|
key: 'lastName',
|
|
@@ -212,7 +212,7 @@ const EditProfileFieldScreen: React.FC<EditProfileFieldScreenProps> = ({
|
|
|
212
212
|
isValidDisplayName(value)
|
|
213
213
|
? undefined
|
|
214
214
|
: (t('editProfile.items.displayName.invalidChars')
|
|
215
|
-
||
|
|
215
|
+
|| DISPLAY_NAME_INVALID_MESSAGE),
|
|
216
216
|
},
|
|
217
217
|
],
|
|
218
218
|
};
|
|
@@ -2,7 +2,7 @@ import type React from 'react';
|
|
|
2
2
|
import { useState, useEffect, useCallback, useMemo } from 'react';
|
|
3
3
|
import { View, ScrollView, StyleSheet } from 'react-native';
|
|
4
4
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
5
|
-
import { toast } from '@oxyhq/bloom';
|
|
5
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
6
6
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
7
7
|
import { Search } from '@oxyhq/bloom/search';
|
|
8
8
|
import { Button } from '@oxyhq/bloom/button';
|
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import Ionicons from "@expo/vector-icons/Ionicons";
|
|
2
2
|
import type MaterialCommunityIcons from "@expo/vector-icons/MaterialCommunityIcons";
|
|
3
|
-
import { toast } from "@oxyhq/bloom";
|
|
4
3
|
import { Button } from "@oxyhq/bloom/button";
|
|
5
4
|
import {
|
|
6
5
|
SettingsListGroup,
|
|
@@ -9,6 +8,7 @@ import {
|
|
|
9
8
|
import { Switch } from "@oxyhq/bloom/switch";
|
|
10
9
|
import { TextField, TextFieldInput } from "@oxyhq/bloom/text-field";
|
|
11
10
|
import { useTheme } from "@oxyhq/bloom/theme";
|
|
11
|
+
import { toast } from "@oxyhq/bloom/toast";
|
|
12
12
|
import { H2, Text } from "@oxyhq/bloom/typography";
|
|
13
13
|
import { normalizeTheme } from "@oxyhq/core";
|
|
14
14
|
import { packageInfo } from "@oxyhq/core";
|
|
@@ -14,7 +14,7 @@ import {
|
|
|
14
14
|
import { useQueryClient } from '@tanstack/react-query';
|
|
15
15
|
import { Image as ExpoImage } from 'expo-image';
|
|
16
16
|
import type { FileManagementScreenProps } from '../types/fileManagement';
|
|
17
|
-
import { toast } from '@oxyhq/bloom';
|
|
17
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
18
18
|
import { surfaces } from '@oxyhq/bloom/surfaces';
|
|
19
19
|
import * as Skeleton from '@oxyhq/bloom/skeleton';
|
|
20
20
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useMemo } from 'react';
|
|
2
2
|
import { View, Linking } from 'react-native';
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
|
-
import { toast } from '@oxyhq/bloom';
|
|
4
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
5
5
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
6
6
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
7
7
|
import { SettingsIcon } from '../components/SettingsIcon';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
|
-
import { toast } from '@oxyhq/bloom';
|
|
4
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
5
5
|
import { Loading } from '@oxyhq/bloom/loading';
|
|
6
6
|
import { Text } from '@oxyhq/bloom/typography';
|
|
7
7
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
@@ -3,7 +3,7 @@ import { View, StyleSheet, TouchableOpacity } from 'react-native';
|
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
4
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
5
5
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
6
|
-
import { toast } from '@oxyhq/bloom';
|
|
6
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
7
7
|
import { Text } from '@oxyhq/bloom/typography';
|
|
8
8
|
import { Search } from '@oxyhq/bloom/search';
|
|
9
9
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import React, { useState, useCallback } from 'react';
|
|
2
2
|
import { View, Linking } from 'react-native';
|
|
3
|
-
import { toast } from '@oxyhq/bloom';
|
|
3
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
4
4
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
5
5
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
6
6
|
import { logger } from '@oxyhq/core';
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
Platform,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
10
|
-
import { toast } from '@oxyhq/bloom';
|
|
10
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
11
11
|
import { surfaces } from '@oxyhq/bloom/surfaces';
|
|
12
12
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
13
13
|
import { Text } from '@oxyhq/bloom/typography';
|
|
@@ -2,7 +2,7 @@ import type React from 'react';
|
|
|
2
2
|
import { useState, useEffect, useCallback } from 'react';
|
|
3
3
|
import { View, ScrollView, ActivityIndicator } from 'react-native';
|
|
4
4
|
import type { BaseScreenProps } from '../types/navigation';
|
|
5
|
-
import { toast } from '@oxyhq/bloom';
|
|
5
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
6
6
|
import { surfaces } from '@oxyhq/bloom/surfaces';
|
|
7
7
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
8
8
|
import { Button } from '@oxyhq/bloom/button';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useCallback, useEffect } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
|
-
import { toast } from '@oxyhq/bloom';
|
|
4
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
5
5
|
import { SettingsListGroup, SettingsListItem } from '@oxyhq/bloom/settings-list';
|
|
6
6
|
import { Switch } from '@oxyhq/bloom/switch';
|
|
7
7
|
import { Button } from '@oxyhq/bloom/button';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React, { useState, useEffect } from 'react';
|
|
2
2
|
import { View } from 'react-native';
|
|
3
3
|
import type { BaseScreenProps } from '../types/navigation';
|
|
4
|
-
import { toast } from '@oxyhq/bloom';
|
|
4
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
5
5
|
import {
|
|
6
6
|
SegmentedControl,
|
|
7
7
|
SegmentedControlItem,
|
|
@@ -4,7 +4,7 @@ import { View, StyleSheet, Platform, Animated } from 'react-native';
|
|
|
4
4
|
import type { BaseScreenProps } from '../types/navigation';
|
|
5
5
|
import { Avatar } from '@oxyhq/bloom/avatar';
|
|
6
6
|
import Ionicons from '@expo/vector-icons/Ionicons';
|
|
7
|
-
import { toast } from '@oxyhq/bloom';
|
|
7
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
8
8
|
import { useTheme } from '@oxyhq/bloom/theme';
|
|
9
9
|
import { Button } from '@oxyhq/bloom/button';
|
|
10
10
|
import { H1, Text } from '@oxyhq/bloom/typography';
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import type React from 'react';
|
|
2
2
|
import { useCallback, useEffect, useRef, useState } from 'react';
|
|
3
3
|
import { useQueryClient } from '@tanstack/react-query';
|
|
4
|
-
import { toast } from '@oxyhq/bloom';
|
|
4
|
+
import { toast } from '@oxyhq/bloom/toast';
|
|
5
5
|
import type { AssetUploadInput, FileMetadata } from '@oxyhq/core';
|
|
6
6
|
import type { useUploadFile } from '../../../hooks/mutations/useAccountMutations';
|
|
7
7
|
import { queryKeys } from '../../../hooks/queries/queryKeys';
|