@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
@@ -3,6 +3,7 @@
3
3
  import { useAccountStore } from "../stores/accountStore.js";
4
4
  import { useAuthStore } from "../stores/authStore.js";
5
5
  import { queryKeys, invalidateUserQueries, invalidateAccountQueries } from "../hooks/queries/queryKeys.js";
6
+ import { authenticatedApiCall } from "./authHelpers.js";
6
7
 
7
8
  /**
8
9
  * Updates file visibility to public for avatar use.
@@ -49,7 +50,7 @@ export function refreshAvatarInStore(sessionId, avatarFileId, oxyServices) {
49
50
  /**
50
51
  * Updates user profile with avatar and handles all side effects (query invalidation, accountStore update).
51
52
  * This function can be used from within OxyContext provider without requiring useOxy hook.
52
- *
53
+ *
53
54
  * @param updates - Profile updates including avatar
54
55
  * @param oxyServices - OxyServices instance
55
56
  * @param activeSessionId - Active session ID
@@ -58,69 +59,25 @@ export function refreshAvatarInStore(sessionId, avatarFileId, oxyServices) {
58
59
  * @returns Promise that resolves with updated user data
59
60
  */
60
61
  export async function updateProfileWithAvatar(updates, oxyServices, activeSessionId, queryClient, syncSession) {
61
- // Ensure we have a valid token before making the request
62
- if (!oxyServices.hasValidToken() && activeSessionId) {
63
- try {
64
- await oxyServices.getTokenBySession(activeSessionId);
65
- } catch (tokenError) {
66
- const errorMessage = tokenError instanceof Error ? tokenError.message : String(tokenError);
67
- if (errorMessage.includes('AUTH_REQUIRED_OFFLINE_SESSION') || errorMessage.includes('offline')) {
68
- if (syncSession) {
69
- try {
70
- await syncSession();
71
- await oxyServices.getTokenBySession(activeSessionId);
72
- } catch (syncError) {
73
- throw new Error('Session needs to be synced. Please try again.');
74
- }
75
- } else {
76
- throw tokenError;
77
- }
78
- } else {
79
- throw tokenError;
80
- }
81
- }
82
- }
83
- try {
84
- const data = await oxyServices.updateProfile(updates);
85
-
86
- // Update cache with server response
87
- queryClient.setQueryData(queryKeys.accounts.current(), data);
88
- if (activeSessionId) {
89
- queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
90
- }
62
+ const data = await authenticatedApiCall(oxyServices, activeSessionId, () => oxyServices.updateProfile(updates), syncSession);
91
63
 
92
- // Update authStore so frontend components see the changes immediately
93
- useAuthStore.getState().setUser(data);
94
-
95
- // If avatar was updated, refresh accountStore with cache-busted URL
96
- if (updates.avatar && activeSessionId) {
97
- refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
98
- }
64
+ // Update cache with server response
65
+ queryClient.setQueryData(queryKeys.accounts.current(), data);
66
+ if (activeSessionId) {
67
+ queryClient.setQueryData(queryKeys.users.profile(activeSessionId), data);
68
+ }
99
69
 
100
- // Invalidate all related queries to refresh everywhere
101
- invalidateUserQueries(queryClient);
102
- invalidateAccountQueries(queryClient);
103
- return data;
104
- } catch (error) {
105
- const errorMessage = error?.message || '';
106
- const status = error?.status || error?.response?.status;
70
+ // Update authStore so frontend components see the changes immediately
71
+ useAuthStore.getState().setUser(data);
107
72
 
108
- // Handle authentication errors
109
- if (status === 401 || errorMessage.includes('Authentication required') || errorMessage.includes('Invalid or missing authorization header')) {
110
- if (activeSessionId && syncSession) {
111
- try {
112
- await syncSession();
113
- await oxyServices.getTokenBySession(activeSessionId);
114
- // Retry the update after getting token
115
- return await updateProfileWithAvatar(updates, oxyServices, activeSessionId, queryClient, syncSession);
116
- } catch (retryError) {
117
- throw new Error('Authentication failed. Please sign in again.');
118
- }
119
- } else {
120
- throw new Error('No active session. Please sign in.');
121
- }
122
- }
123
- throw error;
73
+ // If avatar was updated, refresh accountStore with cache-busted URL
74
+ if (updates.avatar && activeSessionId) {
75
+ refreshAvatarInStore(activeSessionId, updates.avatar, oxyServices);
124
76
  }
77
+
78
+ // Invalidate all related queries to refresh everywhere
79
+ invalidateUserQueries(queryClient);
80
+ invalidateAccountQueries(queryClient);
81
+ return data;
125
82
  }
126
83
  //# sourceMappingURL=avatarUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"names":["useAccountStore","useAuthStore","queryKeys","invalidateUserQueries","invalidateAccountQueries","updateAvatarVisibility","fileId","oxyServices","contextName","startsWith","assetUpdateVisibility","visError","refreshAvatarInStore","sessionId","avatarFileId","updateAccount","getState","cacheBustedUrl","getFileDownloadUrl","Date","now","avatar","avatarUrl","updateProfileWithAvatar","updates","activeSessionId","queryClient","syncSession","hasValidToken","getTokenBySession","tokenError","errorMessage","Error","message","String","includes","syncError","data","updateProfile","setQueryData","accounts","current","users","profile","setUser","error","status","response","retryError"],"sourceRoot":"../../../../src","sources":["ui/utils/avatarUtils.ts"],"mappings":"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","ignoreList":[]}
1
+ {"version":3,"names":["useAccountStore","useAuthStore","queryKeys","invalidateUserQueries","invalidateAccountQueries","authenticatedApiCall","updateAvatarVisibility","fileId","oxyServices","contextName","startsWith","assetUpdateVisibility","visError","refreshAvatarInStore","sessionId","avatarFileId","updateAccount","getState","cacheBustedUrl","getFileDownloadUrl","Date","now","avatar","avatarUrl","updateProfileWithAvatar","updates","activeSessionId","queryClient","syncSession","data","updateProfile","setQueryData","accounts","current","users","profile","setUser"],"sourceRoot":"../../../../src","sources":["ui/utils/avatarUtils.ts"],"mappings":";;AAEA,SAASA,eAAe,QAAQ,2BAAwB;AACxD,SAASC,YAAY,QAAQ,wBAAqB;AAElD,SAASC,SAAS,EAAEC,qBAAqB,EAAEC,wBAAwB,QAAQ,+BAA4B;AACvG,SAASC,oBAAoB,QAAQ,kBAAe;;AAEpD;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeC,sBAAsBA,CAC1CC,MAA0B,EAC1BC,WAAwB,EACxBC,WAAmB,GAAG,aAAa,EACpB;EACf;EACA,IAAI,CAACF,MAAM,IAAIA,MAAM,CAACG,UAAU,CAAC,OAAO,CAAC,EAAE;IACzC;EACF;EAEA,IAAI;IACF,MAAMF,WAAW,CAACG,qBAAqB,CAACJ,MAAM,EAAE,QAAQ,CAAC;IACzD;EACF,CAAC,CAAC,OAAOK,QAAa,EAAE;IACtB;IACA;IACA;EAAA;AAEJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,SAASC,oBAAoBA,CAClCC,SAAiB,EACjBC,YAAoB,EACpBP,WAAwB,EAClB;EACN,MAAM;IAAEQ;EAAc,CAAC,GAAGhB,eAAe,CAACiB,QAAQ,CAAC,CAAC;EACpD,MAAMC,cAAc,GAAGV,WAAW,CAACW,kBAAkB,CAACJ,YAAY,EAAE,OAAO,CAAC,GAAG,MAAMK,IAAI,CAACC,GAAG,CAAC,CAAC,EAAE;EACjGL,aAAa,CAACF,SAAS,EAAE;IACvBQ,MAAM,EAAEP,YAAY;IACpBQ,SAAS,EAAEL;EACb,CAAC,CAAC;AACJ;;AAEA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA,OAAO,eAAeM,uBAAuBA,CAC3CC,OAAsB,EACtBjB,WAAwB,EACxBkB,eAA8B,EAC9BC,WAAwB,EACxBC,WAAiC,EAClB;EACf,MAAMC,IAAI,GAAG,MAAMxB,oBAAoB,CACrCG,WAAW,EACXkB,eAAe,EACf,MAAMlB,WAAW,CAACsB,aAAa,CAACL,OAAO,CAAC,EACxCG,WACF,CAAC;;EAED;EACAD,WAAW,CAACI,YAAY,CAAC7B,SAAS,CAAC8B,QAAQ,CAACC,OAAO,CAAC,CAAC,EAAEJ,IAAI,CAAC;EAC5D,IAAIH,eAAe,EAAE;IACnBC,WAAW,CAACI,YAAY,CAAC7B,SAAS,CAACgC,KAAK,CAACC,OAAO,CAACT,eAAe,CAAC,EAAEG,IAAI,CAAC;EAC1E;;EAEA;EACA5B,YAAY,CAACgB,QAAQ,CAAC,CAAC,CAACmB,OAAO,CAACP,IAAI,CAAC;;EAErC;EACA,IAAIJ,OAAO,CAACH,MAAM,IAAII,eAAe,EAAE;IACrCb,oBAAoB,CAACa,eAAe,EAAED,OAAO,CAACH,MAAM,EAAEd,WAAW,CAAC;EACpE;;EAEA;EACAL,qBAAqB,CAACwB,WAAW,CAAC;EAClCvB,wBAAwB,CAACuB,WAAW,CAAC;EAErC,OAAOE,IAAI;AACb","ignoreList":[]}
@@ -1 +1 @@
1
- {"version":3,"file":"keyManager.d.ts","sourceRoot":"","sources":["../../../../src/crypto/keyManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyManager.d.ts","sourceRoot":"","sources":["../../../../src/crypto/keyManager.ts"],"names":[],"mappings":"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"}
@@ -31,6 +31,12 @@ export { useAssets, setOxyAssetInstance } from './ui/hooks/useAssets';
31
31
  export { useFileDownloadUrl, setOxyFileUrlInstance } from './ui/hooks/useFileDownloadUrl';
32
32
  export { useUserProfile, useUserProfiles, useCurrentUser, useUserById, useUserByUsername, useUsersBySessions, usePrivacySettings, useSessions, useSession, useDeviceSessions, useUserDevices, useSecurityInfo, useSecurityActivity, useRecentSecurityActivity, } from './ui/hooks/queries';
33
33
  export { useUpdateProfile, useUploadAvatar, useUpdateAccountSettings, useUpdatePrivacySettings, useUploadFile, useSwitchSession, useLogoutSession, useLogoutAll, useUpdateDeviceName, useRemoveDevice, } from './ui/hooks/mutations';
34
+ export { createProfileMutation, createGenericMutation, } from './ui/hooks/mutations/mutationFactory';
35
+ export type { ProfileMutationConfig, GenericMutationConfig, } from './ui/hooks/mutations/mutationFactory';
36
+ export { ensureValidToken, withAuthErrorHandling, authenticatedApiCall, isAuthenticationError, SessionSyncRequiredError, AuthenticationFailedError, } from './ui/utils/authHelpers';
37
+ export type { HandleApiErrorOptions } from './ui/utils/authHelpers';
38
+ export { useFileFiltering } from './ui/hooks/useFileFiltering';
39
+ export type { ViewMode, SortBy, SortOrder } from './ui/hooks/useFileFiltering';
34
40
  export { OxySignInButton } from './ui/components/OxySignInButton';
35
41
  export { OxyLogo, FollowButton } from './ui';
36
42
  export * from './utils/apiUtils';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,OAAO,mBAAmB,CAAC;AAG3B,OAAO,EACL,UAAU,EACV,gBAAgB,EAChB,qBAAqB,EACtB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,WAAW,EAAE,sBAAsB,EAAE,6BAA6B,EAAE,MAAM,QAAQ,CAAC;AAC5F,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,QAAQ,CAAC;AAGlD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,QAAQ,CAAC;AAChE,YAAY,EAAE,sBAAsB,EAAE,MAAM,QAAQ,CAAC;AACrD,YAAY,EACV,OAAO,EACP,aAAa,EACb,aAAa,EACb,oBAAoB,EACrB,MAAM,UAAU,CAAC;AAGlB,OAAO,EAAE,MAAM,EAAE,MAAM,yBAAyB,CAAC;AACjD,OAAO,EAAE,OAAO,EAAE,MAAM,oBAAoB,CAAC;AAC7C,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAGhF,OAAO,EAAE,OAAO,IAAI,WAAW,EAAE,MAAM,6BAA6B,CAAC;AAGrE,OAAO,EAAE,OAAO,IAAI,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAG3E,OAAO,EAAE,aAAa,EAAE,MAAM,uBAAuB,CAAC;AACtD,YAAY,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAGjF,OAAO,EACL,mBAAmB,EACnB,mBAAmB,EACnB,eAAe,EACf,qBAAqB,EACrB,qBAAqB,EACtB,MAAM,uBAAuB,CAAC;AAC/B,YAAY,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AAG9D,YAAY,EACV,SAAS,EACT,IAAI,EACJ,aAAa,EACb,YAAY,EACZ,MAAM,EACN,WAAW,EACX,oBAAoB,EACpB,eAAe,EACf,iBAAiB,EACjB,mBAAmB,EACnB,SAAS,EACT,YAAY,EACZ,qBAAqB,EACrB,iBAAiB,EACjB,QAAQ,EACR,aAAa,EACb,cAAc,EACd,eAAe,EACf,aAAa,EACb,eAAe,EACf,aAAa,EACb,YAAY,EACZ,kBAAkB,EAClB,gBAAgB,EAChB,iBAAiB,EACjB,kBAAkB,EAClB,aAAa,EACb,sBAAsB,EACtB,2BAA2B,EAC3B,wBAAwB,EAExB,WAAW,EAEX,cAAc,EAEd,cAAc,EACd,SAAS,EACT,YAAY,EACZ,KAAK,EACL,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,4BAA4B,EAC5B,6BAA6B,EAE7B,2BAA2B,EAC3B,2BAA2B,EAE3B,iBAAiB,EACjB,qBAAqB,EACrB,gBAAgB,EAChB,wBAAwB,EACzB,MAAM,qBAAqB,CAAC;AAG7B,OAAO,EAAE,2BAA2B,EAAE,MAAM,qBAAqB,CAAC;AAElE,YAAY,EACV,oBAAoB,EACpB,aAAa,EACb,eAAe,EAChB,MAAM,kBAAkB,CAAC;AAG1B,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AACrD,OAAO,EACL,aAAa,EACb,SAAS,IAAI,cAAc,EAC3B,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,cAAc,EACd,cAAc,EACd,iBAAiB,EACjB,kBAAkB,EAClB,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAGhC,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,SAAS,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AACtE,OAAO,EAAE,kBAAkB,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAC;AAG1F,OAAO,EAEL,cAAc,EACd,eAAe,EACf,cAAc,EACd,WAAW,EACX,iBAAiB,EACjB,kBAAkB,EAClB,kBAAkB,EAElB,WAAW,EACX,UAAU,EACV,iBAAiB,EACjB,cAAc,EACd,eAAe,EAEf,mBAAmB,EACnB,yBAAyB,GAC1B,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAEL,gBAAgB,EAChB,eAAe,EACf,wBAAwB,EACxB,wBAAwB,EACxB,aAAa,EAEb,gBAAgB,EAChB,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,eAAe,GAChB,MAAM,sBAAsB,CAAC;AAG9B,OAAO,EACL,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAC9C,YAAY,EACV,qBAAqB,EACrB,qBAAqB,GACtB,MAAM,sCAAsC,CAAC;AAG9C,OAAO,EACL,gBAAgB,EAChB,qBAAqB,EACrB,oBAAoB,EACpB,qBAAqB,EACrB,wBAAwB,EACxB,yBAAyB,GAC1B,MAAM,wBAAwB,CAAC;AAChC,YAAY,EAAE,qBAAqB,EAAE,MAAM,wBAAwB,CAAC;AAGpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,YAAY,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAC;AAG/E,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AAG7C,cAAc,kBAAkB,CAAC;AACjC,OAAO,EACL,UAAU,EACV,cAAc,EACd,eAAe,EACf,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,oBAAoB,CAAC;AAC5B,cAAc,yBAAyB,CAAC;AACxC,OAAO,EACL,MAAM,EACN,QAAQ,EACR,UAAU,EACV,OAAO,EACP,MAAM,EACN,UAAU,EACV,OAAO,EACP,SAAS,EACT,UAAU,EACV,cAAc,EACf,MAAM,qBAAqB,CAAC;AAC7B,cAAc,oBAAoB,CAAC;AACnC,cAAc,mBAAmB,CAAC"}
@@ -1,14 +1,9 @@
1
1
  import React from 'react';
2
2
  import type { RouteName } from '../navigation/routes';
3
- import { type BottomSheetRef } from './BottomSheet';
4
- import { subscribeToBottomSheetState, type BottomSheetRouterState } from '../navigation/bottomSheetManager';
5
3
  export interface BottomSheetRouterProps {
6
4
  onScreenChange?: (screen: RouteName | null) => void;
7
5
  onDismiss?: () => void;
8
6
  }
9
- export type { BottomSheetRouterState };
10
- export { subscribeToBottomSheetState };
11
- export type { BottomSheetRef };
12
- declare const BottomSheetRouter: React.NamedExoticComponent<BottomSheetRouterProps>;
13
- export default BottomSheetRouter;
7
+ declare const _default: React.NamedExoticComponent<BottomSheetRouterProps>;
8
+ export default _default;
14
9
  //# sourceMappingURL=BottomSheetRouter.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"BottomSheetRouter.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheetRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAyC,MAAM,OAAO,CAAC;AAU9D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAKtD,OAAoB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AACjE,OAAO,EAGH,2BAA2B,EAI3B,KAAK,sBAAsB,EAG9B,MAAM,kCAAkC,CAAC;AAE1C,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;AAGD,YAAY,EAAE,sBAAsB,EAAE,CAAC;AACvC,OAAO,EAAE,2BAA2B,EAAE,CAAC;AAGvC,YAAY,EAAE,cAAc,EAAE,CAAC;AA+V/B,QAAA,MAAM,iBAAiB,oDAAyC,CAAC;AAiBjE,eAAe,iBAAiB,CAAC"}
1
+ {"version":3,"file":"BottomSheetRouter.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/BottomSheetRouter.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAkD,MAAM,OAAO,CAAC;AAGvE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAetD,MAAM,WAAW,sBAAsB;IACnC,cAAc,CAAC,EAAE,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,KAAK,IAAI,CAAC;IACpD,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CAC1B;;AAmKD,wBAA6C"}
@@ -1 +1 @@
1
- {"version":3,"file":"GroupedItem.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/GroupedItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAY7C,UAAU,gBAAgB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AA6FD,eAAO,MAAM,WAAW;+JA7ErB,gBAAgB;;EA6EkC,CAAC;AAkDtD,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"GroupedItem.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/GroupedItem.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAW7C,UAAU,gBAAgB;IACtB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,IAAI,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAChC,UAAU,CAAC,EAAE,KAAK,CAAC,SAAS,CAAC;IAC7B,8CAA8C;IAC9C,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC9B;AA0FD,eAAO,MAAM,WAAW;+JA1ErB,gBAAgB;;EA0EkC,CAAC;AAkDtD,eAAe,WAAW,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AA4B5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAuKrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"OxyProvider.d.ts","sourceRoot":"","sources":["../../../../../src/ui/components/OxyProvider.tsx"],"names":[],"mappings":"AAAA,OAAO,EAA+B,KAAK,EAAE,EAAE,MAAM,OAAO,CAAC;AAI7D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAkC5D;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4BG;AACH,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA4JrC,CAAC;AAEF,eAAe,WAAW,CAAC"}
@@ -0,0 +1,16 @@
1
+ import React from 'react';
2
+ interface AnimatedButtonProps {
3
+ isSelected: boolean;
4
+ onPress: () => void;
5
+ icon: string;
6
+ primaryColor: string;
7
+ textColor: string;
8
+ style: any;
9
+ }
10
+ /**
11
+ * Animated button component for smooth selection transitions
12
+ * Used in file management views for view mode toggles
13
+ */
14
+ export declare const AnimatedButton: React.FC<AnimatedButtonProps>;
15
+ export {};
16
+ //# sourceMappingURL=AnimatedButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"AnimatedButton.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/fileManagement/AnimatedButton.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,UAAU,mBAAmB;IAC3B,UAAU,EAAE,OAAO,CAAC;IACpB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,GAAG,CAAC;CACZ;AAED;;;GAGG;AACH,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAqCxD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditBioModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditBioModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,UAAU,iBAAiB;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAsFpD,CAAC"}
1
+ {"version":3,"file":"EditBioModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditBioModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,iBAAiB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,YAAY,EAAE,KAAK,CAAC,EAAE,CAAC,iBAAiB,CAgCpD,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditDisplayNameModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditDisplayNameModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,UAAU,yBAAyB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CA+GpE,CAAC"}
1
+ {"version":3,"file":"EditDisplayNameModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditDisplayNameModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,yBAAyB;IACjC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,oBAAoB,EAAE,KAAK,CAAC,EAAE,CAAC,yBAAyB,CAyCpE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditEmailModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditEmailModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,UAAU,mBAAmB;IACzB,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0FxD,CAAC"}
1
+ {"version":3,"file":"EditEmailModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditEmailModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAM1B,UAAU,mBAAmB;IAC3B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CA0CxD,CAAC"}
@@ -7,6 +7,7 @@ interface Location {
7
7
  lat: number;
8
8
  lon: number;
9
9
  };
10
+ [key: string]: unknown;
10
11
  }
11
12
  interface EditLocationModalProps {
12
13
  visible: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"EditLocationModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditLocationModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAkBnD,UAAU,QAAQ;IACd,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;CAC9C;AAED,UAAU,sBAAsB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAwI9D,CAAC"}
1
+ {"version":3,"file":"EditLocationModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditLocationModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAO1B,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3C,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACxB;AAED,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,gBAAgB,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC9B,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAgD9D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"EditUsernameModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditUsernameModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAC;AAiBnD,UAAU,sBAAsB;IAC5B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACvB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAqF9D,CAAC"}
1
+ {"version":3,"file":"EditUsernameModal.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/components/profile/EditUsernameModal.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAK1B,UAAU,sBAAsB;IAC9B,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,IAAI,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IACzB,MAAM,CAAC,EAAE,MAAM,IAAI,CAAC;CACrB;AAED,eAAO,MAAM,iBAAiB,EAAE,KAAK,CAAC,EAAE,CAAC,sBAAsB,CAyC9D,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Mutation Factory - Creates standardized mutations with optimistic updates
3
+ *
4
+ * This factory reduces boilerplate code for mutations that follow the common pattern:
5
+ * 1. Cancel outgoing queries
6
+ * 2. Snapshot previous data
7
+ * 3. Apply optimistic update
8
+ * 4. On error: rollback and show toast
9
+ * 5. On success: update cache, stores, and invalidate queries
10
+ */
11
+ import { QueryClient, UseMutationOptions } from '@tanstack/react-query';
12
+ import type { User } from '../../../models/interfaces';
13
+ /**
14
+ * Configuration for creating a standard profile mutation
15
+ */
16
+ export interface ProfileMutationConfig<TData, TVariables> {
17
+ /** The mutation function that makes the API call */
18
+ mutationFn: (variables: TVariables) => Promise<TData>;
19
+ /** Query keys to cancel before mutation */
20
+ cancelQueryKeys?: unknown[][];
21
+ /** Function to apply optimistic update to the user data */
22
+ optimisticUpdate?: (previousUser: User, variables: TVariables) => Partial<User>;
23
+ /** Error message to show on failure */
24
+ errorMessage?: string | ((error: Error) => string);
25
+ /** Success message to show (optional) */
26
+ successMessage?: string;
27
+ /** Whether to update authStore on success (default: true) */
28
+ updateAuthStore?: boolean;
29
+ /** Whether to invalidate user queries on success (default: true) */
30
+ invalidateUserQueries?: boolean;
31
+ /** Whether to invalidate account queries on success (default: true) */
32
+ invalidateAccountQueries?: boolean;
33
+ /** Custom onSuccess handler */
34
+ onSuccess?: (data: TData, variables: TVariables, queryClient: QueryClient) => void;
35
+ }
36
+ /**
37
+ * Creates a standard profile mutation with optimistic updates
38
+ *
39
+ * @example
40
+ * ```ts
41
+ * const updateProfile = createProfileMutation({
42
+ * mutationFn: (updates) => oxyServices.updateProfile(updates),
43
+ * optimisticUpdate: (user, updates) => updates,
44
+ * errorMessage: 'Failed to update profile',
45
+ * });
46
+ * ```
47
+ */
48
+ export declare function createProfileMutation<TVariables>(config: ProfileMutationConfig<User, TVariables>, queryClient: QueryClient, activeSessionId: string | null): UseMutationOptions<User, Error, TVariables, {
49
+ previousUser?: User;
50
+ }>;
51
+ /**
52
+ * Configuration for creating a generic mutation (non-profile)
53
+ */
54
+ export interface GenericMutationConfig<TData, TVariables, TContext> {
55
+ /** The mutation function */
56
+ mutationFn: (variables: TVariables) => Promise<TData>;
57
+ /** Query key for optimistic data */
58
+ queryKey: unknown[];
59
+ /** Function to create optimistic data */
60
+ optimisticData?: (previous: TData | undefined, variables: TVariables) => TData;
61
+ /** Error message */
62
+ errorMessage?: string;
63
+ /** Success message */
64
+ successMessage?: string;
65
+ /** Additional queries to invalidate on success */
66
+ invalidateQueries?: unknown[][];
67
+ }
68
+ /**
69
+ * Creates a generic mutation with optimistic updates
70
+ */
71
+ export declare function createGenericMutation<TData, TVariables>(config: GenericMutationConfig<TData, TVariables, {
72
+ previous?: TData;
73
+ }>, queryClient: QueryClient): UseMutationOptions<TData, Error, TVariables, {
74
+ previous?: TData;
75
+ }>;
76
+ //# sourceMappingURL=mutationFactory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"mutationFactory.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/mutationFactory.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,WAAW,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AACxE,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAKvD;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,EAAE,UAAU;IACtD,oDAAoD;IACpD,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,2CAA2C;IAC3C,eAAe,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;IAC9B,2DAA2D;IAC3D,gBAAgB,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAChF,uCAAuC;IACvC,YAAY,CAAC,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;IACnD,yCAAyC;IACzC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,6DAA6D;IAC7D,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oEAAoE;IACpE,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAChC,uEAAuE;IACvE,wBAAwB,CAAC,EAAE,OAAO,CAAC;IACnC,+BAA+B;IAC/B,SAAS,CAAC,EAAE,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,WAAW,KAAK,IAAI,CAAC;CACpF;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,qBAAqB,CAAC,UAAU,EAC9C,MAAM,EAAE,qBAAqB,CAAC,IAAI,EAAE,UAAU,CAAC,EAC/C,WAAW,EAAE,WAAW,EACxB,eAAe,EAAE,MAAM,GAAG,IAAI,GAC7B,kBAAkB,CAAC,IAAI,EAAE,KAAK,EAAE,UAAU,EAAE;IAAE,YAAY,CAAC,EAAE,IAAI,CAAA;CAAE,CAAC,CAwFtE;AAED;;GAEG;AACH,MAAM,WAAW,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ;IAChE,4BAA4B;IAC5B,UAAU,EAAE,CAAC,SAAS,EAAE,UAAU,KAAK,OAAO,CAAC,KAAK,CAAC,CAAC;IACtD,oCAAoC;IACpC,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,yCAAyC;IACzC,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,GAAG,SAAS,EAAE,SAAS,EAAE,UAAU,KAAK,KAAK,CAAC;IAC/E,oBAAoB;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,sBAAsB;IACtB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,kDAAkD;IAClD,iBAAiB,CAAC,EAAE,OAAO,EAAE,EAAE,CAAC;CACjC;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,UAAU,EACrD,MAAM,EAAE,qBAAqB,CAAC,KAAK,EAAE,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,EACtE,WAAW,EAAE,WAAW,GACvB,kBAAkB,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE;IAAE,QAAQ,CAAC,EAAE,KAAK,CAAA;CAAE,CAAC,CA2CpE"}
@@ -2,13 +2,13 @@ import type { User } from '../../../models/interfaces';
2
2
  /**
3
3
  * Update user profile with optimistic updates and offline queue support
4
4
  */
5
- export declare const useUpdateProfile: () => import("@tanstack/react-query").UseMutationResult<any, Error, Partial<User>, {
5
+ export declare const useUpdateProfile: () => import("@tanstack/react-query").UseMutationResult<User, Error, Partial<User>, {
6
6
  previousUser: User | undefined;
7
7
  }>;
8
8
  /**
9
9
  * Upload avatar with progress tracking and offline queue support
10
10
  */
11
- export declare const useUploadAvatar: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
11
+ export declare const useUploadAvatar: () => import("@tanstack/react-query").UseMutationResult<User, Error, {
12
12
  uri: string;
13
13
  type?: string;
14
14
  name?: string;
@@ -25,20 +25,45 @@ export declare const useUpdateAccountSettings: () => import("@tanstack/react-que
25
25
  /**
26
26
  * Update privacy settings with optimistic updates and authentication handling
27
27
  */
28
- export declare const useUpdatePrivacySettings: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
28
+ export declare const useUpdatePrivacySettings: () => import("@tanstack/react-query").UseMutationResult<Record<string, unknown>, Error, {
29
29
  settings: Record<string, any>;
30
30
  userId?: string;
31
31
  }, {
32
32
  previousPrivacySettings: unknown;
33
33
  previousUser: User | undefined;
34
34
  } | undefined>;
35
+ /** Uploaded file data structure from API */
36
+ interface UploadedFile {
37
+ id: string;
38
+ originalName?: string;
39
+ sha256?: string;
40
+ mime?: string;
41
+ size?: number;
42
+ createdAt?: string;
43
+ metadata?: Record<string, unknown>;
44
+ variants?: Array<{
45
+ type: string;
46
+ key: string;
47
+ width?: number;
48
+ height?: number;
49
+ readyAt?: string;
50
+ metadata?: Record<string, unknown>;
51
+ }>;
52
+ }
53
+ /** Upload result type that supports both single file and batch responses */
54
+ interface UploadResult {
55
+ file?: UploadedFile;
56
+ files?: UploadedFile[];
57
+ id?: string;
58
+ }
35
59
  /**
36
60
  * Upload file with authentication handling and progress tracking
37
61
  */
38
- export declare const useUploadFile: () => import("@tanstack/react-query").UseMutationResult<any, Error, {
62
+ export declare const useUploadFile: () => import("@tanstack/react-query").UseMutationResult<UploadResult, Error, {
39
63
  file: File;
40
64
  visibility?: "private" | "public" | "unlisted";
41
65
  metadata?: Record<string, any>;
42
66
  onProgress?: (progress: number) => void;
43
67
  }, unknown>;
68
+ export {};
44
69
  //# sourceMappingURL=useAccountMutations.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAOvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EAgG5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EAwFtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EA2CpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;cAKoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAAW,MAAM;;;;cAiH5F,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,aAAa;UAUd,IAAI;iBACG,SAAS,GAAG,QAAQ,GAAG,UAAU;eACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;WAoC5C,CAAC"}
1
+ {"version":3,"file":"useAccountMutations.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/mutations/useAccountMutations.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,4BAA4B,CAAC;AAQvD;;GAEG;AACH,eAAO,MAAM,gBAAgB;;EAqE5B,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe;SAKQ,MAAM;WAAS,MAAM;WAAS,MAAM;WAAS,MAAM;;;EA6DtF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;;EA2CpC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,wBAAwB;cAKoB,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;aAAW,MAAM;;;;cAsF5F,CAAC;AAEF,4CAA4C;AAC5C,UAAU,YAAY;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,QAAQ,CAAC,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,OAAO,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;KAAE,CAAC,CAAC;CACxI;AAED,4EAA4E;AAC5E,UAAU,YAAY;IACpB,IAAI,CAAC,EAAE,YAAY,CAAC;IACpB,KAAK,CAAC,EAAE,YAAY,EAAE,CAAC;IACvB,EAAE,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,eAAO,MAAM,aAAa;UAUd,IAAI;iBACG,SAAS,GAAG,QAAQ,GAAG,UAAU;eACnC,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC;iBACjB,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI;WAS5C,CAAC"}
@@ -39,5 +39,5 @@ export declare const useUsersBySessions: (sessionIds: string[], options?: {
39
39
  */
40
40
  export declare const usePrivacySettings: (userId?: string, options?: {
41
41
  enabled?: boolean;
42
- }) => import("@tanstack/react-query").UseQueryResult<any, Error>;
42
+ }) => import("@tanstack/react-query").UseQueryResult<unknown, Error>;
43
43
  //# sourceMappingURL=useAccountQueries.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEAepF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAe7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAejF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAezF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAgDlF,CAAC"}
1
+ {"version":3,"file":"useAccountQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useAccountQueries.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,iEAepF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAe7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,QAAQ,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAejF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAezF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,YAAY,MAAM,EAAE,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAevF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,kBAAkB,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,mEAqBlF,CAAC"}
@@ -22,7 +22,7 @@ export declare const useDeviceSessions: (options?: {
22
22
  */
23
23
  export declare const useUserDevices: (options?: {
24
24
  enabled?: boolean;
25
- }) => import("@tanstack/react-query").UseQueryResult<any, Error>;
25
+ }) => import("@tanstack/react-query").UseQueryResult<unknown, Error>;
26
26
  /**
27
27
  * Get security information
28
28
  */
@@ -1 +1 @@
1
- {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAK7D;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DA2C7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAY9D,CAAC"}
1
+ {"version":3,"file":"useServicesQueries.d.ts","sourceRoot":"","sources":["../../../../../../src/ui/hooks/queries/useServicesQueries.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAM7D;;GAEG;AACH,eAAO,MAAM,WAAW,GAAI,SAAS,MAAM,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,2EAqB3E,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,UAAU,GAAI,WAAW,MAAM,GAAG,IAAI,EAAE,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,yEA6BnF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAgBhE,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,cAAc,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,mEAgB7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GAAI,UAAU;IAAE,OAAO,CAAC,EAAE,OAAO,CAAA;CAAE,+DAY9D,CAAC"}
@@ -0,0 +1,29 @@
1
+ import type { FileMetadata } from '../../models/interfaces';
2
+ export type ViewMode = 'all' | 'photos' | 'videos' | 'documents' | 'audio';
3
+ export type SortBy = 'date' | 'size' | 'name' | 'type';
4
+ export type SortOrder = 'asc' | 'desc';
5
+ interface UseFileFilteringOptions {
6
+ files: FileMetadata[];
7
+ initialViewMode?: ViewMode;
8
+ initialSortBy?: SortBy;
9
+ initialSortOrder?: SortOrder;
10
+ }
11
+ interface UseFileFilteringReturn {
12
+ filteredFiles: FileMetadata[];
13
+ viewMode: ViewMode;
14
+ setViewMode: (mode: ViewMode) => void;
15
+ searchQuery: string;
16
+ setSearchQuery: (query: string) => void;
17
+ sortBy: SortBy;
18
+ setSortBy: (sort: SortBy) => void;
19
+ sortOrder: SortOrder;
20
+ setSortOrder: (order: SortOrder) => void;
21
+ toggleSortOrder: () => void;
22
+ }
23
+ /**
24
+ * Hook for file filtering, sorting, and search functionality
25
+ * Extracts common file management logic for reuse across components
26
+ */
27
+ export declare function useFileFiltering({ files, initialViewMode, initialSortBy, initialSortOrder, }: UseFileFilteringOptions): UseFileFilteringReturn;
28
+ export {};
29
+ //# sourceMappingURL=useFileFiltering.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"useFileFiltering.d.ts","sourceRoot":"","sources":["../../../../../src/ui/hooks/useFileFiltering.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,MAAM,MAAM,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,CAAC;AAC3E,MAAM,MAAM,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,GAAG,MAAM,CAAC;AACvD,MAAM,MAAM,SAAS,GAAG,KAAK,GAAG,MAAM,CAAC;AAEvC,UAAU,uBAAuB;IAC/B,KAAK,EAAE,YAAY,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,QAAQ,CAAC;IAC3B,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,gBAAgB,CAAC,EAAE,SAAS,CAAC;CAC9B;AAED,UAAU,sBAAsB;IAC9B,aAAa,EAAE,YAAY,EAAE,CAAC;IAC9B,QAAQ,EAAE,QAAQ,CAAC;IACnB,WAAW,EAAE,CAAC,IAAI,EAAE,QAAQ,KAAK,IAAI,CAAC;IACtC,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,SAAS,EAAE,SAAS,CAAC;IACrB,YAAY,EAAE,CAAC,KAAK,EAAE,SAAS,KAAK,IAAI,CAAC;IACzC,eAAe,EAAE,MAAM,IAAI,CAAC;CAC7B;AAED;;;GAGG;AACH,wBAAgB,gBAAgB,CAAC,EAC/B,KAAK,EACL,eAAuB,EACvB,aAAsB,EACtB,gBAAyB,GAC1B,EAAE,uBAAuB,GAAG,sBAAsB,CA8ElD"}
@@ -1,74 +1,25 @@
1
1
  import type { RouteName } from './routes';
2
2
  /**
3
- * Bottom Sheet Manager - Pure state management module
4
- *
5
- * Uses Zustand (vanilla) for robust state management without React dependencies.
6
- * This ensures the manager can be imported safely anywhere.
3
+ * Bottom Sheet State Manager
7
4
  */
8
- export interface NavigationHistoryEntry {
9
- screen: RouteName;
10
- props: Record<string, unknown>;
11
- step?: number;
12
- }
13
- export interface BottomSheetRouterState {
5
+ export interface BottomSheetState {
14
6
  currentScreen: RouteName | null;
15
7
  screenProps: Record<string, unknown>;
16
8
  currentStep?: number;
17
- navigationHistory: NavigationHistoryEntry[];
9
+ history: Array<{
10
+ screen: RouteName;
11
+ props: Record<string, unknown>;
12
+ step?: number;
13
+ }>;
18
14
  isOpen: boolean;
19
15
  }
20
- export declare const bottomSheetStore: import("zustand/vanilla").StoreApi<BottomSheetRouterState>;
21
- type BottomSheetRefObject = {
22
- current: {
23
- present: () => void;
24
- dismiss: () => void;
25
- } | null;
26
- } | null;
27
- /**
28
- * Set the bottom sheet ref so showBottomSheet can control it
29
- */
30
- export declare const setBottomSheetRef: (ref: BottomSheetRefObject) => void;
31
- /**
32
- * Update the bottom sheet state
33
- * (Kept for backward compatibility, but prefer using store directly if possible)
34
- */
35
- export declare const updateBottomSheetState: (updates: Partial<BottomSheetRouterState>) => void;
36
- /**
37
- * Subscribe to bottom sheet state changes
38
- * (Wrapper around store.subscribe for backward compatibility)
39
- */
40
- export declare const subscribeToBottomSheetState: (listener: (state: BottomSheetRouterState) => void) => () => void;
41
- /**
42
- * Get the current bottom sheet state
43
- * (Wrapper around store.getState for backward compatibility)
44
- */
45
- export declare const getBottomSheetState: () => BottomSheetRouterState;
46
- /**
47
- * Show the bottom sheet with a specific screen (internal - no route validation)
48
- */
49
- export declare const managerShowBottomSheet: (screen: RouteName, props?: Record<string, unknown>, options?: {
50
- addToHistory?: boolean;
51
- step?: number;
52
- }) => void;
53
- /**
54
- * Close the bottom sheet (internal)
55
- */
56
- export declare const managerCloseBottomSheet: () => void;
57
- /**
58
- * Go back in navigation history
59
- * Returns true if back navigation was successful, false if history is empty
60
- */
61
- export declare const managerGoBack: () => boolean;
62
- /**
63
- * Public API for showing bottom sheets
64
- */
16
+ export declare const bottomSheetStore: import("zustand/vanilla").StoreApi<BottomSheetState>;
17
+ export declare const getState: () => BottomSheetState;
65
18
  export declare const showBottomSheet: (screenOrConfig: RouteName | {
66
19
  screen: RouteName;
67
20
  props?: Record<string, unknown>;
68
21
  }) => void;
69
- /**
70
- * Public API for closing bottom sheets
71
- */
72
22
  export declare const closeBottomSheet: () => void;
73
- export {};
23
+ export declare const goBack: () => boolean;
24
+ export declare const updateState: (updates: Partial<BottomSheetState>) => void;
74
25
  //# sourceMappingURL=bottomSheetManager.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"bottomSheetManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/bottomSheetManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;;;;GAKG;AAEH,MAAM,WAAW,sBAAsB;IACnC,MAAM,EAAE,SAAS,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAC/B,IAAI,CAAC,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACnC,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,iBAAiB,EAAE,sBAAsB,EAAE,CAAC;IAC5C,MAAM,EAAE,OAAO,CAAC;CACnB;AAYD,eAAO,MAAM,gBAAgB,4DAA0D,CAAC;AAGxF,KAAK,oBAAoB,GAAG;IAAE,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,IAAI,CAAC;QAAC,OAAO,EAAE,MAAM,IAAI,CAAA;KAAE,GAAG,IAAI,CAAA;CAAE,GAAG,IAAI,CAAC;AAGpG;;GAEG;AACH,eAAO,MAAM,iBAAiB,GAAI,KAAK,oBAAoB,SAE1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,sBAAsB,GAAI,SAAS,OAAO,CAAC,sBAAsB,CAAC,SAE9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,2BAA2B,GAAI,UAAU,CAAC,KAAK,EAAE,sBAAsB,KAAK,IAAI,eAE5F,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAO,sBAEtC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,sBAAsB,GAC/B,QAAQ,SAAS,EACjB,QAAQ,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU;IAAE,YAAY,CAAC,EAAE,OAAO,CAAC;IAAC,IAAI,CAAC,EAAE,MAAM,CAAA;CAAE,KACpD,IAiCF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,IAY1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,aAAa,QAAO,OAoBhC,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,eAAe,GACxB,gBAAgB,SAAS,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,KACnF,IAmBF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,IAEnC,CAAC"}
1
+ {"version":3,"file":"bottomSheetManager.d.ts","sourceRoot":"","sources":["../../../../../src/ui/navigation/bottomSheetManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,UAAU,CAAC;AAI1C;;GAEG;AAEH,MAAM,WAAW,gBAAgB;IAC7B,aAAa,EAAE,SAAS,GAAG,IAAI,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACrC,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,OAAO,EAAE,KAAK,CAAC;QAAE,MAAM,EAAE,SAAS,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrF,MAAM,EAAE,OAAO,CAAC;CACnB;AAUD,eAAO,MAAM,gBAAgB,sDAAoD,CAAC;AAElF,eAAO,MAAM,QAAQ,wBAAoC,CAAC;AAE1D,eAAO,MAAM,eAAe,GACxB,gBAAgB,SAAS,GAAG;IAAE,MAAM,EAAE,SAAS,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAA;CAAE,KACnF,IA4BF,CAAC;AAEF,eAAO,MAAM,gBAAgB,QAAO,IAEnC,CAAC;AAEF,eAAO,MAAM,MAAM,QAAO,OAezB,CAAC;AAEF,eAAO,MAAM,WAAW,GAAI,SAAS,OAAO,CAAC,gBAAgB,CAAC,SAE7D,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AccountSettingsScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSettingsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;mBA8Cc,MAAM;qBAAmB,MAAM;;AAsgExG,wBAAiD"}
1
+ {"version":3,"file":"AccountSettingsScreen.d.ts","sourceRoot":"","sources":["../../../../../src/ui/screens/AccountSettingsScreen.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAcjF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;;mBA6Cc,MAAM;qBAAmB,MAAM;;AAqgExG,wBAAiD"}