@oxyhq/services 5.17.17 → 5.18.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +32 -38
- package/lib/commonjs/core/CrossDomainAuth.js +277 -0
- package/lib/commonjs/core/CrossDomainAuth.js.map +1 -0
- package/lib/commonjs/core/HttpService.js +82 -15
- package/lib/commonjs/core/HttpService.js.map +1 -1
- package/lib/commonjs/core/OxyServices.base.js +11 -3
- package/lib/commonjs/core/OxyServices.base.js.map +1 -1
- package/lib/commonjs/core/OxyServices.js +4 -1
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/commonjs/core/index.js +30 -0
- package/lib/commonjs/core/index.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.assets.js +16 -3
- package/lib/commonjs/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.auth.js +73 -32
- package/lib/commonjs/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/commonjs/core/mixins/OxyServices.features.js +372 -0
- package/lib/commonjs/core/mixins/OxyServices.features.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js +289 -0
- package/lib/commonjs/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js +352 -0
- package/lib/commonjs/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js +378 -0
- package/lib/commonjs/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/commonjs/core/mixins/OxyServices.user.js +35 -24
- package/lib/commonjs/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/commonjs/core/mixins/index.js +28 -15
- package/lib/commonjs/core/mixins/index.js.map +1 -1
- package/lib/commonjs/crypto/index.js +30 -0
- package/lib/commonjs/crypto/index.js.map +1 -1
- package/lib/commonjs/crypto/keyManager.js +902 -0
- package/lib/commonjs/crypto/keyManager.js.map +1 -0
- package/lib/commonjs/crypto/polyfill.js +14 -5
- package/lib/commonjs/crypto/polyfill.js.map +1 -1
- package/lib/commonjs/crypto/recoveryPhrase.js +152 -0
- package/lib/commonjs/crypto/recoveryPhrase.js.map +1 -0
- package/lib/commonjs/crypto/signatureService.js +289 -0
- package/lib/commonjs/crypto/signatureService.js.map +1 -0
- package/lib/commonjs/i18n/locales/en-US.json +1 -1
- package/lib/commonjs/index.js +40 -26
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/interfaces.js +0 -15
- package/lib/commonjs/models/interfaces.js.map +1 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js +9 -1
- package/lib/commonjs/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/commonjs/ui/components/GroupedItem.js +11 -1
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/Icon.js.map +1 -1
- package/lib/commonjs/ui/components/IconButton/utils.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +41 -11
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/SettingRow.js +17 -4
- package/lib/commonjs/ui/components/SettingRow.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/commonjs/ui/components/TextField/helpers.js.map +1 -1
- package/lib/commonjs/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/commonjs/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/commonjs/ui/components/feedback/FormInput.js +72 -0
- package/lib/commonjs/ui/components/feedback/FormInput.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/ProgressIndicator.js +33 -0
- package/lib/commonjs/ui/components/feedback/ProgressIndicator.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/constants.js +59 -0
- package/lib/commonjs/ui/components/feedback/constants.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js +262 -0
- package/lib/commonjs/ui/components/feedback/feedbackStyles.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/index.js +54 -0
- package/lib/commonjs/ui/components/feedback/index.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/types.js +6 -0
- package/lib/commonjs/ui/components/feedback/types.js.map +1 -0
- package/lib/commonjs/ui/components/feedback/useFeedbackForm.js +52 -0
- package/lib/commonjs/ui/components/feedback/useFeedbackForm.js.map +1 -0
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +282 -0
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -0
- package/lib/commonjs/ui/components/modals/index.js +14 -0
- package/lib/commonjs/ui/components/modals/index.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +309 -0
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +79 -0
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +108 -0
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +79 -0
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +176 -0
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -0
- package/lib/commonjs/ui/components/payment/constants.js +53 -0
- package/lib/commonjs/ui/components/payment/constants.js.map +1 -0
- package/lib/commonjs/ui/components/payment/index.js +80 -0
- package/lib/commonjs/ui/components/payment/index.js.map +1 -0
- package/lib/commonjs/ui/components/payment/paymentStyles.js +409 -0
- package/lib/commonjs/ui/components/payment/paymentStyles.js.map +1 -0
- package/lib/commonjs/ui/components/payment/types.js +6 -0
- package/lib/commonjs/ui/components/payment/types.js.map +1 -0
- package/lib/commonjs/ui/context/OxyContext.js +110 -199
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/commonjs/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js +279 -0
- package/lib/commonjs/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/commonjs/ui/hooks/index.js +26 -0
- package/lib/commonjs/ui/hooks/index.js.map +1 -1
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js +79 -72
- package/lib/commonjs/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js +38 -51
- package/lib/commonjs/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js +3 -3
- package/lib/commonjs/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js +18 -12
- package/lib/commonjs/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAsyncAction.js +95 -0
- package/lib/commonjs/ui/hooks/useAsyncAction.js.map +1 -0
- package/lib/commonjs/ui/hooks/useProfileEditing.js +3 -5
- package/lib/commonjs/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +4 -8
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionSocket.js +162 -315
- package/lib/commonjs/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSettingToggle.js +126 -0
- package/lib/commonjs/ui/hooks/useSettingToggle.js.map +1 -0
- package/lib/commonjs/ui/hooks/useStorage.js +24 -58
- package/lib/commonjs/ui/hooks/useStorage.js.map +1 -1
- package/lib/commonjs/ui/index.js +50 -21
- package/lib/commonjs/ui/index.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +6 -1
- package/lib/commonjs/ui/navigation/routes.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +6 -4
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +33 -30
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +315 -0
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -0
- package/lib/commonjs/ui/screens/FeedbackScreen.js +73 -590
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HelpSupportScreen.js +8 -7
- package/lib/commonjs/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/OxyAuthScreen.js +134 -66
- package/lib/commonjs/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +67 -1395
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +13 -5
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js +16 -10
- package/lib/commonjs/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +23 -11
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/stores/accountStore.js +2 -4
- package/lib/commonjs/ui/stores/accountStore.js.map +1 -1
- package/lib/commonjs/ui/stores/authStore.js +45 -32
- package/lib/commonjs/ui/stores/authStore.js.map +1 -1
- package/lib/commonjs/ui/styles/spacing.js +54 -2
- package/lib/commonjs/ui/styles/spacing.js.map +1 -1
- package/lib/commonjs/ui/utils/avatarUtils.js +37 -41
- package/lib/commonjs/ui/utils/avatarUtils.js.map +1 -1
- package/lib/commonjs/ui/utils/storageHelpers.js.map +1 -1
- package/lib/commonjs/utils/errorUtils.js +13 -0
- package/lib/commonjs/utils/errorUtils.js.map +1 -1
- package/lib/commonjs/utils/validationUtils.js +15 -1
- package/lib/commonjs/utils/validationUtils.js.map +1 -1
- package/lib/module/core/CrossDomainAuth.js +271 -0
- package/lib/module/core/CrossDomainAuth.js.map +1 -0
- package/lib/module/core/HttpService.js +82 -15
- package/lib/module/core/HttpService.js.map +1 -1
- package/lib/module/core/OxyServices.base.js +11 -4
- package/lib/module/core/OxyServices.base.js.map +1 -1
- package/lib/module/core/OxyServices.js +4 -1
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/module/core/index.js +6 -1
- package/lib/module/core/index.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.assets.js +16 -3
- package/lib/module/core/mixins/OxyServices.assets.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.auth.js +73 -32
- package/lib/module/core/mixins/OxyServices.auth.js.map +1 -1
- package/lib/module/core/mixins/OxyServices.features.js +369 -0
- package/lib/module/core/mixins/OxyServices.features.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.fedcm.js +286 -0
- package/lib/module/core/mixins/OxyServices.fedcm.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.popup.js +349 -0
- package/lib/module/core/mixins/OxyServices.popup.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.redirect.js +375 -0
- package/lib/module/core/mixins/OxyServices.redirect.js.map +1 -0
- package/lib/module/core/mixins/OxyServices.user.js +35 -24
- package/lib/module/core/mixins/OxyServices.user.js.map +1 -1
- package/lib/module/core/mixins/index.js +16 -3
- package/lib/module/core/mixins/index.js.map +1 -1
- package/lib/module/crypto/index.js +8 -4
- package/lib/module/crypto/index.js.map +1 -1
- package/lib/module/crypto/keyManager.js +899 -0
- package/lib/module/crypto/keyManager.js.map +1 -0
- package/lib/module/crypto/polyfill.js +6 -5
- package/lib/module/crypto/polyfill.js.map +1 -1
- package/lib/module/crypto/recoveryPhrase.js +147 -0
- package/lib/module/crypto/recoveryPhrase.js.map +1 -0
- package/lib/module/crypto/signatureService.js +286 -0
- package/lib/module/crypto/signatureService.js.map +1 -0
- package/lib/module/i18n/locales/en-US.json +1 -1
- package/lib/module/index.js +6 -9
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/interfaces.js +0 -15
- package/lib/module/models/interfaces.js.map +1 -1
- package/lib/module/ui/components/BottomSheetRouter.js +6 -2
- package/lib/module/ui/components/BottomSheetRouter.js.map +1 -1
- package/lib/module/ui/components/GroupedItem.js +11 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Icon.js.map +1 -1
- package/lib/module/ui/components/IconButton/utils.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +41 -11
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/SettingRow.js +17 -4
- package/lib/module/ui/components/SettingRow.js.map +1 -1
- package/lib/module/ui/components/TextField/Adornment/utils.js.map +1 -1
- package/lib/module/ui/components/TextField/helpers.js.map +1 -1
- package/lib/module/ui/components/TouchableRipple/utils.js.map +1 -1
- package/lib/module/ui/components/Typography/AnimatedText.js.map +1 -1
- package/lib/module/ui/components/feedback/FormInput.js +67 -0
- package/lib/module/ui/components/feedback/FormInput.js.map +1 -0
- package/lib/module/ui/components/feedback/ProgressIndicator.js +28 -0
- package/lib/module/ui/components/feedback/ProgressIndicator.js.map +1 -0
- package/lib/module/ui/components/feedback/constants.js +55 -0
- package/lib/module/ui/components/feedback/constants.js.map +1 -0
- package/lib/module/ui/components/feedback/feedbackStyles.js +257 -0
- package/lib/module/ui/components/feedback/feedbackStyles.js.map +1 -0
- package/lib/module/ui/components/feedback/index.js +8 -0
- package/lib/module/ui/components/feedback/index.js.map +1 -0
- package/lib/module/ui/components/feedback/types.js +4 -0
- package/lib/module/ui/components/feedback/types.js.map +1 -0
- package/lib/module/ui/components/feedback/useFeedbackForm.js +47 -0
- package/lib/module/ui/components/feedback/useFeedbackForm.js.map +1 -0
- package/lib/module/ui/components/modals/DeleteAccountModal.js +276 -0
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -0
- package/lib/module/ui/components/modals/index.js +4 -0
- package/lib/module/ui/components/modals/index.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +303 -0
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentMethodStep.js +73 -0
- package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentReviewStep.js +102 -0
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +73 -0
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -0
- package/lib/module/ui/components/payment/PaymentSummaryStep.js +170 -0
- package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -0
- package/lib/module/ui/components/payment/constants.js +47 -0
- package/lib/module/ui/components/payment/constants.js.map +1 -0
- package/lib/module/ui/components/payment/index.js +10 -0
- package/lib/module/ui/components/payment/index.js.map +1 -0
- package/lib/module/ui/components/payment/paymentStyles.js +404 -0
- package/lib/module/ui/components/payment/paymentStyles.js.map +1 -0
- package/lib/module/ui/components/payment/types.js +4 -0
- package/lib/module/ui/components/payment/types.js.map +1 -0
- package/lib/module/ui/context/OxyContext.js +112 -191
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/hooks/useAuthOperations.js +150 -19
- package/lib/module/ui/context/hooks/useAuthOperations.js.map +1 -1
- package/lib/module/ui/context/hooks/useSessionManagement.js +274 -0
- package/lib/module/ui/context/hooks/useSessionManagement.js.map +1 -0
- package/lib/module/ui/hooks/index.js +2 -0
- package/lib/module/ui/hooks/index.js.map +1 -1
- package/lib/module/ui/hooks/mutations/useAccountMutations.js +80 -72
- package/lib/module/ui/hooks/mutations/useAccountMutations.js.map +1 -1
- package/lib/module/ui/hooks/queries/useAccountQueries.js +31 -44
- package/lib/module/ui/hooks/queries/useAccountQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js +1 -1
- package/lib/module/ui/hooks/queries/useSecurityQueries.js.map +1 -1
- package/lib/module/ui/hooks/queries/useServicesQueries.js +13 -7
- package/lib/module/ui/hooks/queries/useServicesQueries.js.map +1 -1
- package/lib/module/ui/hooks/useAsyncAction.js +89 -0
- package/lib/module/ui/hooks/useAsyncAction.js.map +1 -0
- package/lib/module/ui/hooks/useProfileEditing.js +3 -5
- package/lib/module/ui/hooks/useProfileEditing.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +4 -8
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/hooks/useSessionSocket.js +162 -315
- package/lib/module/ui/hooks/useSessionSocket.js.map +1 -1
- package/lib/module/ui/hooks/useSettingToggle.js +120 -0
- package/lib/module/ui/hooks/useSettingToggle.js.map +1 -0
- package/lib/module/ui/hooks/useStorage.js +25 -59
- package/lib/module/ui/hooks/useStorage.js.map +1 -1
- package/lib/module/ui/index.js +15 -10
- package/lib/module/ui/index.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +6 -1
- package/lib/module/ui/navigation/routes.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +6 -4
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +33 -30
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +29 -24
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +3 -3
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +310 -0
- package/lib/module/ui/screens/FAQScreen.js.map +1 -0
- package/lib/module/ui/screens/FeedbackScreen.js +64 -581
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/HelpSupportScreen.js +8 -7
- package/lib/module/ui/screens/HelpSupportScreen.js.map +1 -1
- package/lib/module/ui/screens/OxyAuthScreen.js +135 -68
- package/lib/module/ui/screens/OxyAuthScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +67 -1397
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +6 -13
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +13 -5
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/SavesCollectionsScreen.js +16 -10
- package/lib/module/ui/screens/SavesCollectionsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +23 -11
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/stores/accountStore.js +2 -4
- package/lib/module/ui/stores/accountStore.js.map +1 -1
- package/lib/module/ui/stores/authStore.js +45 -32
- package/lib/module/ui/stores/authStore.js.map +1 -1
- package/lib/module/ui/styles/spacing.js +6 -2
- package/lib/module/ui/styles/spacing.js.map +1 -1
- package/lib/module/ui/utils/avatarUtils.js +37 -40
- package/lib/module/ui/utils/avatarUtils.js.map +1 -1
- package/lib/module/ui/utils/storageHelpers.js.map +1 -1
- package/lib/module/utils/errorUtils.js +7 -0
- package/lib/module/utils/errorUtils.js.map +1 -1
- package/lib/module/utils/validationUtils.js +13 -0
- package/lib/module/utils/validationUtils.js.map +1 -1
- package/lib/typescript/core/CrossDomainAuth.d.ts +161 -0
- package/lib/typescript/core/CrossDomainAuth.d.ts.map +1 -0
- package/lib/typescript/core/HttpService.d.ts +1 -1
- package/lib/typescript/core/HttpService.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.base.d.ts +0 -6
- package/lib/typescript/core/OxyServices.base.d.ts.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +5 -36
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/lib/typescript/core/index.d.ts +4 -0
- package/lib/typescript/core/index.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.analytics.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.assets.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts +40 -20
- package/lib/typescript/core/mixins/OxyServices.auth.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.developer.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.devices.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.features.d.ts +229 -0
- package/lib/typescript/core/mixins/OxyServices.features.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts +195 -0
- package/lib/typescript/core/mixins/OxyServices.fedcm.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.karma.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.language.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.location.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.payment.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.popup.d.ts +206 -0
- package/lib/typescript/core/mixins/OxyServices.popup.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.privacy.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts +246 -0
- package/lib/typescript/core/mixins/OxyServices.redirect.d.ts.map +1 -0
- package/lib/typescript/core/mixins/OxyServices.security.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.user.d.ts +6 -4
- package/lib/typescript/core/mixins/OxyServices.user.d.ts.map +1 -1
- package/lib/typescript/core/mixins/OxyServices.utility.d.ts.map +1 -1
- package/lib/typescript/core/mixins/index.d.ts +291 -9
- package/lib/typescript/core/mixins/index.d.ts.map +1 -1
- package/lib/typescript/crypto/index.d.ts +6 -3
- package/lib/typescript/crypto/index.d.ts.map +1 -1
- package/lib/typescript/crypto/keyManager.d.ts +190 -0
- package/lib/typescript/crypto/keyManager.d.ts.map +1 -0
- package/lib/typescript/crypto/polyfill.d.ts +4 -3
- package/lib/typescript/crypto/polyfill.d.ts.map +1 -1
- package/lib/typescript/crypto/recoveryPhrase.d.ts +59 -0
- package/lib/typescript/crypto/recoveryPhrase.d.ts.map +1 -0
- package/lib/typescript/crypto/signatureService.d.ts +87 -0
- package/lib/typescript/crypto/signatureService.d.ts.map +1 -0
- package/lib/typescript/index.d.ts +5 -6
- package/lib/typescript/index.d.ts.map +1 -1
- package/lib/typescript/models/interfaces.d.ts +2 -14
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/models/session.d.ts +0 -9
- package/lib/typescript/models/session.d.ts.map +1 -1
- package/lib/typescript/types/bip39.d.ts +32 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts +5 -0
- package/lib/typescript/ui/components/BottomSheetRouter.d.ts.map +1 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts +5 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/ui/components/IconButton/utils.d.ts +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/components/SettingRow.d.ts +6 -0
- package/lib/typescript/ui/components/SettingRow.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/Addons/Outline.d.ts +2 -2
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts +1 -1
- package/lib/typescript/ui/components/TextField/Adornment/utils.d.ts.map +1 -1
- package/lib/typescript/ui/components/TextField/helpers.d.ts +8 -8
- package/lib/typescript/ui/components/TextField/types.d.ts +1 -0
- package/lib/typescript/ui/components/TextField/types.d.ts.map +1 -1
- package/lib/typescript/ui/components/feedback/FormInput.d.ts +20 -0
- package/lib/typescript/ui/components/feedback/FormInput.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts +11 -0
- package/lib/typescript/ui/components/feedback/ProgressIndicator.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/constants.d.ts +5 -0
- package/lib/typescript/ui/components/feedback/constants.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts +280 -0
- package/lib/typescript/ui/components/feedback/feedbackStyles.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/index.d.ts +7 -0
- package/lib/typescript/ui/components/feedback/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/types.d.ts +46 -0
- package/lib/typescript/ui/components/feedback/types.d.ts.map +1 -0
- package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts +9 -0
- package/lib/typescript/ui/components/feedback/useFeedbackForm.d.ts.map +1 -0
- package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts +19 -0
- package/lib/typescript/ui/components/modals/DeleteAccountModal.d.ts.map +1 -0
- package/lib/typescript/ui/components/modals/index.d.ts +2 -0
- package/lib/typescript/ui/components/modals/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts +21 -0
- package/lib/typescript/ui/components/payment/PaymentDetailsStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts +14 -0
- package/lib/typescript/ui/components/payment/PaymentMethodStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts +16 -0
- package/lib/typescript/ui/components/payment/PaymentReviewStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts +10 -0
- package/lib/typescript/ui/components/payment/PaymentSuccessStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts +15 -0
- package/lib/typescript/ui/components/payment/PaymentSummaryStep.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/constants.d.ts +7 -0
- package/lib/typescript/ui/components/payment/constants.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/index.d.ts +9 -0
- package/lib/typescript/ui/components/payment/index.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/paymentStyles.d.ts +396 -0
- package/lib/typescript/ui/components/payment/paymentStyles.d.ts.map +1 -0
- package/lib/typescript/ui/components/payment/types.d.ts +40 -0
- package/lib/typescript/ui/components/payment/types.d.ts.map +1 -0
- package/lib/typescript/ui/components/types.d.ts +4 -0
- package/lib/typescript/ui/components/types.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +57 -3
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts +10 -3
- package/lib/typescript/ui/context/hooks/useAuthOperations.d.ts.map +1 -1
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts +41 -0
- package/lib/typescript/ui/context/hooks/useSessionManagement.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/index.d.ts +2 -0
- package/lib/typescript/ui/hooks/index.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/mutations/useAccountMutations.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useAccountQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/queries/useServicesQueries.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useAsyncAction.d.ts +51 -0
- package/lib/typescript/ui/hooks/useAsyncAction.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useProfileEditing.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts +1 -2
- package/lib/typescript/ui/hooks/useSessionSocket.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useSettingToggle.d.ts +55 -0
- package/lib/typescript/ui/hooks/useSettingToggle.d.ts.map +1 -0
- package/lib/typescript/ui/hooks/useStorage.d.ts +3 -9
- package/lib/typescript/ui/hooks/useStorage.d.ts.map +1 -1
- package/lib/typescript/ui/index.d.ts +6 -2
- package/lib/typescript/ui/index.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountOverviewScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountSettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FAQScreen.d.ts +5 -0
- package/lib/typescript/ui/screens/FAQScreen.d.ts.map +1 -0
- package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/HelpSupportScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts +1 -1
- package/lib/typescript/ui/screens/OxyAuthScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts +3 -15
- package/lib/typescript/ui/screens/PaymentGatewayScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SavesCollectionsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/stores/accountStore.d.ts.map +1 -1
- package/lib/typescript/ui/stores/authStore.d.ts +8 -7
- package/lib/typescript/ui/stores/authStore.d.ts.map +1 -1
- package/lib/typescript/ui/styles/spacing.d.ts +5 -0
- package/lib/typescript/ui/styles/spacing.d.ts.map +1 -1
- package/lib/typescript/ui/types/navigation.d.ts +2 -1
- package/lib/typescript/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/ui/utils/avatarUtils.d.ts +2 -13
- package/lib/typescript/ui/utils/avatarUtils.d.ts.map +1 -1
- package/lib/typescript/ui/utils/storageHelpers.d.ts +0 -3
- package/lib/typescript/ui/utils/storageHelpers.d.ts.map +1 -1
- package/lib/typescript/utils/errorUtils.d.ts +6 -0
- package/lib/typescript/utils/errorUtils.d.ts.map +1 -1
- package/lib/typescript/utils/validationUtils.d.ts +8 -0
- package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
- package/package.json +8 -7
- package/src/core/CrossDomainAuth.ts +307 -0
- package/src/core/HttpService.ts +99 -16
- package/src/core/OxyServices.base.ts +20 -3
- package/src/core/OxyServices.ts +7 -3
- package/src/core/index.ts +9 -1
- package/src/core/mixins/OxyServices.assets.ts +14 -3
- package/src/core/mixins/OxyServices.auth.ts +105 -36
- package/src/core/mixins/OxyServices.features.ts +428 -0
- package/src/core/mixins/OxyServices.fedcm.ts +315 -0
- package/src/core/mixins/OxyServices.popup.ts +402 -0
- package/src/core/mixins/OxyServices.redirect.ts +397 -0
- package/src/core/mixins/OxyServices.user.ts +39 -24
- package/src/core/mixins/index.ts +33 -14
- package/src/crypto/index.ts +16 -5
- package/src/crypto/keyManager.ts +966 -0
- package/src/crypto/polyfill.ts +6 -5
- package/src/crypto/recoveryPhrase.ts +166 -0
- package/src/crypto/signatureService.ts +323 -0
- package/src/i18n/locales/en-US.json +1 -1
- package/src/index.ts +19 -15
- package/src/models/interfaces.ts +4 -16
- package/src/models/session.ts +2 -11
- package/src/types/bip39.d.ts +32 -0
- package/src/ui/components/BottomSheetRouter.tsx +6 -1
- package/src/ui/components/GroupedItem.tsx +19 -1
- package/src/ui/components/Icon.tsx +1 -1
- package/src/ui/components/IconButton/utils.ts +1 -1
- package/src/ui/components/OxyProvider.tsx +44 -12
- package/src/ui/components/SettingRow.tsx +26 -4
- package/src/ui/components/TextField/Addons/Outline.tsx +2 -2
- package/src/ui/components/TextField/Adornment/utils.ts +2 -2
- package/src/ui/components/TextField/helpers.tsx +10 -10
- package/src/ui/components/TextField/types.tsx +1 -1
- package/src/ui/components/TouchableRipple/utils.ts +2 -2
- package/src/ui/components/Typography/AnimatedText.tsx +2 -2
- package/src/ui/components/feedback/FormInput.tsx +84 -0
- package/src/ui/components/feedback/ProgressIndicator.tsx +35 -0
- package/src/ui/components/feedback/constants.ts +22 -0
- package/src/ui/components/feedback/feedbackStyles.ts +247 -0
- package/src/ui/components/feedback/index.ts +6 -0
- package/src/ui/components/feedback/types.ts +52 -0
- package/src/ui/components/feedback/useFeedbackForm.ts +44 -0
- package/src/ui/components/modals/DeleteAccountModal.tsx +294 -0
- package/src/ui/components/modals/index.ts +1 -0
- package/src/ui/components/payment/PaymentDetailsStep.tsx +222 -0
- package/src/ui/components/payment/PaymentMethodStep.tsx +89 -0
- package/src/ui/components/payment/PaymentReviewStep.tsx +126 -0
- package/src/ui/components/payment/PaymentSuccessStep.tsx +71 -0
- package/src/ui/components/payment/PaymentSummaryStep.tsx +159 -0
- package/src/ui/components/payment/constants.ts +39 -0
- package/src/ui/components/payment/index.ts +9 -0
- package/src/ui/components/payment/paymentStyles.ts +397 -0
- package/src/ui/components/payment/types.ts +45 -0
- package/src/ui/components/types.tsx +6 -0
- package/src/ui/context/OxyContext.tsx +173 -195
- package/src/ui/context/hooks/useAuthOperations.ts +177 -36
- package/src/ui/context/hooks/useSessionManagement.ts +399 -0
- package/src/ui/hooks/index.ts +3 -1
- package/src/ui/hooks/mutations/useAccountMutations.ts +83 -76
- package/src/ui/hooks/queries/useAccountQueries.ts +29 -35
- package/src/ui/hooks/queries/useSecurityQueries.ts +1 -1
- package/src/ui/hooks/queries/useServicesQueries.ts +14 -6
- package/src/ui/hooks/useAsyncAction.ts +129 -0
- package/src/ui/hooks/useProfileEditing.ts +3 -3
- package/src/ui/hooks/useSessionManagement.ts +5 -10
- package/src/ui/hooks/useSessionSocket.ts +46 -175
- package/src/ui/hooks/useSettingToggle.ts +147 -0
- package/src/ui/hooks/useStorage.ts +24 -76
- package/src/ui/index.ts +22 -13
- package/src/ui/navigation/routes.ts +8 -2
- package/src/ui/screens/AccountCenterScreen.tsx +4 -4
- package/src/ui/screens/AccountOverviewScreen.tsx +36 -38
- package/src/ui/screens/AccountSettingsScreen.tsx +34 -37
- package/src/ui/screens/AccountSwitcherScreen.tsx +4 -4
- package/src/ui/screens/FAQScreen.tsx +332 -0
- package/src/ui/screens/FeedbackScreen.tsx +91 -626
- package/src/ui/screens/HelpSupportScreen.tsx +7 -5
- package/src/ui/screens/OxyAuthScreen.tsx +138 -64
- package/src/ui/screens/PaymentGatewayScreen.tsx +96 -1275
- package/src/ui/screens/PrivacySettingsScreen.tsx +6 -12
- package/src/ui/screens/ProfileScreen.tsx +11 -6
- package/src/ui/screens/SavesCollectionsScreen.tsx +19 -10
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +10 -10
- package/src/ui/stores/accountStore.ts +1 -11
- package/src/ui/stores/authStore.ts +43 -44
- package/src/ui/styles/spacing.ts +15 -2
- package/src/ui/types/navigation.ts +2 -2
- package/src/ui/utils/avatarUtils.ts +39 -46
- package/src/ui/utils/storageHelpers.ts +0 -4
- package/src/utils/__tests__/validationUtils.test.ts +16 -1
- package/src/utils/errorUtils.ts +8 -1
- package/src/utils/validationUtils.ts +12 -0
- package/lib/commonjs/core/services/SessionService.js +0 -163
- package/lib/commonjs/core/services/SessionService.js.map +0 -1
- package/lib/commonjs/core/services/TokenService.js +0 -220
- package/lib/commonjs/core/services/TokenService.js.map +0 -1
- package/lib/commonjs/crypto/types.js +0 -2
- package/lib/commonjs/crypto/types.js.map +0 -1
- package/lib/commonjs/ui/context/OxyContextBase.js +0 -21
- package/lib/commonjs/ui/context/OxyContextBase.js.map +0 -1
- package/lib/commonjs/ui/context/hooks/useStorage.js +0 -79
- package/lib/commonjs/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/commonjs/ui/hooks/useAvatarPicker.js +0 -56
- package/lib/commonjs/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/module/core/services/SessionService.js +0 -159
- package/lib/module/core/services/SessionService.js.map +0 -1
- package/lib/module/core/services/TokenService.js +0 -217
- package/lib/module/core/services/TokenService.js.map +0 -1
- package/lib/module/crypto/types.js +0 -2
- package/lib/module/crypto/types.js.map +0 -1
- package/lib/module/ui/context/OxyContextBase.js +0 -16
- package/lib/module/ui/context/OxyContextBase.js.map +0 -1
- package/lib/module/ui/context/hooks/useStorage.js +0 -74
- package/lib/module/ui/context/hooks/useStorage.js.map +0 -1
- package/lib/module/ui/hooks/useAvatarPicker.js +0 -50
- package/lib/module/ui/hooks/useAvatarPicker.js.map +0 -1
- package/lib/typescript/core/services/SessionService.d.ts +0 -78
- package/lib/typescript/core/services/SessionService.d.ts.map +0 -1
- package/lib/typescript/core/services/TokenService.d.ts +0 -72
- package/lib/typescript/core/services/TokenService.d.ts.map +0 -1
- package/lib/typescript/crypto/types.d.ts +0 -22
- package/lib/typescript/crypto/types.d.ts.map +0 -1
- package/lib/typescript/ui/context/OxyContextBase.d.ts +0 -63
- package/lib/typescript/ui/context/OxyContextBase.d.ts.map +0 -1
- package/lib/typescript/ui/context/hooks/useStorage.d.ts +0 -22
- package/lib/typescript/ui/context/hooks/useStorage.d.ts.map +0 -1
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts +0 -19
- package/lib/typescript/ui/hooks/useAvatarPicker.d.ts.map +0 -1
- package/src/core/services/SessionService.ts +0 -173
- package/src/core/services/TokenService.ts +0 -237
- package/src/crypto/types.ts +0 -23
- package/src/ui/context/OxyContextBase.tsx +0 -78
- package/src/ui/context/hooks/useStorage.ts +0 -104
- package/src/ui/hooks/useAvatarPicker.ts +0 -61
|
@@ -1,163 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.sessionService = void 0;
|
|
7
|
-
var _TokenService = require("./TokenService");
|
|
8
|
-
/**
|
|
9
|
-
* SessionService - Single Source of Truth for Session Management
|
|
10
|
-
*
|
|
11
|
-
* Handles all session operations: creation, validation, refresh, invalidation.
|
|
12
|
-
* Manages active session state and provides session data to other services.
|
|
13
|
-
*
|
|
14
|
-
* Architecture:
|
|
15
|
-
* - Single source of truth for session operations
|
|
16
|
-
* - Handles both online and offline sessions
|
|
17
|
-
* - Integrates with TokenService for token management
|
|
18
|
-
* - userId is always MongoDB ObjectId, never publicKey
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* SessionService - Singleton pattern for global session management
|
|
23
|
-
*/
|
|
24
|
-
class SessionService {
|
|
25
|
-
oxyServices = null;
|
|
26
|
-
activeSession = null;
|
|
27
|
-
sessions = [];
|
|
28
|
-
constructor() {}
|
|
29
|
-
static getInstance() {
|
|
30
|
-
if (!SessionService.instance) {
|
|
31
|
-
SessionService.instance = new SessionService();
|
|
32
|
-
}
|
|
33
|
-
return SessionService.instance;
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
/**
|
|
37
|
-
* Initialize SessionService with OxyServices instance
|
|
38
|
-
*/
|
|
39
|
-
initialize(oxyServices) {
|
|
40
|
-
this.oxyServices = oxyServices;
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
/**
|
|
44
|
-
* Get active session
|
|
45
|
-
*/
|
|
46
|
-
getActiveSession() {
|
|
47
|
-
return this.activeSession;
|
|
48
|
-
}
|
|
49
|
-
|
|
50
|
-
/**
|
|
51
|
-
* Get all sessions
|
|
52
|
-
*/
|
|
53
|
-
getAllSessions() {
|
|
54
|
-
return [...this.sessions];
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/**
|
|
58
|
-
* Create a new session (sign in)
|
|
59
|
-
* @param publicKey - User's public key for authentication
|
|
60
|
-
* @returns User object and session data
|
|
61
|
-
*/
|
|
62
|
-
async createSession(publicKey) {
|
|
63
|
-
if (!this.oxyServices) {
|
|
64
|
-
throw new Error('SessionService not initialized with OxyServices');
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
// This will be implemented by delegating to existing sign-in logic
|
|
68
|
-
// For now, this is a placeholder that shows the interface
|
|
69
|
-
throw new Error('SessionService.createSession not yet implemented - use existing signIn flow');
|
|
70
|
-
}
|
|
71
|
-
|
|
72
|
-
/**
|
|
73
|
-
* Refresh current session
|
|
74
|
-
*/
|
|
75
|
-
async refreshSession() {
|
|
76
|
-
if (!this.activeSession) {
|
|
77
|
-
throw new Error('No active session to refresh');
|
|
78
|
-
}
|
|
79
|
-
|
|
80
|
-
// Refresh token first
|
|
81
|
-
await _TokenService.tokenService.refreshTokenIfNeeded();
|
|
82
|
-
|
|
83
|
-
// Then refresh session data from server
|
|
84
|
-
// Implementation will be added
|
|
85
|
-
return this.activeSession;
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
/**
|
|
89
|
-
* Validate current session
|
|
90
|
-
*/
|
|
91
|
-
async validateSession() {
|
|
92
|
-
if (!this.activeSession) {
|
|
93
|
-
return false;
|
|
94
|
-
}
|
|
95
|
-
|
|
96
|
-
// Check if session expired
|
|
97
|
-
if (new Date(this.activeSession.expiresAt) < new Date()) {
|
|
98
|
-
return false;
|
|
99
|
-
}
|
|
100
|
-
|
|
101
|
-
// Check if token is valid
|
|
102
|
-
const token = _TokenService.tokenService.getAccessToken();
|
|
103
|
-
if (!token) {
|
|
104
|
-
return false;
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
// Additional validation can be added here
|
|
108
|
-
return true;
|
|
109
|
-
}
|
|
110
|
-
|
|
111
|
-
/**
|
|
112
|
-
* Invalidate current session (sign out)
|
|
113
|
-
*/
|
|
114
|
-
async invalidateSession() {
|
|
115
|
-
if (!this.activeSession || !this.oxyServices) {
|
|
116
|
-
return;
|
|
117
|
-
}
|
|
118
|
-
try {
|
|
119
|
-
// Call API to invalidate session on server
|
|
120
|
-
await this.oxyServices.makeRequest('POST', `/api/session/${this.activeSession.sessionId}/logout`, undefined, {
|
|
121
|
-
cache: false
|
|
122
|
-
});
|
|
123
|
-
} catch (error) {
|
|
124
|
-
// Continue with local cleanup even if API call fails
|
|
125
|
-
console.warn('Failed to invalidate session on server:', error);
|
|
126
|
-
}
|
|
127
|
-
|
|
128
|
-
// Clear tokens
|
|
129
|
-
_TokenService.tokenService.clearTokens();
|
|
130
|
-
|
|
131
|
-
// Clear active session
|
|
132
|
-
this.activeSession = null;
|
|
133
|
-
this.sessions = this.sessions.filter(s => s.sessionId !== this.activeSession?.sessionId);
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
/**
|
|
137
|
-
* Set active session (internal use)
|
|
138
|
-
*/
|
|
139
|
-
setActiveSession(session) {
|
|
140
|
-
this.activeSession = session;
|
|
141
|
-
|
|
142
|
-
// Update sessions list
|
|
143
|
-
const existingIndex = this.sessions.findIndex(s => s.sessionId === session.sessionId);
|
|
144
|
-
if (existingIndex >= 0) {
|
|
145
|
-
this.sessions[existingIndex] = session;
|
|
146
|
-
} else {
|
|
147
|
-
this.sessions.push(session);
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
|
|
151
|
-
/**
|
|
152
|
-
* Clear all sessions (logout all)
|
|
153
|
-
*/
|
|
154
|
-
clearAllSessions() {
|
|
155
|
-
this.activeSession = null;
|
|
156
|
-
this.sessions = [];
|
|
157
|
-
_TokenService.tokenService.clearTokens();
|
|
158
|
-
}
|
|
159
|
-
}
|
|
160
|
-
|
|
161
|
-
// Export singleton instance
|
|
162
|
-
const sessionService = exports.sessionService = SessionService.getInstance();
|
|
163
|
-
//# sourceMappingURL=SessionService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_TokenService","require","SessionService","oxyServices","activeSession","sessions","constructor","getInstance","instance","initialize","getActiveSession","getAllSessions","createSession","publicKey","Error","refreshSession","tokenService","refreshTokenIfNeeded","validateSession","Date","expiresAt","token","getAccessToken","invalidateSession","makeRequest","sessionId","undefined","cache","error","console","warn","clearTokens","filter","s","setActiveSession","session","existingIndex","findIndex","push","clearAllSessions","sessionService","exports"],"sourceRoot":"../../../../src","sources":["core/services/SessionService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1,220 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.tokenService = void 0;
|
|
7
|
-
var _jwtDecode = require("jwt-decode");
|
|
8
|
-
/**
|
|
9
|
-
* TokenService - Single Source of Truth for Token Management
|
|
10
|
-
*
|
|
11
|
-
* Handles all token storage, retrieval, refresh, and validation.
|
|
12
|
-
* Used by HttpService, SocketService, and other services that need tokens.
|
|
13
|
-
*
|
|
14
|
-
* Architecture:
|
|
15
|
-
* - Single storage location (no duplication)
|
|
16
|
-
* - Automatic token refresh when expiring soon
|
|
17
|
-
* - Type-safe token payload handling
|
|
18
|
-
* - userId is always MongoDB ObjectId, never publicKey
|
|
19
|
-
*/
|
|
20
|
-
|
|
21
|
-
/**
|
|
22
|
-
* AccessTokenPayload - Matches the token payload structure from API
|
|
23
|
-
* userId is always MongoDB ObjectId (24 hex characters), never publicKey
|
|
24
|
-
*/
|
|
25
|
-
|
|
26
|
-
/**
|
|
27
|
-
* TokenService - Singleton pattern for global token management
|
|
28
|
-
*/
|
|
29
|
-
class TokenService {
|
|
30
|
-
tokenStore = {
|
|
31
|
-
accessToken: null,
|
|
32
|
-
refreshToken: null
|
|
33
|
-
};
|
|
34
|
-
refreshPromise = null;
|
|
35
|
-
baseURL = null;
|
|
36
|
-
constructor() {}
|
|
37
|
-
static getInstance() {
|
|
38
|
-
if (!TokenService.instance) {
|
|
39
|
-
TokenService.instance = new TokenService();
|
|
40
|
-
}
|
|
41
|
-
return TokenService.instance;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
/**
|
|
45
|
-
* Initialize TokenService with base URL for refresh requests
|
|
46
|
-
*/
|
|
47
|
-
initialize(baseURL) {
|
|
48
|
-
this.baseURL = baseURL;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
/**
|
|
52
|
-
* Get current access token
|
|
53
|
-
*/
|
|
54
|
-
getAccessToken() {
|
|
55
|
-
return this.tokenStore.accessToken;
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* Get current refresh token
|
|
60
|
-
*/
|
|
61
|
-
getRefreshToken() {
|
|
62
|
-
return this.tokenStore.refreshToken;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
/**
|
|
66
|
-
* Set tokens (called after login or token refresh)
|
|
67
|
-
*/
|
|
68
|
-
setTokens(accessToken, refreshToken = '') {
|
|
69
|
-
this.tokenStore.accessToken = accessToken;
|
|
70
|
-
this.tokenStore.refreshToken = refreshToken || this.tokenStore.refreshToken;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/**
|
|
74
|
-
* Clear all tokens (called on logout)
|
|
75
|
-
*/
|
|
76
|
-
clearTokens() {
|
|
77
|
-
this.tokenStore.accessToken = null;
|
|
78
|
-
this.tokenStore.refreshToken = null;
|
|
79
|
-
this.refreshPromise = null;
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
/**
|
|
83
|
-
* Check if access token exists
|
|
84
|
-
*/
|
|
85
|
-
hasAccessToken() {
|
|
86
|
-
return !!this.tokenStore.accessToken;
|
|
87
|
-
}
|
|
88
|
-
|
|
89
|
-
/**
|
|
90
|
-
* Check if token is expiring soon (within 60 seconds)
|
|
91
|
-
*/
|
|
92
|
-
isTokenExpiringSoon() {
|
|
93
|
-
const token = this.tokenStore.accessToken;
|
|
94
|
-
if (!token) return false;
|
|
95
|
-
try {
|
|
96
|
-
const decoded = (0, _jwtDecode.jwtDecode)(token);
|
|
97
|
-
if (!decoded.exp) return false;
|
|
98
|
-
const currentTime = Math.floor(Date.now() / 1000);
|
|
99
|
-
return decoded.exp - currentTime < 60; // Expiring within 60 seconds
|
|
100
|
-
} catch {
|
|
101
|
-
return false;
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
/**
|
|
106
|
-
* Get userId from current access token
|
|
107
|
-
* Returns MongoDB ObjectId (never publicKey)
|
|
108
|
-
*/
|
|
109
|
-
getUserIdFromToken() {
|
|
110
|
-
const token = this.tokenStore.accessToken;
|
|
111
|
-
if (!token) return null;
|
|
112
|
-
try {
|
|
113
|
-
const decoded = (0, _jwtDecode.jwtDecode)(token);
|
|
114
|
-
return decoded.userId || null;
|
|
115
|
-
} catch {
|
|
116
|
-
return null;
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
/**
|
|
121
|
-
* Refresh access token if expiring soon
|
|
122
|
-
* Returns promise that resolves when token is refreshed (or already valid)
|
|
123
|
-
*/
|
|
124
|
-
async refreshTokenIfNeeded() {
|
|
125
|
-
// If already refreshing, wait for that promise
|
|
126
|
-
if (this.refreshPromise) {
|
|
127
|
-
return this.refreshPromise;
|
|
128
|
-
}
|
|
129
|
-
const hasToken = !!this.tokenStore.accessToken;
|
|
130
|
-
const needsRefresh = this.isTokenExpiringSoon();
|
|
131
|
-
|
|
132
|
-
// If no access token but we have refresh token, attempt refresh once
|
|
133
|
-
if (!hasToken && this.tokenStore.refreshToken) {
|
|
134
|
-
this.refreshPromise = this._performRefresh();
|
|
135
|
-
try {
|
|
136
|
-
await this.refreshPromise;
|
|
137
|
-
} finally {
|
|
138
|
-
this.refreshPromise = null;
|
|
139
|
-
}
|
|
140
|
-
return;
|
|
141
|
-
}
|
|
142
|
-
|
|
143
|
-
// If token not expiring soon, no refresh needed
|
|
144
|
-
if (!needsRefresh) {
|
|
145
|
-
return;
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
// Start refresh
|
|
149
|
-
this.refreshPromise = this._performRefresh();
|
|
150
|
-
try {
|
|
151
|
-
await this.refreshPromise;
|
|
152
|
-
} finally {
|
|
153
|
-
this.refreshPromise = null;
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
|
|
157
|
-
/**
|
|
158
|
-
* Perform token refresh
|
|
159
|
-
*/
|
|
160
|
-
async _performRefresh() {
|
|
161
|
-
const refreshToken = this.tokenStore.refreshToken;
|
|
162
|
-
if (!refreshToken) {
|
|
163
|
-
throw new Error('No refresh token to refresh');
|
|
164
|
-
}
|
|
165
|
-
try {
|
|
166
|
-
if (!this.baseURL) {
|
|
167
|
-
throw new Error('TokenService not initialized with baseURL');
|
|
168
|
-
}
|
|
169
|
-
const refreshUrl = `${this.baseURL}/api/auth/refresh`;
|
|
170
|
-
const response = await fetch(refreshUrl, {
|
|
171
|
-
method: 'POST',
|
|
172
|
-
headers: {
|
|
173
|
-
'Accept': 'application/json',
|
|
174
|
-
'Content-Type': 'application/json'
|
|
175
|
-
},
|
|
176
|
-
body: JSON.stringify({
|
|
177
|
-
refreshToken
|
|
178
|
-
}),
|
|
179
|
-
signal: AbortSignal.timeout(5000)
|
|
180
|
-
});
|
|
181
|
-
if (!response.ok) {
|
|
182
|
-
throw new Error(`Token refresh failed: ${response.status}`);
|
|
183
|
-
}
|
|
184
|
-
const {
|
|
185
|
-
accessToken: newToken,
|
|
186
|
-
refreshToken: newRefresh
|
|
187
|
-
} = await response.json();
|
|
188
|
-
if (!newToken) {
|
|
189
|
-
throw new Error('No access token in refresh response');
|
|
190
|
-
}
|
|
191
|
-
|
|
192
|
-
// Validate new token has correct userId format (ObjectId)
|
|
193
|
-
const newDecoded = (0, _jwtDecode.jwtDecode)(newToken);
|
|
194
|
-
if (newDecoded.userId && !/^[0-9a-fA-F]{24}$/.test(newDecoded.userId)) {
|
|
195
|
-
throw new Error(`Invalid userId format in refreshed token: ${newDecoded.userId.substring(0, 20)}...`);
|
|
196
|
-
}
|
|
197
|
-
this.setTokens(newToken, newRefresh || refreshToken);
|
|
198
|
-
} catch (error) {
|
|
199
|
-
// Clear tokens on refresh failure (likely expired or invalid)
|
|
200
|
-
this.clearTokens();
|
|
201
|
-
throw error;
|
|
202
|
-
}
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
/**
|
|
206
|
-
* Get authorization header with automatic refresh
|
|
207
|
-
*/
|
|
208
|
-
async getAuthHeader() {
|
|
209
|
-
// Refresh if needed
|
|
210
|
-
await this.refreshTokenIfNeeded().catch(() => {
|
|
211
|
-
// Ignore refresh errors, will use current token or return null
|
|
212
|
-
});
|
|
213
|
-
const token = this.tokenStore.accessToken;
|
|
214
|
-
return token ? `Bearer ${token}` : null;
|
|
215
|
-
}
|
|
216
|
-
}
|
|
217
|
-
|
|
218
|
-
// Export singleton instance
|
|
219
|
-
const tokenService = exports.tokenService = TokenService.getInstance();
|
|
220
|
-
//# sourceMappingURL=TokenService.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_jwtDecode","require","TokenService","tokenStore","accessToken","refreshToken","refreshPromise","baseURL","constructor","getInstance","instance","initialize","getAccessToken","getRefreshToken","setTokens","clearTokens","hasAccessToken","isTokenExpiringSoon","token","decoded","jwtDecode","exp","currentTime","Math","floor","Date","now","getUserIdFromToken","userId","refreshTokenIfNeeded","hasToken","needsRefresh","_performRefresh","Error","refreshUrl","response","fetch","method","headers","body","JSON","stringify","signal","AbortSignal","timeout","ok","status","newToken","newRefresh","json","newDecoded","test","substring","error","getAuthHeader","catch","tokenService","exports"],"sourceRoot":"../../../../src","sources":["core/services/TokenService.ts"],"mappings":"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","ignoreList":[]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["crypto/types.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -1,21 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useOxy = exports.OxyContext = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
const OxyContext = exports.OxyContext = /*#__PURE__*/(0, _react.createContext)(null);
|
|
9
|
-
/**
|
|
10
|
-
* Hook to access the Oxy context.
|
|
11
|
-
* Must be used within an OxyContextProvider.
|
|
12
|
-
*/
|
|
13
|
-
const useOxy = () => {
|
|
14
|
-
const context = (0, _react.useContext)(OxyContext);
|
|
15
|
-
if (!context) {
|
|
16
|
-
throw new Error('useOxy must be used within an OxyContextProvider');
|
|
17
|
-
}
|
|
18
|
-
return context;
|
|
19
|
-
};
|
|
20
|
-
exports.useOxy = useOxy;
|
|
21
|
-
//# sourceMappingURL=OxyContextBase.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","OxyContext","exports","createContext","useOxy","context","useContext","Error"],"sourceRoot":"../../../../src","sources":["ui/context/OxyContextBase.tsx"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAwDO,MAAMC,UAAU,GAAAC,OAAA,CAAAD,UAAA,gBAAG,IAAAE,oBAAa,EAAyB,IAAI,CAAC;AAWrE;AACA;AACA;AACA;AACO,MAAMC,MAAM,GAAGA,CAAA,KAAuB;EACzC,MAAMC,OAAO,GAAG,IAAAC,iBAAU,EAACL,UAAU,CAAC;EACtC,IAAI,CAACI,OAAO,EAAE;IACV,MAAM,IAAIE,KAAK,CAAC,kDAAkD,CAAC;EACvE;EACA,OAAOF,OAAO;AAClB,CAAC;AAACH,OAAA,CAAAE,MAAA,GAAAA,MAAA","ignoreList":[]}
|
|
@@ -1,79 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useStorage = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _storageHelpers = require("../../utils/storageHelpers");
|
|
9
|
-
var _errorHandlers = require("../../utils/errorHandlers");
|
|
10
|
-
const DEFAULT_ERROR_CODE = 'STORAGE_INIT_ERROR';
|
|
11
|
-
|
|
12
|
-
/**
|
|
13
|
-
* React hook that exposes a platform-agnostic storage reference.
|
|
14
|
-
* Handles initialization, error propagation, and lazy re-initialization.
|
|
15
|
-
*
|
|
16
|
-
* @param options - Optional configuration for error reporting and logging
|
|
17
|
-
*/
|
|
18
|
-
const useStorage = ({
|
|
19
|
-
onError,
|
|
20
|
-
logger,
|
|
21
|
-
errorCode = DEFAULT_ERROR_CODE
|
|
22
|
-
} = {}) => {
|
|
23
|
-
const [storage, setStorage] = (0, _react.useState)(null);
|
|
24
|
-
const [error, setError] = (0, _react.useState)(null);
|
|
25
|
-
const initializingRef = (0, _react.useRef)(null);
|
|
26
|
-
const notifyError = (0, _react.useCallback)(err => {
|
|
27
|
-
const message = (0, _errorHandlers.extractErrorMessage)(err, 'Failed to initialize storage');
|
|
28
|
-
setError(message);
|
|
29
|
-
if (logger) {
|
|
30
|
-
logger(message, err);
|
|
31
|
-
}
|
|
32
|
-
onError?.({
|
|
33
|
-
message,
|
|
34
|
-
code: errorCode,
|
|
35
|
-
status: 500
|
|
36
|
-
});
|
|
37
|
-
}, [errorCode, logger, onError]);
|
|
38
|
-
const createStorageInstance = (0, _react.useCallback)(async () => {
|
|
39
|
-
try {
|
|
40
|
-
const platformStorage = await (0, _storageHelpers.createPlatformStorage)();
|
|
41
|
-
setStorage(platformStorage);
|
|
42
|
-
setError(null);
|
|
43
|
-
return platformStorage;
|
|
44
|
-
} catch (err) {
|
|
45
|
-
notifyError(err);
|
|
46
|
-
setStorage(null);
|
|
47
|
-
return null;
|
|
48
|
-
}
|
|
49
|
-
}, [notifyError]);
|
|
50
|
-
const refresh = (0, _react.useCallback)(async () => {
|
|
51
|
-
if (!initializingRef.current) {
|
|
52
|
-
initializingRef.current = createStorageInstance().finally(() => {
|
|
53
|
-
initializingRef.current = null;
|
|
54
|
-
});
|
|
55
|
-
}
|
|
56
|
-
return initializingRef.current;
|
|
57
|
-
}, [createStorageInstance]);
|
|
58
|
-
(0, _react.useEffect)(() => {
|
|
59
|
-
refresh().catch(err => {
|
|
60
|
-
notifyError(err);
|
|
61
|
-
});
|
|
62
|
-
}, [refresh, notifyError]);
|
|
63
|
-
const withStorage = (0, _react.useCallback)(async callback => {
|
|
64
|
-
const resolvedStorage = storage ?? (await refresh());
|
|
65
|
-
if (!resolvedStorage) {
|
|
66
|
-
return null;
|
|
67
|
-
}
|
|
68
|
-
return callback(resolvedStorage);
|
|
69
|
-
}, [refresh, storage]);
|
|
70
|
-
return {
|
|
71
|
-
storage,
|
|
72
|
-
isReady: Boolean(storage) && !error,
|
|
73
|
-
error,
|
|
74
|
-
refresh,
|
|
75
|
-
withStorage
|
|
76
|
-
};
|
|
77
|
-
};
|
|
78
|
-
exports.useStorage = useStorage;
|
|
79
|
-
//# sourceMappingURL=useStorage.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_storageHelpers","_errorHandlers","DEFAULT_ERROR_CODE","useStorage","onError","logger","errorCode","storage","setStorage","useState","error","setError","initializingRef","useRef","notifyError","useCallback","err","message","extractErrorMessage","code","status","createStorageInstance","platformStorage","createPlatformStorage","refresh","current","finally","useEffect","catch","withStorage","callback","resolvedStorage","isReady","Boolean","exports"],"sourceRoot":"../../../../../src","sources":["ui/context/hooks/useStorage.ts"],"mappings":";;;;;;AAAA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,eAAA,GAAAD,OAAA;AACA,IAAAE,cAAA,GAAAF,OAAA;AAgBA,MAAMG,kBAAkB,GAAG,oBAAoB;;AAE/C;AACA;AACA;AACA;AACA;AACA;AACO,MAAMC,UAAU,GAAGA,CAAC;EACzBC,OAAO;EACPC,MAAM;EACNC,SAAS,GAAGJ;AACK,CAAC,GAAG,CAAC,CAAC,KAAuB;EAC9C,MAAM,CAACK,OAAO,EAAEC,UAAU,CAAC,GAAG,IAAAC,eAAQ,EAA0B,IAAI,CAAC;EACrE,MAAM,CAACC,KAAK,EAAEC,QAAQ,CAAC,GAAG,IAAAF,eAAQ,EAAgB,IAAI,CAAC;EACvD,MAAMG,eAAe,GAAG,IAAAC,aAAM,EAA0C,IAAI,CAAC;EAE7E,MAAMC,WAAW,GAAG,IAAAC,kBAAW,EAC5BC,GAAY,IAAK;IAChB,MAAMC,OAAO,GAAG,IAAAC,kCAAmB,EAACF,GAAG,EAAE,8BAA8B,CAAC;IACxEL,QAAQ,CAACM,OAAO,CAAC;IAEjB,IAAIZ,MAAM,EAAE;MACVA,MAAM,CAACY,OAAO,EAAED,GAAG,CAAC;IACtB;IAEAZ,OAAO,GAAG;MACRa,OAAO;MACPE,IAAI,EAAEb,SAAS;MACfc,MAAM,EAAE;IACV,CAAC,CAAC;EACJ,CAAC,EACD,CAACd,SAAS,EAAED,MAAM,EAAED,OAAO,CAC7B,CAAC;EAED,MAAMiB,qBAAqB,GAAG,IAAAN,kBAAW,EAAC,YAA8C;IACtF,IAAI;MACF,MAAMO,eAAe,GAAG,MAAM,IAAAC,qCAAqB,EAAC,CAAC;MACrDf,UAAU,CAACc,eAAe,CAAC;MAC3BX,QAAQ,CAAC,IAAI,CAAC;MACd,OAAOW,eAAe;IACxB,CAAC,CAAC,OAAON,GAAG,EAAE;MACZF,WAAW,CAACE,GAAG,CAAC;MAChBR,UAAU,CAAC,IAAI,CAAC;MAChB,OAAO,IAAI;IACb;EACF,CAAC,EAAE,CAACM,WAAW,CAAC,CAAC;EAEjB,MAAMU,OAAO,GAAG,IAAAT,kBAAW,EAAC,YAA8C;IACxE,IAAI,CAACH,eAAe,CAACa,OAAO,EAAE;MAC5Bb,eAAe,CAACa,OAAO,GAAGJ,qBAAqB,CAAC,CAAC,CAACK,OAAO,CAAC,MAAM;QAC9Dd,eAAe,CAACa,OAAO,GAAG,IAAI;MAChC,CAAC,CAAC;IACJ;IAEA,OAAOb,eAAe,CAACa,OAAO;EAChC,CAAC,EAAE,CAACJ,qBAAqB,CAAC,CAAC;EAE3B,IAAAM,gBAAS,EAAC,MAAM;IACdH,OAAO,CAAC,CAAC,CAACI,KAAK,CAAEZ,GAAG,IAAK;MACvBF,WAAW,CAACE,GAAG,CAAC;IAClB,CAAC,CAAC;EACJ,CAAC,EAAE,CAACQ,OAAO,EAAEV,WAAW,CAAC,CAAC;EAE1B,MAAMe,WAAW,GAAG,IAAAd,kBAAW,EAC7B,MAAWe,QAA2D,IAAwB;IAC5F,MAAMC,eAAe,GAAGxB,OAAO,KAAK,MAAMiB,OAAO,CAAC,CAAC,CAAC;IACpD,IAAI,CAACO,eAAe,EAAE;MACpB,OAAO,IAAI;IACb;IACA,OAAOD,QAAQ,CAACC,eAAe,CAAC;EAClC,CAAC,EACD,CAACP,OAAO,EAAEjB,OAAO,CACnB,CAAC;EAED,OAAO;IACLA,OAAO;IACPyB,OAAO,EAAEC,OAAO,CAAC1B,OAAO,CAAC,IAAI,CAACG,KAAK;IACnCA,KAAK;IACLc,OAAO;IACPK;EACF,CAAC;AACH,CAAC;AAACK,OAAA,CAAA/B,UAAA,GAAAA,UAAA","ignoreList":[]}
|
|
@@ -1,56 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
|
|
3
|
-
Object.defineProperty(exports, "__esModule", {
|
|
4
|
-
value: true
|
|
5
|
-
});
|
|
6
|
-
exports.useAvatarPicker = void 0;
|
|
7
|
-
var _react = require("react");
|
|
8
|
-
var _sonner = require("../../lib/sonner");
|
|
9
|
-
var _i18n = require("../../i18n");
|
|
10
|
-
var _avatarUtils = require("../utils/avatarUtils");
|
|
11
|
-
/**
|
|
12
|
-
* Provides avatar picker action wired to bottom sheet selection and profile update.
|
|
13
|
-
*/
|
|
14
|
-
|
|
15
|
-
const useAvatarPicker = ({
|
|
16
|
-
oxyServices,
|
|
17
|
-
currentLanguage,
|
|
18
|
-
activeSessionId,
|
|
19
|
-
currentDeviceId,
|
|
20
|
-
queryClient,
|
|
21
|
-
showBottomSheet
|
|
22
|
-
}) => {
|
|
23
|
-
const openAvatarPicker = (0, _react.useCallback)(() => {
|
|
24
|
-
showBottomSheet({
|
|
25
|
-
screen: 'FileManagement',
|
|
26
|
-
props: {
|
|
27
|
-
selectMode: true,
|
|
28
|
-
multiSelect: false,
|
|
29
|
-
disabledMimeTypes: ['video/', 'audio/', 'application/pdf'],
|
|
30
|
-
afterSelect: 'none',
|
|
31
|
-
onSelect: async file => {
|
|
32
|
-
if (!file.contentType.startsWith('image/')) {
|
|
33
|
-
_sonner.toast.error((0, _i18n.translate)(currentLanguage, 'editProfile.toasts.selectImage') || 'Please select an image file');
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
await (0, _avatarUtils.updateAvatarVisibility)(file.id, oxyServices, 'OxyContext');
|
|
38
|
-
await (0, _avatarUtils.updateProfileWithAvatar)({
|
|
39
|
-
avatar: file.id
|
|
40
|
-
}, oxyServices, activeSessionId, queryClient, {
|
|
41
|
-
deviceId: currentDeviceId || undefined
|
|
42
|
-
});
|
|
43
|
-
_sonner.toast.success((0, _i18n.translate)(currentLanguage, 'editProfile.toasts.avatarUpdated') || 'Avatar updated');
|
|
44
|
-
} catch (e) {
|
|
45
|
-
_sonner.toast.error(e.message || (0, _i18n.translate)(currentLanguage, 'editProfile.toasts.updateAvatarFailed') || 'Failed to update avatar');
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
});
|
|
50
|
-
}, [activeSessionId, currentDeviceId, currentLanguage, oxyServices, queryClient, showBottomSheet]);
|
|
51
|
-
return {
|
|
52
|
-
openAvatarPicker
|
|
53
|
-
};
|
|
54
|
-
};
|
|
55
|
-
exports.useAvatarPicker = useAvatarPicker;
|
|
56
|
-
//# sourceMappingURL=useAvatarPicker.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"names":["_react","require","_sonner","_i18n","_avatarUtils","useAvatarPicker","oxyServices","currentLanguage","activeSessionId","currentDeviceId","queryClient","showBottomSheet","openAvatarPicker","useCallback","screen","props","selectMode","multiSelect","disabledMimeTypes","afterSelect","onSelect","file","contentType","startsWith","toast","error","translate","updateAvatarVisibility","id","updateProfileWithAvatar","avatar","deviceId","undefined","success","e","message","exports"],"sourceRoot":"../../../../src","sources":["ui/hooks/useAvatarPicker.ts"],"mappings":";;;;;;AAGA,IAAAA,MAAA,GAAAC,OAAA;AAEA,IAAAC,OAAA,GAAAD,OAAA;AACA,IAAAE,KAAA,GAAAF,OAAA;AACA,IAAAG,YAAA,GAAAH,OAAA;AAPA;AACA;AACA;;AAkBO,MAAMI,eAAe,GAAGA,CAAC;EAC9BC,WAAW;EACXC,eAAe;EACfC,eAAe;EACfC,eAAe;EACfC,WAAW;EACXC;AACsB,CAAC,KAAK;EAC5B,MAAMC,gBAAgB,GAAG,IAAAC,kBAAW,EAAC,MAAM;IACzCF,eAAe,CAAC;MACdG,MAAM,EAAE,gBAA6B;MACrCC,KAAK,EAAE;QACLC,UAAU,EAAE,IAAI;QAChBC,WAAW,EAAE,KAAK;QAClBC,iBAAiB,EAAE,CAAC,QAAQ,EAAE,QAAQ,EAAE,iBAAiB,CAAC;QAC1DC,WAAW,EAAE,MAAM;QACnBC,QAAQ,EAAE,MAAOC,IAAS,IAAK;UAC7B,IAAI,CAACA,IAAI,CAACC,WAAW,CAACC,UAAU,CAAC,QAAQ,CAAC,EAAE;YAC1CC,aAAK,CAACC,KAAK,CAAC,IAAAC,eAAS,EAACnB,eAAe,EAAE,gCAAgC,CAAC,IAAI,6BAA6B,CAAC;YAC1G;UACF;UACA,IAAI;YACF,MAAM,IAAAoB,mCAAsB,EAACN,IAAI,CAACO,EAAE,EAAEtB,WAAW,EAAE,YAAY,CAAC;YAChE,MAAM,IAAAuB,oCAAuB,EAC3B;cAAEC,MAAM,EAAET,IAAI,CAACO;YAAG,CAAC,EACnBtB,WAAW,EACXE,eAAe,EACfE,WAAW,EACX;cAAEqB,QAAQ,EAAEtB,eAAe,IAAIuB;YAAU,CAC3C,CAAC;YACDR,aAAK,CAACS,OAAO,CAAC,IAAAP,eAAS,EAACnB,eAAe,EAAE,kCAAkC,CAAC,IAAI,gBAAgB,CAAC;UACnG,CAAC,CAAC,OAAO2B,CAAM,EAAE;YACfV,aAAK,CAACC,KAAK,CAACS,CAAC,CAACC,OAAO,IAAI,IAAAT,eAAS,EAACnB,eAAe,EAAE,uCAAuC,CAAC,IAAI,yBAAyB,CAAC;UAC5H;QACF;MACF;IACF,CAAC,CAAC;EACJ,CAAC,EAAE,CAACC,eAAe,EAAEC,eAAe,EAAEF,eAAe,EAAED,WAAW,EAAEI,WAAW,EAAEC,eAAe,CAAC,CAAC;EAElG,OAAO;IAAEC;EAAiB,CAAC;AAC7B,CAAC;AAACwB,OAAA,CAAA/B,eAAA,GAAAA,eAAA","ignoreList":[]}
|