@oxyhq/services 5.21.5 → 5.21.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (177) hide show
  1. package/lib/commonjs/crypto/keyManager.js +67 -22
  2. package/lib/commonjs/crypto/keyManager.js.map +1 -1
  3. package/lib/commonjs/index.js +66 -0
  4. package/lib/commonjs/index.js.map +1 -1
  5. package/lib/commonjs/ui/components/BottomSheetRouter.js +100 -286
  6. package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
  7. package/lib/commonjs/ui/components/GroupedItem.js +0 -3
  8. package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
  9. package/lib/commonjs/ui/components/OxyProvider.js +14 -19
  10. package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
  11. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +57 -0
  12. package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -0
  13. package/lib/commonjs/ui/components/profile/EditBioModal.js +24 -156
  14. package/lib/commonjs/ui/components/profile/EditBioModal.js.map +1 -1
  15. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js +28 -178
  16. package/lib/commonjs/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  17. package/lib/commonjs/ui/components/profile/EditEmailModal.js +32 -159
  18. package/lib/commonjs/ui/components/profile/EditEmailModal.js.map +1 -1
  19. package/lib/commonjs/ui/components/profile/EditLocationModal.js +45 -227
  20. package/lib/commonjs/ui/components/profile/EditLocationModal.js.map +1 -1
  21. package/lib/commonjs/ui/components/profile/EditUsernameModal.js +30 -155
  22. package/lib/commonjs/ui/components/profile/EditUsernameModal.js.map +1 -1
  23. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js +177 -0
  24. package/lib/commonjs/ui/hooks/mutations/mutationFactory.js.map +1 -0
  25. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +10 -123
  26. package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  27. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +2 -32
  28. package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
  29. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +2 -31
  30. package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
  31. package/lib/commonjs/ui/hooks/useFileFiltering.js +76 -0
  32. package/lib/commonjs/ui/hooks/useFileFiltering.js.map +1 -0
  33. package/lib/commonjs/ui/navigation/bottomSheetManager.js +43 -145
  34. package/lib/commonjs/ui/navigation/bottomSheetManager.js.map +1 -1
  35. package/lib/commonjs/ui/screens/AccountSettingsScreen.js +0 -2
  36. package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
  37. package/lib/commonjs/ui/screens/FileManagementScreen.js +2 -2
  38. package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
  39. package/lib/commonjs/ui/utils/authHelpers.js +164 -0
  40. package/lib/commonjs/ui/utils/authHelpers.js.map +1 -0
  41. package/lib/commonjs/ui/utils/avatarUtils.js +18 -61
  42. package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
  43. package/lib/module/crypto/keyManager.js +67 -22
  44. package/lib/module/crypto/keyManager.js.map +1 -1
  45. package/lib/module/index.js +6 -0
  46. package/lib/module/index.js.map +1 -1
  47. package/lib/module/ui/components/BottomSheetRouter.js +102 -284
  48. package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
  49. package/lib/module/ui/components/GroupedItem.js +0 -3
  50. package/lib/module/ui/components/GroupedItem.js.map +1 -1
  51. package/lib/module/ui/components/OxyProvider.js +14 -19
  52. package/lib/module/ui/components/OxyProvider.js.map +1 -1
  53. package/lib/module/ui/components/fileManagement/AnimatedButton.js +50 -0
  54. package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -0
  55. package/lib/module/ui/components/profile/EditBioModal.js +24 -156
  56. package/lib/module/ui/components/profile/EditBioModal.js.map +1 -1
  57. package/lib/module/ui/components/profile/EditDisplayNameModal.js +28 -178
  58. package/lib/module/ui/components/profile/EditDisplayNameModal.js.map +1 -1
  59. package/lib/module/ui/components/profile/EditEmailModal.js +32 -159
  60. package/lib/module/ui/components/profile/EditEmailModal.js.map +1 -1
  61. package/lib/module/ui/components/profile/EditLocationModal.js +45 -227
  62. package/lib/module/ui/components/profile/EditLocationModal.js.map +1 -1
  63. package/lib/module/ui/components/profile/EditUsernameModal.js +30 -155
  64. package/lib/module/ui/components/profile/EditUsernameModal.js.map +1 -1
  65. package/lib/module/ui/hooks/mutations/mutationFactory.js +173 -0
  66. package/lib/module/ui/hooks/mutations/mutationFactory.js.map +1 -0
  67. package/lib/module/ui/hooks/mutations/useAccountMutations.js +10 -122
  68. package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
  69. package/lib/module/ui/hooks/queries/useAccountQueries.js +2 -32
  70. package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
  71. package/lib/module/ui/hooks/queries/useServicesQueries.js +2 -31
  72. package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
  73. package/lib/module/ui/hooks/useFileFiltering.js +72 -0
  74. package/lib/module/ui/hooks/useFileFiltering.js.map +1 -0
  75. package/lib/module/ui/navigation/bottomSheetManager.js +37 -135
  76. package/lib/module/ui/navigation/bottomSheetManager.js.map +1 -1
  77. package/lib/module/ui/screens/AccountSettingsScreen.js +0 -2
  78. package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
  79. package/lib/module/ui/screens/FileManagementScreen.js +2 -2
  80. package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
  81. package/lib/module/ui/utils/authHelpers.js +154 -0
  82. package/lib/module/ui/utils/authHelpers.js.map +1 -0
  83. package/lib/module/ui/utils/avatarUtils.js +18 -61
  84. package/lib/module/ui/utils/avatarUtils.js.map +1 -1
  85. package/lib/typescript/commonjs/crypto/keyManager.d.ts.map +1 -1
  86. package/lib/typescript/commonjs/index.d.ts +6 -0
  87. package/lib/typescript/commonjs/index.d.ts.map +1 -1
  88. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts +2 -7
  89. package/lib/typescript/commonjs/ui/components/BottomSheetRouter.d.ts.map +1 -1
  90. package/lib/typescript/commonjs/ui/components/GroupedItem.d.ts.map +1 -1
  91. package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
  92. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts +16 -0
  93. package/lib/typescript/commonjs/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -0
  94. package/lib/typescript/commonjs/ui/components/profile/EditBioModal.d.ts.map +1 -1
  95. package/lib/typescript/commonjs/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  96. package/lib/typescript/commonjs/ui/components/profile/EditEmailModal.d.ts.map +1 -1
  97. package/lib/typescript/commonjs/ui/components/profile/EditLocationModal.d.ts +1 -0
  98. package/lib/typescript/commonjs/ui/components/profile/EditLocationModal.d.ts.map +1 -1
  99. package/lib/typescript/commonjs/ui/components/profile/EditUsernameModal.d.ts.map +1 -1
  100. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts +76 -0
  101. package/lib/typescript/commonjs/ui/hooks/mutations/mutationFactory.d.ts.map +1 -0
  102. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts +29 -4
  103. package/lib/typescript/commonjs/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  104. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts +1 -1
  105. package/lib/typescript/commonjs/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  106. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  107. package/lib/typescript/commonjs/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  108. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts +29 -0
  109. package/lib/typescript/commonjs/ui/hooks/useFileFiltering.d.ts.map +1 -0
  110. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts +11 -60
  111. package/lib/typescript/commonjs/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  112. package/lib/typescript/commonjs/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  113. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts +99 -0
  114. package/lib/typescript/commonjs/ui/utils/authHelpers.d.ts.map +1 -0
  115. package/lib/typescript/commonjs/ui/utils/avatarUtils.d.ts.map +1 -1
  116. package/lib/typescript/module/crypto/keyManager.d.ts.map +1 -1
  117. package/lib/typescript/module/index.d.ts +6 -0
  118. package/lib/typescript/module/index.d.ts.map +1 -1
  119. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts +2 -7
  120. package/lib/typescript/module/ui/components/BottomSheetRouter.d.ts.map +1 -1
  121. package/lib/typescript/module/ui/components/GroupedItem.d.ts.map +1 -1
  122. package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
  123. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts +16 -0
  124. package/lib/typescript/module/ui/components/fileManagement/AnimatedButton.d.ts.map +1 -0
  125. package/lib/typescript/module/ui/components/profile/EditBioModal.d.ts.map +1 -1
  126. package/lib/typescript/module/ui/components/profile/EditDisplayNameModal.d.ts.map +1 -1
  127. package/lib/typescript/module/ui/components/profile/EditEmailModal.d.ts.map +1 -1
  128. package/lib/typescript/module/ui/components/profile/EditLocationModal.d.ts +1 -0
  129. package/lib/typescript/module/ui/components/profile/EditLocationModal.d.ts.map +1 -1
  130. package/lib/typescript/module/ui/components/profile/EditUsernameModal.d.ts.map +1 -1
  131. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts +76 -0
  132. package/lib/typescript/module/ui/hooks/mutations/mutationFactory.d.ts.map +1 -0
  133. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts +29 -4
  134. package/lib/typescript/module/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
  135. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts +1 -1
  136. package/lib/typescript/module/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
  137. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts +1 -1
  138. package/lib/typescript/module/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
  139. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts +29 -0
  140. package/lib/typescript/module/ui/hooks/useFileFiltering.d.ts.map +1 -0
  141. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts +11 -60
  142. package/lib/typescript/module/ui/navigation/bottomSheetManager.d.ts.map +1 -1
  143. package/lib/typescript/module/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
  144. package/lib/typescript/module/ui/utils/authHelpers.d.ts +99 -0
  145. package/lib/typescript/module/ui/utils/authHelpers.d.ts.map +1 -0
  146. package/lib/typescript/module/ui/utils/avatarUtils.d.ts.map +1 -1
  147. package/package.json +2 -2
  148. package/src/crypto/keyManager.ts +23 -22
  149. package/src/index.ts +25 -0
  150. package/src/ui/components/BottomSheetRouter.tsx +97 -319
  151. package/src/ui/components/GroupedItem.tsx +0 -4
  152. package/src/ui/components/OxyProvider.tsx +13 -18
  153. package/src/ui/components/fileManagement/AnimatedButton.tsx +56 -0
  154. package/src/ui/components/profile/EditBioModal.tsx +38 -176
  155. package/src/ui/components/profile/EditDisplayNameModal.tsx +48 -195
  156. package/src/ui/components/profile/EditEmailModal.tsx +49 -180
  157. package/src/ui/components/profile/EditLocationModal.tsx +76 -263
  158. package/src/ui/components/profile/EditUsernameModal.tsx +47 -175
  159. package/src/ui/hooks/mutations/mutationFactory.ts +215 -0
  160. package/src/ui/hooks/mutations/useAccountMutations.ts +48 -136
  161. package/src/ui/hooks/queries/useAccountQueries.ts +6 -33
  162. package/src/ui/hooks/queries/useServicesQueries.ts +6 -32
  163. package/src/ui/hooks/useFileFiltering.ts +115 -0
  164. package/src/ui/navigation/bottomSheetManager.ts +43 -150
  165. package/src/ui/screens/AccountSettingsScreen.tsx +0 -2
  166. package/src/ui/screens/FileManagementScreen.tsx +2 -2
  167. package/src/ui/utils/authHelpers.ts +183 -0
  168. package/src/ui/utils/avatarUtils.ts +25 -65
  169. package/lib/commonjs/ui/hooks/use-haptic-press.js +0 -21
  170. package/lib/commonjs/ui/hooks/use-haptic-press.js.map +0 -1
  171. package/lib/module/ui/hooks/use-haptic-press.js +0 -17
  172. package/lib/module/ui/hooks/use-haptic-press.js.map +0 -1
  173. package/lib/typescript/commonjs/ui/hooks/use-haptic-press.d.ts +0 -8
  174. package/lib/typescript/commonjs/ui/hooks/use-haptic-press.d.ts.map +0 -1
  175. package/lib/typescript/module/ui/hooks/use-haptic-press.d.ts +0 -8
  176. package/lib/typescript/module/ui/hooks/use-haptic-press.d.ts.map +0 -1
  177. package/src/ui/hooks/use-haptic-press.ts +0 -15
