@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
|
@@ -31,7 +31,12 @@ export interface BottomSheetRouterProps {
|
|
|
31
31
|
onDismiss?: () => void;
|
|
32
32
|
}
|
|
33
33
|
|
|
34
|
-
//
|
|
34
|
+
// Re-export types for backward compatibility
|
|
35
|
+
export type { BottomSheetRouterState };
|
|
36
|
+
export { subscribeToBottomSheetState };
|
|
37
|
+
|
|
38
|
+
// Re-export BottomSheetRef for backward compatibility
|
|
39
|
+
export type { BottomSheetRef };
|
|
35
40
|
|
|
36
41
|
/**
|
|
37
42
|
* BottomSheetRouter - Manages navigation within bottom sheet modals
|
|
@@ -22,6 +22,10 @@ interface GroupedItemProps {
|
|
|
22
22
|
disabled?: boolean;
|
|
23
23
|
customContent?: React.ReactNode;
|
|
24
24
|
customIcon?: React.ReactNode;
|
|
25
|
+
/** Accessibility label (defaults to title) */
|
|
26
|
+
accessibilityLabel?: string;
|
|
27
|
+
/** Accessibility hint for what happens on press */
|
|
28
|
+
accessibilityHint?: string;
|
|
25
29
|
}
|
|
26
30
|
|
|
27
31
|
const GroupedItemComponent = ({
|
|
@@ -36,6 +40,8 @@ const GroupedItemComponent = ({
|
|
|
36
40
|
disabled = false,
|
|
37
41
|
customContent,
|
|
38
42
|
customIcon,
|
|
43
|
+
accessibilityLabel,
|
|
44
|
+
accessibilityHint,
|
|
39
45
|
}: GroupedItemProps) => {
|
|
40
46
|
const hookColorScheme = useColorScheme();
|
|
41
47
|
const colorScheme = normalizeColorScheme(hookColorScheme);
|
|
@@ -90,13 +96,25 @@ const GroupedItemComponent = ({
|
|
|
90
96
|
onPressIn={disabled ? undefined : handlePressIn}
|
|
91
97
|
onPress={onPress}
|
|
92
98
|
activeOpacity={0.7}
|
|
99
|
+
accessibilityRole="button"
|
|
100
|
+
accessibilityLabel={accessibilityLabel || title}
|
|
101
|
+
accessibilityHint={accessibilityHint || subtitle}
|
|
102
|
+
accessibilityState={{ disabled }}
|
|
93
103
|
>
|
|
94
104
|
{content}
|
|
95
105
|
</TouchableOpacity>
|
|
96
106
|
);
|
|
97
107
|
}
|
|
98
108
|
|
|
99
|
-
return
|
|
109
|
+
return (
|
|
110
|
+
<View
|
|
111
|
+
style={itemStyles}
|
|
112
|
+
accessibilityRole="text"
|
|
113
|
+
accessibilityLabel={accessibilityLabel || title}
|
|
114
|
+
>
|
|
115
|
+
{content}
|
|
116
|
+
</View>
|
|
117
|
+
);
|
|
100
118
|
};
|
|
101
119
|
|
|
102
120
|
GroupedItemComponent.displayName = 'GroupedItem';
|
|
@@ -125,7 +125,7 @@ const Icon = ({
|
|
|
125
125
|
? source.source
|
|
126
126
|
: source;
|
|
127
127
|
const iconColor =
|
|
128
|
-
color || (theme.isV3 ? theme.colors.onSurface : (
|
|
128
|
+
color || (theme.isV3 ? theme.colors.onSurface : (theme.colors.text || theme.colors.onSurface));
|
|
129
129
|
|
|
130
130
|
if (isImageSource(s)) {
|
|
131
131
|
return (
|
|
@@ -10,6 +10,7 @@ import { setupFonts } from './FontLoader';
|
|
|
10
10
|
import BottomSheetRouter from './BottomSheetRouter';
|
|
11
11
|
import { Toaster } from '../../lib/sonner';
|
|
12
12
|
import { createQueryClient } from '../hooks/queryClient';
|
|
13
|
+
import { createPlatformStorage, type StorageInterface } from '../utils/storageHelpers';
|
|
13
14
|
|
|
14
15
|
// Initialize fonts automatically
|
|
15
16
|
setupFonts();
|
|
@@ -23,30 +24,53 @@ setupFonts();
|
|
|
23
24
|
const OxyProvider: FC<OxyProviderProps> = ({
|
|
24
25
|
oxyServices,
|
|
25
26
|
children,
|
|
26
|
-
contextOnly = false,
|
|
27
27
|
onAuthStateChange,
|
|
28
28
|
storageKeyPrefix,
|
|
29
29
|
baseURL,
|
|
30
|
+
authWebUrl,
|
|
31
|
+
authRedirectUri,
|
|
30
32
|
queryClient: providedQueryClient,
|
|
31
33
|
}) => {
|
|
32
|
-
// contextOnly is retained for backwards compatibility while the UI-only
|
|
33
|
-
// bottom sheet experience is removed. At the moment both modes behave the same.
|
|
34
|
-
void contextOnly;
|
|
35
34
|
|
|
36
|
-
//
|
|
35
|
+
// Simple storage initialization for query persistence
|
|
36
|
+
const storageRef = useRef<StorageInterface | null>(null);
|
|
37
37
|
const queryClientRef = useRef<ReturnType<typeof createQueryClient> | null>(null);
|
|
38
|
-
const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient
|
|
39
|
-
() => providedQueryClient ?? createQueryClient(),
|
|
40
|
-
);
|
|
38
|
+
const [queryClient, setQueryClient] = useState<ReturnType<typeof createQueryClient> | null>(null);
|
|
41
39
|
|
|
42
40
|
useEffect(() => {
|
|
43
|
-
if (providedQueryClient
|
|
41
|
+
if (providedQueryClient) {
|
|
44
42
|
queryClientRef.current = providedQueryClient;
|
|
45
43
|
setQueryClient(providedQueryClient);
|
|
46
|
-
|
|
47
|
-
queryClientRef.current = queryClient;
|
|
44
|
+
return;
|
|
48
45
|
}
|
|
49
|
-
|
|
46
|
+
|
|
47
|
+
// Initialize storage and create query client
|
|
48
|
+
let mounted = true;
|
|
49
|
+
createPlatformStorage()
|
|
50
|
+
.then((storage) => {
|
|
51
|
+
if (mounted && !queryClientRef.current) {
|
|
52
|
+
storageRef.current = storage;
|
|
53
|
+
const client = createQueryClient(storage);
|
|
54
|
+
queryClientRef.current = client;
|
|
55
|
+
setQueryClient(client);
|
|
56
|
+
}
|
|
57
|
+
})
|
|
58
|
+
.catch((error) => {
|
|
59
|
+
// If storage fails, create query client without persistence
|
|
60
|
+
if (mounted && !queryClientRef.current) {
|
|
61
|
+
if (__DEV__) {
|
|
62
|
+
console.warn('[OxyProvider] Failed to initialize storage for query persistence', error);
|
|
63
|
+
}
|
|
64
|
+
const client = createQueryClient(null);
|
|
65
|
+
queryClientRef.current = client;
|
|
66
|
+
setQueryClient(client);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
|
|
70
|
+
return () => {
|
|
71
|
+
mounted = false;
|
|
72
|
+
};
|
|
73
|
+
}, [providedQueryClient]);
|
|
50
74
|
|
|
51
75
|
// Hook React Query focus manager into React Native AppState
|
|
52
76
|
useEffect(() => {
|
|
@@ -107,6 +131,12 @@ const OxyProvider: FC<OxyProviderProps> = ({
|
|
|
107
131
|
};
|
|
108
132
|
}, []);
|
|
109
133
|
|
|
134
|
+
// Ensure we have a valid QueryClient
|
|
135
|
+
if (!queryClient) {
|
|
136
|
+
// Return loading state or fallback
|
|
137
|
+
return null;
|
|
138
|
+
}
|
|
139
|
+
|
|
110
140
|
return (
|
|
111
141
|
<SafeAreaProvider>
|
|
112
142
|
<GestureHandlerRootView style={{ flex: 1 }}>
|
|
@@ -116,6 +146,8 @@ const OxyProvider: FC<OxyProviderProps> = ({
|
|
|
116
146
|
<OxyContextProvider
|
|
117
147
|
oxyServices={oxyServices as any}
|
|
118
148
|
baseURL={baseURL}
|
|
149
|
+
authWebUrl={authWebUrl}
|
|
150
|
+
authRedirectUri={authRedirectUri}
|
|
119
151
|
storageKeyPrefix={storageKeyPrefix}
|
|
120
152
|
onAuthStateChange={onAuthStateChange as any}
|
|
121
153
|
>
|
|
@@ -10,6 +10,12 @@ export interface SettingRowProps {
|
|
|
10
10
|
textColor?: string;
|
|
11
11
|
mutedTextColor?: string;
|
|
12
12
|
borderColor?: string;
|
|
13
|
+
/** Active color for the switch track (default: #d169e5) */
|
|
14
|
+
activeColor?: string;
|
|
15
|
+
/** Inactive color for the switch track (default: #767577) */
|
|
16
|
+
inactiveColor?: string;
|
|
17
|
+
/** Accessibility label for the switch */
|
|
18
|
+
accessibilityLabel?: string;
|
|
13
19
|
}
|
|
14
20
|
|
|
15
21
|
/**
|
|
@@ -25,15 +31,27 @@ const SettingRow: React.FC<SettingRowProps> = ({
|
|
|
25
31
|
textColor,
|
|
26
32
|
mutedTextColor,
|
|
27
33
|
borderColor,
|
|
34
|
+
activeColor = '#d169e5',
|
|
35
|
+
inactiveColor = '#767577',
|
|
36
|
+
accessibilityLabel,
|
|
28
37
|
}) => {
|
|
29
38
|
return (
|
|
30
|
-
<View
|
|
39
|
+
<View
|
|
40
|
+
style={[styles.settingRow, borderColor ? { borderBottomColor: borderColor } : undefined]}
|
|
41
|
+
accessibilityRole="none"
|
|
42
|
+
>
|
|
31
43
|
<View style={styles.settingInfo}>
|
|
32
|
-
<Text
|
|
44
|
+
<Text
|
|
45
|
+
style={[styles.settingTitle, textColor ? { color: textColor } : undefined]}
|
|
46
|
+
accessibilityRole="text"
|
|
47
|
+
>
|
|
33
48
|
{title}
|
|
34
49
|
</Text>
|
|
35
50
|
{description && (
|
|
36
|
-
<Text
|
|
51
|
+
<Text
|
|
52
|
+
style={[styles.settingDescription, mutedTextColor ? { color: mutedTextColor } : undefined]}
|
|
53
|
+
accessibilityRole="text"
|
|
54
|
+
>
|
|
37
55
|
{description}
|
|
38
56
|
</Text>
|
|
39
57
|
)}
|
|
@@ -42,8 +60,12 @@ const SettingRow: React.FC<SettingRowProps> = ({
|
|
|
42
60
|
value={value}
|
|
43
61
|
onValueChange={onValueChange}
|
|
44
62
|
disabled={disabled}
|
|
45
|
-
trackColor={{ false:
|
|
63
|
+
trackColor={{ false: inactiveColor, true: activeColor }}
|
|
46
64
|
thumbColor={value ? '#fff' : '#f4f3f4'}
|
|
65
|
+
accessibilityRole="switch"
|
|
66
|
+
accessibilityLabel={accessibilityLabel || title}
|
|
67
|
+
accessibilityState={{ checked: value, disabled }}
|
|
68
|
+
accessibilityHint={description}
|
|
47
69
|
/>
|
|
48
70
|
</View>
|
|
49
71
|
);
|
|
@@ -7,7 +7,7 @@ import {
|
|
|
7
7
|
ViewStyle,
|
|
8
8
|
} from 'react-native';
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { TextInputLabelProp } from '../types';
|
|
11
11
|
|
|
12
12
|
type OutlineProps = {
|
|
13
13
|
isV3: boolean;
|
|
@@ -17,7 +17,7 @@ type OutlineProps = {
|
|
|
17
17
|
focused?: boolean;
|
|
18
18
|
outlineColor?: string;
|
|
19
19
|
roundness?: number;
|
|
20
|
-
label?:
|
|
20
|
+
label?: TextInputLabelProp;
|
|
21
21
|
style?: StyleProp<ViewStyle>;
|
|
22
22
|
};
|
|
23
23
|
|
|
@@ -33,7 +33,7 @@ export function getTextColor({ theme, disabled }: BaseProps) {
|
|
|
33
33
|
return theme.colors.onSurfaceVariant;
|
|
34
34
|
}
|
|
35
35
|
// For non-V3 themes, apply opacity to text color
|
|
36
|
-
const textColor = theme?.colors?.onSurface ||
|
|
36
|
+
const textColor = theme?.colors?.onSurface || theme?.colors?.text || '#000000';
|
|
37
37
|
const opacity = theme.dark ? 0.7 : 0.54;
|
|
38
38
|
return hexToRgba(textColor, opacity);
|
|
39
39
|
}
|
|
@@ -55,7 +55,7 @@ export function getIconColor({
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
if (!theme.isV3) {
|
|
58
|
-
return
|
|
58
|
+
return theme.colors.text || theme.colors.onSurface;
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
if (disabled) {
|
|
@@ -26,7 +26,7 @@ import {
|
|
|
26
26
|
MD3_MIN_HEIGHT,
|
|
27
27
|
MD3_OUTLINED_INPUT_OFFSET,
|
|
28
28
|
} from './constants';
|
|
29
|
-
import type {
|
|
29
|
+
import type { TextInputLabelProp } from './types';
|
|
30
30
|
import type { InternalTheme } from "../types";
|
|
31
31
|
|
|
32
32
|
type PaddingProps = {
|
|
@@ -37,7 +37,7 @@ type PaddingProps = {
|
|
|
37
37
|
topPosition: number;
|
|
38
38
|
fontSize: number;
|
|
39
39
|
lineHeight?: number;
|
|
40
|
-
label?:
|
|
40
|
+
label?: TextInputLabelProp | null;
|
|
41
41
|
scale: number;
|
|
42
42
|
offset: number;
|
|
43
43
|
isAndroid: boolean;
|
|
@@ -329,10 +329,10 @@ const getInputTextColor = ({
|
|
|
329
329
|
}
|
|
330
330
|
|
|
331
331
|
if (disabled) {
|
|
332
|
-
return color(
|
|
332
|
+
return color(theme.colors.text || theme.colors.onSurface).alpha(0.54).rgb().string();
|
|
333
333
|
}
|
|
334
334
|
|
|
335
|
-
return
|
|
335
|
+
return theme.colors.text || theme.colors.onSurface;
|
|
336
336
|
};
|
|
337
337
|
|
|
338
338
|
const getActiveColor = ({
|
|
@@ -364,7 +364,7 @@ const getActiveColor = ({
|
|
|
364
364
|
return theme.colors.onSurfaceDisabled;
|
|
365
365
|
}
|
|
366
366
|
|
|
367
|
-
return color(
|
|
367
|
+
return color(theme.colors.text || theme.colors.onSurface).alpha(0.54).rgb().string();
|
|
368
368
|
}
|
|
369
369
|
|
|
370
370
|
return theme.colors.primary;
|
|
@@ -380,10 +380,10 @@ const getPlaceholderColor = ({ theme, disabled }: BaseProps) => {
|
|
|
380
380
|
}
|
|
381
381
|
|
|
382
382
|
if (disabled) {
|
|
383
|
-
return
|
|
383
|
+
return theme.colors.disabled || theme.colors.onSurfaceDisabled;
|
|
384
384
|
}
|
|
385
385
|
|
|
386
|
-
return
|
|
386
|
+
return theme.colors.placeholder || theme.colors.onSurfaceVariant;
|
|
387
387
|
};
|
|
388
388
|
|
|
389
389
|
const getSelectionColor = ({
|
|
@@ -443,7 +443,7 @@ const getFlatUnderlineColor = ({
|
|
|
443
443
|
return 'transparent';
|
|
444
444
|
}
|
|
445
445
|
|
|
446
|
-
return
|
|
446
|
+
return theme.colors.disabled || theme.colors.onSurfaceVariant;
|
|
447
447
|
};
|
|
448
448
|
|
|
449
449
|
const getOutlinedOutlineInputColor = ({
|
|
@@ -472,9 +472,9 @@ const getOutlinedOutlineInputColor = ({
|
|
|
472
472
|
if (isTransparent) {
|
|
473
473
|
return customOutlineColor;
|
|
474
474
|
}
|
|
475
|
-
return
|
|
475
|
+
return theme.colors.disabled || theme.colors.onSurfaceDisabled;
|
|
476
476
|
}
|
|
477
|
-
return
|
|
477
|
+
return theme.colors.placeholder || theme.colors.onSurfaceVariant;
|
|
478
478
|
};
|
|
479
479
|
|
|
480
480
|
export const getFlatInputColors = ({
|
|
@@ -15,7 +15,7 @@ import type {
|
|
|
15
15
|
import type { $Omit, InternalTheme, ThemeProp } from '../types';
|
|
16
16
|
|
|
17
17
|
export type TextFieldLabelProp = string | React.ReactElement;
|
|
18
|
-
|
|
18
|
+
export type TextInputLabelProp = TextFieldLabelProp; // Alias for backward compatibility
|
|
19
19
|
|
|
20
20
|
type TextInputProps = React.ComponentPropsWithRef<typeof NativeTextInput> & {
|
|
21
21
|
mode?: 'flat' | 'outlined';
|
|
@@ -40,9 +40,9 @@ const getRippleColor = ({
|
|
|
40
40
|
}
|
|
41
41
|
|
|
42
42
|
if (theme.dark) {
|
|
43
|
-
return colorUtil(theme.colors.onSurface ||
|
|
43
|
+
return colorUtil(theme.colors.onSurface || theme.colors.text || '#000000').alpha(0.32).rgb().string();
|
|
44
44
|
}
|
|
45
|
-
return colorUtil(
|
|
45
|
+
return colorUtil(theme.colors.text || theme.colors.onSurface || '#000000').alpha(0.2).rgb().string();
|
|
46
46
|
};
|
|
47
47
|
|
|
48
48
|
export const getTouchableRippleColors = ({
|
|
@@ -72,10 +72,10 @@ const AnimatedText = forwardRef<Text & HTMLElement, Props<never>>(
|
|
|
72
72
|
/>
|
|
73
73
|
);
|
|
74
74
|
} else {
|
|
75
|
-
const font = !theme.isV3 ? (
|
|
75
|
+
const font = !theme.isV3 ? (theme.fonts.regular || theme.fonts.default) : theme.fonts.bodyMedium;
|
|
76
76
|
const textStyle = {
|
|
77
77
|
...font,
|
|
78
|
-
color: theme.isV3 ? theme.colors.onSurface : (
|
|
78
|
+
color: theme.isV3 ? theme.colors.onSurface : (theme.colors.text || theme.colors.onSurface),
|
|
79
79
|
};
|
|
80
80
|
return (
|
|
81
81
|
<Animated.Text
|
|
@@ -0,0 +1,84 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View, Text, TextInput } from 'react-native';
|
|
3
|
+
import { Ionicons } from '@expo/vector-icons';
|
|
4
|
+
import type { FeedbackColors } from './types';
|
|
5
|
+
|
|
6
|
+
interface FormInputProps {
|
|
7
|
+
icon: string;
|
|
8
|
+
label: string;
|
|
9
|
+
value: string;
|
|
10
|
+
onChangeText: (text: string) => void;
|
|
11
|
+
placeholder?: string;
|
|
12
|
+
multiline?: boolean;
|
|
13
|
+
numberOfLines?: number;
|
|
14
|
+
testID?: string;
|
|
15
|
+
colors: FeedbackColors;
|
|
16
|
+
styles: any;
|
|
17
|
+
borderColor?: string;
|
|
18
|
+
accessibilityLabel?: string;
|
|
19
|
+
accessibilityHint?: string;
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const FormInput: React.FC<FormInputProps> = React.memo(({
|
|
23
|
+
icon,
|
|
24
|
+
label,
|
|
25
|
+
value,
|
|
26
|
+
onChangeText,
|
|
27
|
+
placeholder,
|
|
28
|
+
multiline = false,
|
|
29
|
+
numberOfLines = 1,
|
|
30
|
+
testID,
|
|
31
|
+
colors,
|
|
32
|
+
styles,
|
|
33
|
+
borderColor,
|
|
34
|
+
accessibilityLabel,
|
|
35
|
+
accessibilityHint,
|
|
36
|
+
}) => (
|
|
37
|
+
<View style={styles.inputContainer}>
|
|
38
|
+
<View style={[
|
|
39
|
+
multiline ? styles.textAreaWrapper : styles.premiumInputWrapper,
|
|
40
|
+
{
|
|
41
|
+
borderColor: borderColor || colors.border,
|
|
42
|
+
backgroundColor: colors.inputBackground,
|
|
43
|
+
shadowColor: colors.primary,
|
|
44
|
+
shadowOffset: { width: 0, height: 4 },
|
|
45
|
+
shadowOpacity: 0.1,
|
|
46
|
+
shadowRadius: 12,
|
|
47
|
+
elevation: 3,
|
|
48
|
+
}
|
|
49
|
+
]}>
|
|
50
|
+
{!multiline && (
|
|
51
|
+
<Ionicons
|
|
52
|
+
name={icon as any}
|
|
53
|
+
size={22}
|
|
54
|
+
color={colors.secondaryText}
|
|
55
|
+
style={styles.inputIcon}
|
|
56
|
+
/>
|
|
57
|
+
)}
|
|
58
|
+
<View style={styles.inputContent}>
|
|
59
|
+
<Text style={[styles.modernLabel, { color: colors.secondaryText }]}>
|
|
60
|
+
{label}
|
|
61
|
+
</Text>
|
|
62
|
+
<TextInput
|
|
63
|
+
style={[
|
|
64
|
+
multiline ? styles.textArea : styles.modernInput,
|
|
65
|
+
{ color: colors.text }
|
|
66
|
+
]}
|
|
67
|
+
value={value}
|
|
68
|
+
onChangeText={onChangeText}
|
|
69
|
+
placeholder={placeholder}
|
|
70
|
+
placeholderTextColor={colors.secondaryText + '60'}
|
|
71
|
+
multiline={multiline}
|
|
72
|
+
numberOfLines={multiline ? numberOfLines : undefined}
|
|
73
|
+
testID={testID}
|
|
74
|
+
accessibilityLabel={accessibilityLabel || label}
|
|
75
|
+
accessibilityHint={accessibilityHint}
|
|
76
|
+
/>
|
|
77
|
+
</View>
|
|
78
|
+
</View>
|
|
79
|
+
</View>
|
|
80
|
+
));
|
|
81
|
+
|
|
82
|
+
FormInput.displayName = 'FormInput';
|
|
83
|
+
|
|
84
|
+
export default FormInput;
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react';
|
|
2
|
+
import { View } from 'react-native';
|
|
3
|
+
import type { FeedbackColors } from './types';
|
|
4
|
+
|
|
5
|
+
interface ProgressIndicatorProps {
|
|
6
|
+
currentStep: number;
|
|
7
|
+
totalSteps: number;
|
|
8
|
+
colors: FeedbackColors;
|
|
9
|
+
styles: any;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
const ProgressIndicator: React.FC<ProgressIndicatorProps> = React.memo(({
|
|
13
|
+
currentStep,
|
|
14
|
+
totalSteps,
|
|
15
|
+
colors,
|
|
16
|
+
styles,
|
|
17
|
+
}) => (
|
|
18
|
+
<View style={styles.progressContainer} accessibilityRole="progressbar" accessibilityLabel={`Step ${currentStep + 1} of ${totalSteps}`}>
|
|
19
|
+
{Array.from({ length: totalSteps }, (_, index) => (
|
|
20
|
+
<View
|
|
21
|
+
key={index}
|
|
22
|
+
style={[
|
|
23
|
+
styles.progressDot,
|
|
24
|
+
currentStep === index ?
|
|
25
|
+
{ backgroundColor: colors.primary, width: 24 } :
|
|
26
|
+
{ backgroundColor: colors.border }
|
|
27
|
+
]}
|
|
28
|
+
/>
|
|
29
|
+
))}
|
|
30
|
+
</View>
|
|
31
|
+
));
|
|
32
|
+
|
|
33
|
+
ProgressIndicator.displayName = 'ProgressIndicator';
|
|
34
|
+
|
|
35
|
+
export default ProgressIndicator;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { FeedbackType, PriorityLevel } from './types';
|
|
2
|
+
|
|
3
|
+
export const FEEDBACK_TYPES: FeedbackType[] = [
|
|
4
|
+
{ id: 'bug', label: 'Bug Report', icon: 'bug', color: '#FF3B30', description: 'Report a problem or issue' },
|
|
5
|
+
{ id: 'feature', label: 'Feature Request', icon: 'bulb', color: '#007AFF', description: 'Suggest a new feature' },
|
|
6
|
+
{ id: 'general', label: 'General Feedback', icon: 'chatbubble', color: '#34C759', description: 'Share your thoughts' },
|
|
7
|
+
{ id: 'support', label: 'Support Request', icon: 'help-circle', color: '#FF9500', description: 'Get help with something' },
|
|
8
|
+
];
|
|
9
|
+
|
|
10
|
+
export const PRIORITY_LEVELS: PriorityLevel[] = [
|
|
11
|
+
{ id: 'low', label: 'Low', icon: 'arrow-down', color: '#34C759' },
|
|
12
|
+
{ id: 'medium', label: 'Medium', icon: 'remove', color: '#FF9500' },
|
|
13
|
+
{ id: 'high', label: 'High', icon: 'arrow-up', color: '#FF3B30' },
|
|
14
|
+
{ id: 'critical', label: 'Critical', icon: 'warning', color: '#FF0000' },
|
|
15
|
+
];
|
|
16
|
+
|
|
17
|
+
export const CATEGORIES: Record<string, string[]> = {
|
|
18
|
+
bug: ['UI/UX', 'Performance', 'Authentication', 'File Management', 'Billing', 'Other'],
|
|
19
|
+
feature: ['User Interface', 'File Management', 'Security', 'Performance', 'Integration', 'Other'],
|
|
20
|
+
general: ['User Experience', 'Design', 'Performance', 'Documentation', 'Other'],
|
|
21
|
+
support: ['Account Issues', 'Billing', 'Technical Problems', 'Feature Questions', 'Other'],
|
|
22
|
+
};
|