@@ -1,14 +1,10 @@
1
1
  "use strict";
2
2
 
3
- import React, { useState, useEffect } from 'react';
4
- import { View, Text, TextInput, TouchableOpacity, StyleSheet, Modal, Platform } from 'react-native';
5
- import { Ionicons } from '@expo/vector-icons';
6
- import { useThemeStyles } from "../../hooks/useThemeStyles.js";
7
- import { useColorScheme } from "../../hooks/use-color-scheme.js";
8
- import { useI18n } from "../../hooks/useI18n.js";
9
- import { fontFamilies } from "../../styles/fonts.js";
3
+ import React from 'react';
4
+ import { EditFieldModal } from "./EditFieldModal.js";
10
5
  import { useProfileEditing } from "../../hooks/useProfileEditing.js";
11
- import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
6
+ import { useI18n } from "../../hooks/useI18n.js";
7
+ import { jsx as _jsx } from "react/jsx-runtime";
12
8
  export const EditUsernameModal = ({
13
9
  visible,
14
10
  onClose,
@@ -19,156 +15,35 @@ export const EditUsernameModal = ({
19
15
  const {
20
16
  t
21
17
  } = useI18n();
22
- const colorScheme = useColorScheme();
23
- const themeStyles = useThemeStyles(theme || 'light', colorScheme);
24
- const colors = themeStyles.colors;
25
18
  const {
26
- updateField,
27
- isSaving
19
+ updateField
28
20
  } = useProfileEditing();
29
- const [username, setUsername] = useState(initialValue);
30
- useEffect(() => {
31
- if (visible) {
32
- setUsername(initialValue);
33
- }
34
- }, [visible, initialValue]);
35
- const handleSave = async () => {
36
- const success = await updateField('username', username);
37
- if (success) {
38
- onSave?.();
39
- onClose();
40
- }
41
- };
42
- return /*#__PURE__*/_jsx(Modal, {
21
+ return /*#__PURE__*/_jsx(EditFieldModal, {
43
22
  visible: visible,
44
- animationType: "slide",
45
- transparent: true,
46
- onRequestClose: onClose,
47
- children: /*#__PURE__*/_jsx(View, {
48
- style: styles.modalOverlay,
49
- children: /*#__PURE__*/_jsxs(View, {
50
- style: [styles.modalContent, {
51
- backgroundColor: colors.background
52
- }],
53
- children: [/*#__PURE__*/_jsxs(View, {
54
- style: styles.modalHeader,
55
- children: [/*#__PURE__*/_jsx(TouchableOpacity, {
56
- onPress: onClose,
57
- style: styles.closeButton,
58
- children: /*#__PURE__*/_jsx(Ionicons, {
59
- name: "close",
60
- size: 24,
61
- color: colors.text
62
- })
63
- }), /*#__PURE__*/_jsx(Text, {
64
- style: [styles.modalTitle, {
65
- color: colors.text
66
- }],
67
- children: t('editProfile.items.username.title') || 'Username'
68
- }), /*#__PURE__*/_jsx(TouchableOpacity, {
69
- onPress: handleSave,
70
- disabled: isSaving || !username.trim(),
71
- style: [styles.saveButton, {
72
- opacity: isSaving || !username.trim() ? 0.5 : 1
73
- }],
74
- children: /*#__PURE__*/_jsx(Text, {
75
- style: [styles.saveButtonText, {
76
- color: colors.tint
77
- }],
78
- children: isSaving ? 'Saving...' : 'Save'
79
- })
80
- })]
81
- }), /*#__PURE__*/_jsx(View, {
82
- style: styles.modalBody,
83
- children: /*#__PURE__*/_jsxs(View, {
84
- style: styles.inputGroup,
85
- children: [/*#__PURE__*/_jsx(Text, {
86
- style: [styles.label, {
87
- color: colors.text
88
- }],
89
- children: t('editProfile.items.username.label') || 'Username'
90
- }), /*#__PURE__*/_jsx(TextInput, {
91
- style: [styles.input, {
92
- backgroundColor: colors.card,
93
- color: colors.text,
94
- borderColor: colors.border
95
- }],
96
- value: username,
97
- onChangeText: setUsername,
98
- placeholder: t('editProfile.items.username.placeholder') || 'Choose a username',
99
- placeholderTextColor: colors.secondaryText,
100
- autoFocus: true,
101
- autoCapitalize: "none",
102
- autoCorrect: false,
103
- selectionColor: colors.tint
104
- })]
105
- })
106
- })]
107
- })
108
- })
23
+ onClose: onClose,
24
+ title: t('editProfile.items.username.title') || 'Username',
25
+ theme: theme,
26
+ onSave: onSave,
27
+ variant: "single",
28
+ fields: [{
29
+ key: 'username',
30
+ label: t('editProfile.items.username.label') || 'Username',
31
+ initialValue,
32
+ placeholder: t('editProfile.items.username.placeholder') || 'Choose a username',
33
+ validation: value => {
34
+ if (!value.trim()) {
35
+ return t('editProfile.items.username.required') || 'Username is required';
36
+ }
37
+ return undefined;
38
+ },
39
+ inputProps: {
40
+ autoCapitalize: 'none',
41
+ autoCorrect: false
42
+ }
43
+ }],
44
+ onSubmit: async data => {
45
+ return await updateField('username', data.username);
46
+ }
109
47
  });
110
48
  };
111
- const styles = StyleSheet.create({
112
- modalOverlay: {
113
- flex: 1,
114
- backgroundColor: 'rgba(0, 0, 0, 0.5)',
115
- justifyContent: 'flex-end'
116
- },
117
- modalContent: {
118
- borderTopLeftRadius: 20,
119
- borderTopRightRadius: 20,
120
- paddingTop: Platform.OS === 'ios' ? 20 : 16,
121
- maxHeight: '80%'
122
- },
123
- modalHeader: {
124
- flexDirection: 'row',
125
- alignItems: 'center',
126
- justifyContent: 'space-between',
127
- paddingHorizontal: 16,
128
- paddingBottom: 16,
129
- borderBottomWidth: StyleSheet.hairlineWidth,
130
- borderBottomColor: '#E5E5EA'
131
- },
132
- closeButton: {
133
- width: 40,
134
- height: 40,
135
- alignItems: 'center',
136
- justifyContent: 'center'
137
- },
138
- modalTitle: {
139
- fontSize: 18,
140
- fontWeight: '600',
141
- fontFamily: fontFamilies.phuduSemiBold,
142
- flex: 1,
143
- textAlign: 'center'
144
- },
145
- saveButton: {
146
- paddingHorizontal: 16,
147
- paddingVertical: 8
148
- },
149
- saveButtonText: {
150
- fontSize: 16,
151
- fontWeight: '600',
152
- fontFamily: fontFamilies.phuduSemiBold
153
- },
154
- modalBody: {
155
- padding: 16,
156
- gap: 16
157
- },
158
- inputGroup: {
159
- gap: 8
160
- },
161
- label: {
162
- fontSize: 14,
163
- fontWeight: '600',
164
- fontFamily: fontFamilies.phuduSemiBold
165
- },
166
- input: {
167
- borderWidth: StyleSheet.hairlineWidth,
168
- borderRadius: 12,
169
- padding: 16,
170
- fontSize: 16,
171
- minHeight: 52
172
- }
173
- });
174
49
  //# sourceMappingURL=EditUsernameModal.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["React","useState","useEffect","View","Text","TextInput","TouchableOpacity","StyleSheet","Modal","Platform","Ionicons","useThemeStyles","useColorScheme","useI18n","fontFamilies","useProfileEditing","jsx","_jsx","jsxs","_jsxs","EditUsernameModal","visible","onClose","initialValue","theme","onSave","t","colorScheme","themeStyles","colors","updateField","isSaving","username","setUsername","handleSave","success","animationType","transparent","onRequestClose","children","style","styles","modalOverlay","modalContent","backgroundColor","background","modalHeader","onPress","closeButton","name","size","color","text","modalTitle","disabled","trim","saveButton","opacity","saveButtonText","tint","modalBody","inputGroup","label","input","card","borderColor","border","value","onChangeText","placeholder","placeholderTextColor","secondaryText","autoFocus","autoCapitalize","autoCorrect","selectionColor","create","flex","justifyContent","borderTopLeftRadius","borderTopRightRadius","paddingTop","OS","maxHeight","flexDirection","alignItems","paddingHorizontal","paddingBottom","borderBottomWidth","hairlineWidth","borderBottomColor","width","height","fontSize","fontWeight","fontFamily","phuduSemiBold","textAlign","paddingVertical","padding","gap","borderWidth","borderRadius","minHeight"],"sourceRoot":"../../../../../src","sources":["ui/components/profile/EditUsernameModal.tsx"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["React","EditFieldModal","useProfileEditing","useI18n","jsx","_jsx","EditUsernameModal","visible","onClose","initialValue","theme","onSave","t","updateField","title","variant","fields","key","label","placeholder","validation","value","trim","undefined","inputProps","autoCapitalize","autoCorrect","onSubmit","data","username"],"sourceRoot":"../../../../../src","sources":["ui/components/profile/EditUsernameModal.tsx"],"mappings":";;AAAA,OAAOA,KAAK,MAAM,OAAO;AACzB,SAASC,cAAc,QAAQ,qBAAkB;AACjD,SAASC,iBAAiB,QAAQ,kCAA+B;AACjE,SAASC,OAAO,QAAQ,wBAAqB;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAU9C,OAAO,MAAMC,iBAAmD,GAAGA,CAAC;EAClEC,OAAO;EACPC,OAAO;EACPC,YAAY,GAAG,EAAE;EACjBC,KAAK,GAAG,OAAO;EACfC;AACF,CAAC,KAAK;EACJ,MAAM;IAAEC;EAAE,CAAC,GAAGT,OAAO,CAAC,CAAC;EACvB,MAAM;IAAEU;EAAY,CAAC,GAAGX,iBAAiB,CAAC,CAAC;EAE3C,oBACEG,IAAA,CAACJ,cAAc;IACbM,OAAO,EAAEA,OAAQ;IACjBC,OAAO,EAAEA,OAAQ;IACjBM,KAAK,EAAEF,CAAC,CAAC,kCAAkC,CAAC,IAAI,UAAW;IAC3DF,KAAK,EAAEA,KAAM;IACbC,MAAM,EAAEA,MAAO;IACfI,OAAO,EAAC,QAAQ;IAChBC,MAAM,EAAE,CACN;MACEC,GAAG,EAAE,UAAU;MACfC,KAAK,EAAEN,CAAC,CAAC,kCAAkC,CAAC,IAAI,UAAU;MAC1DH,YAAY;MACZU,WAAW,EAAEP,CAAC,CAAC,wCAAwC,CAAC,IAAI,mBAAmB;MAC/EQ,UAAU,EAAGC,KAAK,IAAK;QACrB,IAAI,CAACA,KAAK,CAACC,IAAI,CAAC,CAAC,EAAE;UACjB,OAAOV,CAAC,CAAC,qCAAqC,CAAC,IAAI,sBAAsB;QAC3E;QACA,OAAOW,SAAS;MAClB,CAAC;MACDC,UAAU,EAAE;QACVC,cAAc,EAAE,MAAM;QACtBC,WAAW,EAAE;MACf;IACF,CAAC,CACD;IACFC,QAAQ,EAAE,MAAOC,IAAI,IAAK;MACxB,OAAO,MAAMf,WAAW,CAAC,UAAU,EAAEe,IAAI,CAACC,QAAkB,CAAC;IAC/D;EAAE,CACH,CAAC;AAEN,CAAC","ignoreList":[]}
@@ -0,0 +1,173 @@
1
+ "use strict";
2
+
3
+ /**
4
+ * Mutation Factory - Creates standardized mutations with optimistic updates
5
+ *
6
+ * This factory reduces boilerplate code for mutations that follow the common pattern:
7
+ * 1. Cancel outgoing queries
8
+ * 2. Snapshot previous data
9
+ * 3. Apply optimistic update
10
+ * 4. On error: rollback and show toast
11
+ * 5. On success: update cache, stores, and invalidate queries
12
+ */
13
+
14
+ import { queryKeys, invalidateAccountQueries, invalidateUserQueries } from "../queries/queryKeys.js";
15
+ import { toast } from "../../../lib/sonner.js";
16
+ import { useAuthStore } from "../../stores/authStore.js";
17
+
18
+ /**
19
+ * Configuration for creating a standard profile mutation
20
+ */
21
+
22
+ /**
23
+ * Creates a standard profile mutation with optimistic updates
24
+ *
25
+ * @example
26
+ * ```ts
27
+ * const updateProfile = createProfileMutation({
28
+ * mutationFn: (updates) => oxyServices.updateProfile(updates),
29
+ * optimisticUpdate: (user, updates) => updates,
30
+ * errorMessage: 'Failed to update profile',
31
+ * });
32
+ * ```
33
+ */
34
+ export function createProfileMutation(config, queryClient, activeSessionId) {
35
+ const {
36
+ mutationFn,
37
+ cancelQueryKeys = [],
38
+ optimisticUpdate,
39
+ errorMessage = 'Operation failed',
40
+ successMessage,
41
+ updateAuthStore = true,
42
+ invalidateUserQueries: shouldInvalidateUserQueries = true,
43
+ invalidateAccountQueries: shouldInvalidateAccountQueries = true,
44
+ onSuccess: customOnSuccess
45
+ } = config;
46
+ return {
47
+ mutationFn,
48
+ onMutate: async variables => {
49
+ // Cancel queries that might conflict
50
+ await queryClient.cancelQueries({
51
+ queryKey: queryKeys.accounts.current()
52
+ });
53
+ for (const key of cancelQueryKeys) {
54
+ await queryClient.cancelQueries({
55
+ queryKey: key
56
+ });
57
+ }
58
+
59
+ // Snapshot previous user data
60
+ const previousUser = queryClient.getQueryData(queryKeys.accounts.current());
61
+
62
+ // Apply optimistic update if provided
63
+ if (previousUser && optimisticUpdate) {
64
+ const updates = optimisticUpdate(previousUser, variables);
65
+ const optimisticUser = {
66
+ ...previousUser,
67
+ ...updates
68
+ };
69
+ queryClient.setQueryData(queryKeys.accounts.current(), optimisticUser);
70
+ if (activeSessionId) {
71
+ queryClient.setQueryData(queryKeys.users.profile(activeSessionId), optimisticUser);
72
+ }
73
+ }
74
+ return {
75
+ previousUser
76
+ };
77
+ },
78
+ onError: (error, _variables, context) => {
79
+ // Rollback optimistic update
80
+ if (context?.previousUser) {
81
+ queryClient.setQueryData(queryKeys.accounts.current(), context.previousUser);
82
+ if (activeSessionId) {
83
+ queryClient.setQueryData(queryKeys.users.profile(activeSessionId), context.previousUser);
84
+ }
85
+ }
86
+
87
+ // Show error toast
88
+ const message = typeof errorMessage === 'function' ? errorMessage(error) : error instanceof Error ? error.message : errorMessage;
89
+ toast.error(message);
90
+ },
91
+ onSuccess: (data, variables) => {
92
+ // Update cache with server response
93
+ queryClient.setQueryData(queryKeys.accounts.current(), data);
94
+ if (activeSessionId) {
95
+ queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
96
+ }
97
+
98
+ // Update authStore for immediate UI updates
99
+ if (updateAuthStore) {
100
+ useAuthStore.getState().setUser(data);
101
+ }
102
+
103
+ // Invalidate related queries
104
+ if (shouldInvalidateUserQueries) {
105
+ invalidateUserQueries(queryClient);
106
+ }
107
+ if (shouldInvalidateAccountQueries) {
108
+ invalidateAccountQueries(queryClient);
109
+ }
110
+
111
+ // Show success toast if configured
112
+ if (successMessage) {
113
+ toast.success(successMessage);
114
+ }
115
+
116
+ // Call custom onSuccess handler
117
+ if (customOnSuccess) {
118
+ customOnSuccess(data, variables, queryClient);
119
+ }
120
+ }
121
+ };
122
+ }
123
+
124
+ /**
125
+ * Configuration for creating a generic mutation (non-profile)
126
+ */
127
+
128
+ /**
129
+ * Creates a generic mutation with optimistic updates
130
+ */
131
+ export function createGenericMutation(config, queryClient) {
132
+ const {
133
+ mutationFn,
134
+ queryKey,
135
+ optimisticData,
136
+ errorMessage = 'Operation failed',
137
+ successMessage,
138
+ invalidateQueries = []
139
+ } = config;
140
+ return {
141
+ mutationFn,
142
+ onMutate: async variables => {
143
+ await queryClient.cancelQueries({
144
+ queryKey
145
+ });
146
+ const previous = queryClient.getQueryData(queryKey);
147
+ if (optimisticData) {
148
+ queryClient.setQueryData(queryKey, optimisticData(previous, variables));
149
+ }
150
+ return {
151
+ previous
152
+ };
153
+ },
154
+ onError: (error, _variables, context) => {
155
+ if (context?.previous !== undefined) {
156
+ queryClient.setQueryData(queryKey, context.previous);
157
+ }
158
+ toast.error(error instanceof Error ? error.message : errorMessage);
159
+ },
160
+ onSuccess: data => {
161
+ queryClient.setQueryData(queryKey, data);
162
+ for (const key of invalidateQueries) {
163
+ queryClient.invalidateQueries({
164
+ queryKey: key
165
+ });
166
+ }
167
+ if (successMessage) {
168
+ toast.success(successMessage);
169
+ }
170
+ }
171
+ };
172
+ }
173
+ //# sourceMappingURL=mutationFactory.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"names":["queryKeys","invalidateAccountQueries","invalidateUserQueries","toast","useAuthStore","createProfileMutation","config","queryClient","activeSessionId","mutationFn","cancelQueryKeys","optimisticUpdate","errorMessage","successMessage","updateAuthStore","shouldInvalidateUserQueries","shouldInvalidateAccountQueries","onSuccess","customOnSuccess","onMutate","variables","cancelQueries","queryKey","accounts","current","key","previousUser","getQueryData","updates","optimisticUser","setQueryData","users","profile","onError","error","_variables","context","message","Error","data","getState","setUser","success","createGenericMutation","optimisticData","invalidateQueries","previous","undefined"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/mutationFactory.ts"],"mappings":"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","ignoreList":[]}
@@ -6,6 +6,7 @@ import { useOxy } from "../../context/OxyContext.js";
6
6
  import { toast } from "../../../lib/sonner.js";
7
7
  import { refreshAvatarInStore } from "../../utils/avatarUtils.js";
8
8
  import { useAuthStore } from "../../stores/authStore.js";
9
+ import { authenticatedApiCall } from "../../utils/authHelpers.js";
9
10
 
10
11
  /**
11
12
  * Update user profile with optimistic updates and offline queue support
@@ -19,37 +20,7 @@ export const useUpdateProfile = () => {
19
20
  const queryClient = useQueryClient();
20
21
  return useMutation({
21
22
  mutationFn: async updates => {
22
- // Ensure we have a valid token before making the request
23
- if (!oxyServices.hasValidToken() && activeSessionId) {
24
- try {
25
- // Try to get token for the session
26
- await oxyServices.getTokenBySession(activeSessionId);
27
- } catch (tokenError) {
28
- // If getting token fails, might be an offline session - try syncing
29
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
30
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
31
- // Session sync should be handled by the app layer
32
- throw new Error('Session needs to be synced. Please try again.');
33
- } else {
34
- throw tokenError;
35
- }
36
- }
37
- }
38
- try {
39
- return await oxyServices.updateProfile(updates);
40
- } catch (error) {
41
- const errorMessage = error?.message || '';
42
- const status = error?.status || error?.response?.status;
43
-
44
- // Handle authentication errors
45
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
46
- // Session sync should be handled by the app layer
47
- throw new Error('Authentication failed. Please sign in again.');
48
- }
49
-
50
- // TanStack Query will automatically retry on network errors
51
- throw error;
52
- }
23
+ return authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.updateProfile(updates));
53
24
  },
54
25
  // Optimistic update
55
26
  onMutate: async updates => {
@@ -124,21 +95,7 @@ export const useUploadAvatar = () => {
124
95
  const queryClient = useQueryClient();
125
96
  return useMutation({
126
97
  mutationFn: async file => {
127
- // Ensure we have a valid token before making the request
128
- if (!oxyServices.hasValidToken() && activeSessionId) {
129
- try {
130
- await oxyServices.getTokenBySession(activeSessionId);
131
- } catch (tokenError) {
132
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
133
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
134
- // Session sync should be handled by the app layer
135
- throw new Error('Session needs to be synced. Please try again.');
136
- } else {
137
- throw tokenError;
138
- }
139
- }
140
- }
141
- try {
98
+ return authenticatedApiCall(oxyServices, activeSessionId, async () => {
142
99
  // Upload file first
143
100
  const uploadResult = await oxyServices.assetUpload(file, 'public');
144
101
  const fileId = uploadResult?.file?.id || uploadResult?.id || uploadResult;
@@ -150,19 +107,7 @@ export const useUploadAvatar = () => {
150
107
  return await oxyServices.updateProfile({
151
108
  avatar: fileId
152
109
  });
153
- } catch (error) {
154
- const errorMessage = error?.message || '';
155
- const status = error?.status || error?.response?.status;
156
-
157
- // Handle authentication errors
158
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
159
- // Session sync should be handled by the app layer
160
- throw new Error('Authentication failed. Please sign in again.');
161
- }
162
-
163
- // TanStack Query will automatically retry on network errors
164
- throw error;
165
- }
110
+ });
166
111
  },
167
112
  onMutate: async file => {
168
113
  await queryClient.cancelQueries({
@@ -290,38 +235,7 @@ export const useUpdatePrivacySettings = () => {
290
235
  if (!targetUserId) {
291
236
  throw new Error('User ID is required');
292
237
  }
293
-
294
- // Ensure we have a valid token before making the request
295
- if (!oxyServices.hasValidToken() && activeSessionId) {
296
- try {
297
- // Try to get token for the session
298
- await oxyServices.getTokenBySession(activeSessionId);
299
- } catch (tokenError) {
300
- // If getting token fails, might be an offline session - try syncing
301
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
302
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
303
- // Session sync should be handled by the app layer
304
- throw new Error('Session needs to be synced. Please try again.');
305
- } else {
306
- throw tokenError;
307
- }
308
- }
309
- }
310
- try {
311
- return await oxyServices.updatePrivacySettings(settings, targetUserId);
312
- } catch (error) {
313
- const errorMessage = error?.message || '';
314
- const status = error?.status || error?.response?.status;
315
-
316
- // Handle authentication errors
317
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
318
- // Session sync should be handled by the app layer
319
- throw new Error('Authentication failed. Please sign in again.');
320
- }
321
-
322
- // TanStack Query will automatically retry on network errors
323
- throw error;
324
- }
238
+ return authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.updatePrivacySettings(settings, targetUserId));
325
239
  },
326
240
  // Optimistic update
327
241
  onMutate: async ({
@@ -418,6 +332,10 @@ export const useUpdatePrivacySettings = () => {
418
332
  });
419
333
  };
420
334
 
335
+ /** Uploaded file data structure from API */
336
+
337
+ /** Upload result type that supports both single file and batch responses */
338
+
421
339
  /**
422
340
  * Upload file with authentication handling and progress tracking
423
341
  */
@@ -433,37 +351,7 @@ export const useUploadFile = () => {
433
351
  metadata,
434
352
  onProgress
435
353
  }) => {
436
- // Ensure we have a valid token before making the request
437
- if (!oxyServices.hasValidToken() && activeSessionId) {
438
- try {
439
- // Try to get token for the session
440
- await oxyServices.getTokenBySession(activeSessionId);
441
- } catch (tokenError) {
442
- // If getting token fails, might be an offline session - try syncing
443
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
444
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
445
- // Session sync should be handled by the app layer
446
- throw new Error('Session needs to be synced. Please try again.');
447
- } else {
448
- throw tokenError;
449
- }
450
- }
451
- }
452
- try {
453
- return await oxyServices.assetUpload(file, visibility, metadata, onProgress);
454
- } catch (error) {
455
- const errorMessage = error?.message || '';
456
- const status = error?.status || error?.response?.status;
457
-
458
- // Handle authentication errors
459
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
460
- // Session sync should be handled by the app layer
461
- throw new Error('Authentication failed. Please sign in again.');
462
- }
463
-
464
- // TanStack Query will automatically retry on network errors
465
- throw error;
466
- }
354
+ return authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.assetUpload(file, visibility, metadata, onProgress));
467
355
  }
468
356
  });
469
357
  };
@@ -1 +1 @@
1
- {"version":3,"names":["useMutation","useQueryClient","queryKeys","invalidateAccountQueries","invalidateUserQueries","useOxy","toast","refreshAvatarInStore","useAuthStore","useUpdateProfile","oxyServices","activeSessionId","user","queryClient","mutationFn","updates","hasValidToken","getTokenBySession","tokenError","errorMessage","Error","message","String","includes","updateProfile","error","status","response","onMutate","cancelQueries","queryKey","accounts","current","previousUser","getQueryData","setQueryData","users","profile","onError","context","onSuccess","data","getState","setUser","avatar","useUploadAvatar","file","uploadResult","assetUpload","fileId","id","optimisticUser","uri","success","useUpdateAccountSettings","settings","privacySettings","onSettled","invalidateQueries","useUpdatePrivacySettings","userId","targetUserId","updatePrivacySettings","privacy","previousPrivacySettings","currentUser","updatedUser","useUploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useMutation","useQueryClient","queryKeys","invalidateAccountQueries","invalidateUserQueries","useOxy","toast","refreshAvatarInStore","useAuthStore","authenticatedApiCall","useUpdateProfile","oxyServices","activeSessionId","user","queryClient","mutationFn","updates","updateProfile","onMutate","cancelQueries","queryKey","accounts","current","previousUser","getQueryData","setQueryData","users","profile","onError","error","context","Error","message","onSuccess","data","getState","setUser","avatar","useUploadAvatar","file","uploadResult","assetUpload","fileId","id","optimisticUser","uri","success","useUpdateAccountSettings","settings","privacySettings","onSettled","invalidateQueries","useUpdatePrivacySettings","userId","targetUserId","updatePrivacySettings","privacy","previousPrivacySettings","currentUser","updatedUser","useUploadFile","visibility","metadata","onProgress"],"sourceRoot":"../../../../../src","sources":["ui/hooks/mutations/useAccountMutations.ts"],"mappings":"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","ignoreList":[]}