@oxyhq/services 5.11.12 → 5.12.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 +48 -7
- package/lib/commonjs/core/OxyServices.js +162 -12
- package/lib/commonjs/core/OxyServices.js.map +1 -1
- package/lib/commonjs/i18n/index.js +40 -0
- package/lib/commonjs/i18n/index.js.map +1 -0
- package/lib/commonjs/i18n/locales/en-US.json +681 -0
- package/lib/commonjs/i18n/locales/es-ES.json +689 -0
- package/lib/commonjs/ui/components/GroupedItem.js +2 -1
- package/lib/commonjs/ui/components/GroupedItem.js.map +1 -1
- package/lib/commonjs/ui/components/Header.js +4 -3
- package/lib/commonjs/ui/components/Header.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +110 -103
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileCard.js +5 -1
- package/lib/commonjs/ui/components/ProfileCard.js.map +1 -1
- package/lib/commonjs/ui/components/Section.js +1 -1
- package/lib/commonjs/ui/components/StepBasedScreen.js +16 -16
- package/lib/commonjs/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/commonjs/ui/components/internal/GroupedPillButtons.js +15 -3
- package/lib/commonjs/ui/components/internal/GroupedPillButtons.js.map +1 -1
- package/lib/commonjs/ui/components/internal/PinInput.js +10 -4
- package/lib/commonjs/ui/components/internal/PinInput.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +128 -12
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/hooks/useI18n.js +22 -0
- package/lib/commonjs/ui/hooks/useI18n.js.map +1 -0
- package/lib/commonjs/ui/navigation/OxyRouter.js +11 -131
- package/lib/commonjs/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/commonjs/ui/navigation/routes.js +127 -0
- package/lib/commonjs/ui/navigation/routes.js.map +1 -0
- package/lib/commonjs/ui/navigation/types.js +7 -0
- package/lib/commonjs/ui/navigation/types.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountCenterScreen.js +55 -47
- package/lib/commonjs/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js +69 -61
- package/lib/commonjs/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js +378 -37
- package/lib/commonjs/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js +52 -34
- package/lib/commonjs/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +40 -36
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +105 -78
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +92 -60
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +21 -11
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/RecoverAccountScreen.js +30 -8
- package/lib/commonjs/ui/screens/RecoverAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/SignInScreen.js +47 -26
- package/lib/commonjs/ui/screens/SignInScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +31 -24
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js +11 -7
- package/lib/commonjs/ui/screens/internal/SignInPasswordStep.js.map +1 -1
- package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js +12 -6
- package/lib/commonjs/ui/screens/internal/SignInUsernameStep.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js +11 -7
- package/lib/commonjs/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js +15 -11
- package/lib/commonjs/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js +19 -27
- package/lib/commonjs/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js +8 -4
- package/lib/commonjs/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js +14 -10
- package/lib/commonjs/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js +7 -3
- package/lib/commonjs/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js +19 -14
- package/lib/commonjs/ui/screens/steps/RecoverRequestStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js +130 -0
- package/lib/commonjs/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -0
- package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js +13 -13
- package/lib/commonjs/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js +14 -20
- package/lib/commonjs/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js +22 -8
- package/lib/commonjs/ui/screens/steps/SignInPasswordStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignInTotpStep.js +161 -0
- package/lib/commonjs/ui/screens/steps/SignInTotpStep.js.map +1 -0
- package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js +12 -6
- package/lib/commonjs/ui/screens/steps/SignInUsernameStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js +10 -6
- package/lib/commonjs/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js +10 -6
- package/lib/commonjs/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js +34 -4
- package/lib/commonjs/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
- package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js +9 -10
- package/lib/commonjs/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
- package/lib/commonjs/ui/styles/authStyles.js +1 -2
- package/lib/commonjs/ui/styles/authStyles.js.map +1 -1
- package/lib/commonjs/utils/deviceManager.js +1 -1
- package/lib/commonjs/utils/deviceManager.js.map +1 -1
- package/lib/commonjs/utils/validationUtils.js +4 -2
- package/lib/commonjs/utils/validationUtils.js.map +1 -1
- package/lib/module/core/OxyServices.js +162 -12
- package/lib/module/core/OxyServices.js.map +1 -1
- package/lib/module/i18n/index.js +35 -0
- package/lib/module/i18n/index.js.map +1 -0
- package/lib/module/i18n/locales/en-US.json +681 -0
- package/lib/module/i18n/locales/es-ES.json +689 -0
- package/lib/module/ui/components/GroupedItem.js +2 -1
- package/lib/module/ui/components/GroupedItem.js.map +1 -1
- package/lib/module/ui/components/Header.js +4 -3
- package/lib/module/ui/components/Header.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +109 -103
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/ProfileCard.js +5 -1
- package/lib/module/ui/components/ProfileCard.js.map +1 -1
- package/lib/module/ui/components/Section.js +1 -1
- package/lib/module/ui/components/StepBasedScreen.js +16 -16
- package/lib/module/ui/components/StepBasedScreen.js.map +1 -1
- package/lib/module/ui/components/internal/GroupedPillButtons.js +15 -3
- package/lib/module/ui/components/internal/GroupedPillButtons.js.map +1 -1
- package/lib/module/ui/components/internal/PinInput.js +9 -4
- package/lib/module/ui/components/internal/PinInput.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +128 -12
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/hooks/useI18n.js +18 -0
- package/lib/module/ui/hooks/useI18n.js.map +1 -0
- package/lib/module/ui/navigation/OxyRouter.js +7 -124
- package/lib/module/ui/navigation/OxyRouter.js.map +1 -1
- package/lib/module/ui/navigation/routes.js +122 -0
- package/lib/module/ui/navigation/routes.js.map +1 -0
- package/lib/module/ui/navigation/types.js +19 -1
- package/lib/module/ui/navigation/types.js.map +1 -1
- package/lib/module/ui/screens/AccountCenterScreen.js +55 -47
- package/lib/module/ui/screens/AccountCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountOverviewScreen.js +69 -61
- package/lib/module/ui/screens/AccountOverviewScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSettingsScreen.js +378 -37
- package/lib/module/ui/screens/AccountSettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/AccountSwitcherScreen.js +52 -34
- package/lib/module/ui/screens/AccountSwitcherScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +40 -36
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +107 -80
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js +1 -1
- package/lib/module/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js +92 -60
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +21 -11
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/RecoverAccountScreen.js +30 -8
- package/lib/module/ui/screens/RecoverAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/SignInScreen.js +47 -26
- package/lib/module/ui/screens/SignInScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +31 -24
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/internal/SignInPasswordStep.js +11 -7
- package/lib/module/ui/screens/internal/SignInPasswordStep.js.map +1 -1
- package/lib/module/ui/screens/internal/SignInUsernameStep.js +12 -6
- package/lib/module/ui/screens/internal/SignInUsernameStep.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js +11 -7
- package/lib/module/ui/screens/karma/KarmaAboutScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js +15 -11
- package/lib/module/ui/screens/karma/KarmaCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js +19 -27
- package/lib/module/ui/screens/karma/KarmaFAQScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js +8 -4
- package/lib/module/ui/screens/karma/KarmaLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js +14 -10
- package/lib/module/ui/screens/karma/KarmaRewardsScreen.js.map +1 -1
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js +7 -3
- package/lib/module/ui/screens/karma/KarmaRulesScreen.js.map +1 -1
- package/lib/module/ui/screens/steps/RecoverRequestStep.js +19 -14
- package/lib/module/ui/screens/steps/RecoverRequestStep.js.map +1 -1
- package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js +125 -0
- package/lib/module/ui/screens/steps/RecoverResetPasswordStep.js.map +1 -0
- package/lib/module/ui/screens/steps/RecoverSuccessStep.js +13 -13
- package/lib/module/ui/screens/steps/RecoverSuccessStep.js.map +1 -1
- package/lib/module/ui/screens/steps/RecoverVerifyStep.js +14 -20
- package/lib/module/ui/screens/steps/RecoverVerifyStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignInPasswordStep.js +22 -8
- package/lib/module/ui/screens/steps/SignInPasswordStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignInTotpStep.js +156 -0
- package/lib/module/ui/screens/steps/SignInTotpStep.js.map +1 -0
- package/lib/module/ui/screens/steps/SignInUsernameStep.js +12 -6
- package/lib/module/ui/screens/steps/SignInUsernameStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignUpIdentityStep.js +10 -6
- package/lib/module/ui/screens/steps/SignUpIdentityStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignUpSecurityStep.js +10 -6
- package/lib/module/ui/screens/steps/SignUpSecurityStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignUpSummaryStep.js +34 -4
- package/lib/module/ui/screens/steps/SignUpSummaryStep.js.map +1 -1
- package/lib/module/ui/screens/steps/SignUpWelcomeStep.js +9 -10
- package/lib/module/ui/screens/steps/SignUpWelcomeStep.js.map +1 -1
- package/lib/module/ui/styles/authStyles.js +1 -2
- package/lib/module/ui/styles/authStyles.js.map +1 -1
- package/lib/module/utils/deviceManager.js +1 -1
- package/lib/module/utils/deviceManager.js.map +1 -1
- package/lib/module/utils/validationUtils.js +4 -2
- package/lib/module/utils/validationUtils.js.map +1 -1
- package/lib/typescript/core/OxyServices.d.ts +57 -3
- package/lib/typescript/core/OxyServices.d.ts.map +1 -1
- package/lib/typescript/i18n/index.d.ts +4 -0
- package/lib/typescript/i18n/index.d.ts.map +1 -0
- package/lib/typescript/models/interfaces.d.ts +4 -0
- package/lib/typescript/models/interfaces.d.ts.map +1 -1
- package/lib/typescript/ui/components/GroupedItem.d.ts.map +1 -1
- package/lib/typescript/ui/components/Header.d.ts.map +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts +1 -1
- package/lib/typescript/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/ui/components/ProfileCard.d.ts.map +1 -1
- package/lib/typescript/ui/components/StepBasedScreen.d.ts +2 -1
- package/lib/typescript/ui/components/StepBasedScreen.d.ts.map +1 -1
- package/lib/typescript/ui/components/internal/GroupedPillButtons.d.ts.map +1 -1
- package/lib/typescript/ui/components/internal/PinInput.d.ts +6 -3
- package/lib/typescript/ui/components/internal/PinInput.d.ts.map +1 -1
- package/lib/typescript/ui/context/OxyContext.d.ts +7 -4
- package/lib/typescript/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/ui/hooks/useI18n.d.ts +5 -0
- package/lib/typescript/ui/hooks/useI18n.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/OxyRouter.d.ts.map +1 -1
- package/lib/typescript/ui/navigation/routes.d.ts +9 -0
- package/lib/typescript/ui/navigation/routes.d.ts.map +1 -0
- package/lib/typescript/ui/navigation/types.d.ts +24 -10
- package/lib/typescript/ui/navigation/types.d.ts.map +1 -1
- package/lib/typescript/ui/screens/AccountCenterScreen.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/AccountSwitcherScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/LanguageSelectorScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/PremiumSubscriptionScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/RecoverAccountScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/SignInScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts +2 -1
- package/lib/typescript/ui/screens/internal/SignInPasswordStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/internal/SignInUsernameStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaAboutScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaCenterScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaFAQScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaRewardsScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/karma/KarmaRulesScreen.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts +4 -1
- package/lib/typescript/ui/screens/steps/RecoverRequestStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts +24 -0
- package/lib/typescript/ui/screens/steps/RecoverResetPasswordStep.d.ts.map +1 -0
- package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/RecoverSuccessStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts +3 -1
- package/lib/typescript/ui/screens/steps/RecoverVerifyStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts +1 -0
- package/lib/typescript/ui/screens/steps/SignInPasswordStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts +19 -0
- package/lib/typescript/ui/screens/steps/SignInTotpStep.d.ts.map +1 -0
- package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/SignInUsernameStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/SignUpIdentityStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/SignUpSecurityStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/SignUpSummaryStep.d.ts.map +1 -1
- package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts +2 -1
- package/lib/typescript/ui/screens/steps/SignUpWelcomeStep.d.ts.map +1 -1
- package/lib/typescript/ui/styles/authStyles.d.ts +0 -1
- package/lib/typescript/ui/styles/authStyles.d.ts.map +1 -1
- package/lib/typescript/utils/validationUtils.d.ts.map +1 -1
- package/package.json +49 -15
- package/src/core/OxyServices.ts +138 -19
- package/src/i18n/index.ts +39 -0
- package/src/i18n/locales/en-US.json +681 -0
- package/src/i18n/locales/es-ES.json +689 -0
- package/src/models/interfaces.ts +6 -1
- package/src/ui/components/GroupedItem.tsx +2 -1
- package/src/ui/components/Header.tsx +4 -3
- package/src/ui/components/OxyProvider.tsx +105 -112
- package/src/ui/components/ProfileCard.tsx +5 -1
- package/src/ui/components/Section.tsx +1 -1
- package/src/ui/components/StepBasedScreen.tsx +16 -13
- package/src/ui/components/internal/GroupedPillButtons.tsx +10 -6
- package/src/ui/components/internal/PinInput.tsx +15 -6
- package/src/ui/context/OxyContext.tsx +123 -20
- package/src/ui/hooks/useI18n.ts +12 -0
- package/src/ui/navigation/OxyRouter.tsx +15 -134
- package/src/ui/navigation/routes.ts +153 -0
- package/src/ui/navigation/types.ts +28 -10
- package/src/ui/screens/AccountCenterScreen.tsx +47 -45
- package/src/ui/screens/AccountOverviewScreen.tsx +68 -70
- package/src/ui/screens/AccountSettingsScreen.tsx +265 -41
- package/src/ui/screens/AccountSwitcherScreen.tsx +35 -33
- package/src/ui/screens/FeedbackScreen.tsx +39 -37
- package/src/ui/screens/LanguageSelectorScreen.tsx +99 -70
- package/src/ui/screens/PaymentGatewayScreen.tsx +5 -5
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +56 -54
- package/src/ui/screens/ProfileScreen.tsx +14 -8
- package/src/ui/screens/RecoverAccountScreen.tsx +29 -8
- package/src/ui/screens/SignInScreen.tsx +39 -30
- package/src/ui/screens/WelcomeNewUserScreen.tsx +31 -17
- package/src/ui/screens/internal/SignInPasswordStep.tsx +11 -8
- package/src/ui/screens/internal/SignInUsernameStep.tsx +10 -8
- package/src/ui/screens/karma/KarmaAboutScreen.tsx +23 -11
- package/src/ui/screens/karma/KarmaCenterScreen.tsx +21 -11
- package/src/ui/screens/karma/KarmaFAQScreen.tsx +15 -33
- package/src/ui/screens/karma/KarmaLeaderboardScreen.tsx +6 -4
- package/src/ui/screens/karma/KarmaRewardsScreen.tsx +28 -10
- package/src/ui/screens/karma/KarmaRulesScreen.tsx +5 -3
- package/src/ui/screens/steps/RecoverRequestStep.tsx +20 -17
- package/src/ui/screens/steps/RecoverResetPasswordStep.tsx +133 -0
- package/src/ui/screens/steps/RecoverSuccessStep.tsx +12 -19
- package/src/ui/screens/steps/RecoverVerifyStep.tsx +15 -24
- package/src/ui/screens/steps/SignInPasswordStep.tsx +19 -6
- package/src/ui/screens/steps/SignInTotpStep.tsx +129 -0
- package/src/ui/screens/steps/SignInUsernameStep.tsx +11 -10
- package/src/ui/screens/steps/SignUpIdentityStep.tsx +10 -11
- package/src/ui/screens/steps/SignUpSecurityStep.tsx +10 -11
- package/src/ui/screens/steps/SignUpSummaryStep.tsx +24 -9
- package/src/ui/screens/steps/SignUpWelcomeStep.tsx +8 -14
- package/src/ui/styles/authStyles.ts +0 -1
- package/src/utils/deviceManager.ts +1 -1
- package/src/utils/validationUtils.ts +5 -3
|
@@ -0,0 +1,681 @@
|
|
|
1
|
+
{
|
|
2
|
+
"signin": {
|
|
3
|
+
"title": "Sign In",
|
|
4
|
+
"subtitle": "Sign in to continue your journey",
|
|
5
|
+
"addAccountTitle": "Add Another Account",
|
|
6
|
+
"addAccountSubtitle": "Sign in with another account",
|
|
7
|
+
"username": {
|
|
8
|
+
"label": "Username",
|
|
9
|
+
"placeholder": "Enter your username"
|
|
10
|
+
},
|
|
11
|
+
"password": {
|
|
12
|
+
"label": "Password",
|
|
13
|
+
"placeholder": "Enter your password"
|
|
14
|
+
},
|
|
15
|
+
"actions": {
|
|
16
|
+
"continue": "Continue",
|
|
17
|
+
"back": "Back",
|
|
18
|
+
"signIn": "Sign In",
|
|
19
|
+
"verify": "Verify"
|
|
20
|
+
},
|
|
21
|
+
"forgotPrompt": "Forgot your password?",
|
|
22
|
+
"security": {
|
|
23
|
+
"dataSecure": "Your data is encrypted and secure"
|
|
24
|
+
},
|
|
25
|
+
"currentlySignedInAs": "Currently signed in as {{username}}",
|
|
26
|
+
"totp": {
|
|
27
|
+
"title": "Two‑Factor Code",
|
|
28
|
+
"subtitle": "Enter the 6‑digit code from your authenticator app for @{{username}}",
|
|
29
|
+
"invalidCode": "Invalid code. Please try again.",
|
|
30
|
+
"noAccess": "No access to your authenticator?",
|
|
31
|
+
"useBackupCode": "Use backup code",
|
|
32
|
+
"useRecoveryKey": "Use recovery key"
|
|
33
|
+
}
|
|
34
|
+
},
|
|
35
|
+
"signup": {
|
|
36
|
+
"welcome": {
|
|
37
|
+
"title": "Welcome to Oxy!",
|
|
38
|
+
"subtitle": "Let's create your account in just a few steps"
|
|
39
|
+
},
|
|
40
|
+
"identity": {
|
|
41
|
+
"title": "Who are you?",
|
|
42
|
+
"subtitle": "Choose your username and enter your email"
|
|
43
|
+
},
|
|
44
|
+
"security": {
|
|
45
|
+
"title": "Secure Your Account",
|
|
46
|
+
"subtitle": "Create a strong password to protect your account"
|
|
47
|
+
},
|
|
48
|
+
"summary": {
|
|
49
|
+
"title": "Almost There!",
|
|
50
|
+
"subtitle": "Review your information and create your account"
|
|
51
|
+
}
|
|
52
|
+
},
|
|
53
|
+
"welcomeNew": {
|
|
54
|
+
"welcome": {
|
|
55
|
+
"titleWithName": "Welcome, {{username}} 👋",
|
|
56
|
+
"title": "Welcome 👋",
|
|
57
|
+
"body": "You just created an account in a calm, ethical space. A few quick things — then you're in."
|
|
58
|
+
},
|
|
59
|
+
"account": {
|
|
60
|
+
"title": "One Account. Simple.",
|
|
61
|
+
"bullets": [
|
|
62
|
+
"One identity across everything",
|
|
63
|
+
"No re-signing in all the time",
|
|
64
|
+
"Your preferences stay with you"
|
|
65
|
+
]
|
|
66
|
+
},
|
|
67
|
+
"principles": {
|
|
68
|
+
"title": "What We Stand For",
|
|
69
|
+
"bullets": [
|
|
70
|
+
"Privacy by default",
|
|
71
|
+
"No manipulative feeds",
|
|
72
|
+
"You decide what to share",
|
|
73
|
+
"No selling your data"
|
|
74
|
+
]
|
|
75
|
+
},
|
|
76
|
+
"karma": {
|
|
77
|
+
"title": "Karma = Trust & Growth",
|
|
78
|
+
"body": "Oxy Karma is a points system that reacts to what you do. Helpful, respectful, constructive actions earn it. Harmful or low‑effort stuff chips it away. More karma can unlock benefits; low karma can limit features. It keeps things fair and rewards real contribution."
|
|
79
|
+
},
|
|
80
|
+
"avatar": {
|
|
81
|
+
"title": "Make It Yours",
|
|
82
|
+
"body": "Add an avatar so people recognize you. It will show anywhere you show up here. Skip if you want — you can add it later.",
|
|
83
|
+
"add": "Add Avatar",
|
|
84
|
+
"change": "Change Avatar"
|
|
85
|
+
},
|
|
86
|
+
"ready": {
|
|
87
|
+
"title": "You're Ready",
|
|
88
|
+
"body": "Explore. Contribute. Earn karma. Stay in control."
|
|
89
|
+
},
|
|
90
|
+
"actions": {
|
|
91
|
+
"back": "Back",
|
|
92
|
+
"next": "Next",
|
|
93
|
+
"skip": "Skip",
|
|
94
|
+
"enter": "Enter",
|
|
95
|
+
"continue": "Continue"
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"language": {
|
|
99
|
+
"title": "Language",
|
|
100
|
+
"subtitle": "Choose your preferred language",
|
|
101
|
+
"current": "Current Language",
|
|
102
|
+
"available": "Available Languages",
|
|
103
|
+
"changed": "Language changed to {{lang}}"
|
|
104
|
+
},
|
|
105
|
+
"profile": {
|
|
106
|
+
"edit": "Edit Profile",
|
|
107
|
+
"noBio": "This user has no bio yet.",
|
|
108
|
+
"joinedOn": "Joined {{date}}",
|
|
109
|
+
"bornOn": "Born {{date}}",
|
|
110
|
+
"karma": "Karma",
|
|
111
|
+
"followers": "Followers",
|
|
112
|
+
"following": "Following",
|
|
113
|
+
"more": "+ {{count}} more"
|
|
114
|
+
},
|
|
115
|
+
"feedback": {
|
|
116
|
+
"type": {
|
|
117
|
+
"title": "What type of feedback?",
|
|
118
|
+
"subtitle": "Choose the category that best describes your feedback"
|
|
119
|
+
},
|
|
120
|
+
"category": {
|
|
121
|
+
"label": "Category"
|
|
122
|
+
},
|
|
123
|
+
"details": {
|
|
124
|
+
"title": "Tell us more",
|
|
125
|
+
"subtitle": "Provide details about your feedback"
|
|
126
|
+
},
|
|
127
|
+
"fields": {
|
|
128
|
+
"title": {
|
|
129
|
+
"label": "Title",
|
|
130
|
+
"placeholder": "Brief summary of your feedback"
|
|
131
|
+
},
|
|
132
|
+
"description": {
|
|
133
|
+
"label": "Description",
|
|
134
|
+
"placeholder": "Please provide detailed information..."
|
|
135
|
+
},
|
|
136
|
+
"email": {
|
|
137
|
+
"label": "Email Address",
|
|
138
|
+
"placeholder": "Enter your email address"
|
|
139
|
+
}
|
|
140
|
+
},
|
|
141
|
+
"priority": {
|
|
142
|
+
"label": "Priority Level"
|
|
143
|
+
},
|
|
144
|
+
"contact": {
|
|
145
|
+
"title": "Contact Information",
|
|
146
|
+
"subtitle": "Help us get back to you",
|
|
147
|
+
"includeSystemInfo": "Include system information to help us better understand your issue"
|
|
148
|
+
},
|
|
149
|
+
"summary": {
|
|
150
|
+
"title": "Summary",
|
|
151
|
+
"subtitle": "Please review your feedback before submitting",
|
|
152
|
+
"type": "Type:",
|
|
153
|
+
"priority": "Priority:",
|
|
154
|
+
"category": "Category:",
|
|
155
|
+
"titleLabel": "Title:",
|
|
156
|
+
"contact": "Contact:"
|
|
157
|
+
},
|
|
158
|
+
"actions": {
|
|
159
|
+
"submit": "Submit Feedback",
|
|
160
|
+
"submitAnother": "Submit Another"
|
|
161
|
+
},
|
|
162
|
+
"success": {
|
|
163
|
+
"thanks": "Thank You!",
|
|
164
|
+
"message": "Your feedback has been submitted successfully. We'll review it and get back to you soon."
|
|
165
|
+
},
|
|
166
|
+
"toasts": {
|
|
167
|
+
"fillRequired": "Please fill in all required fields",
|
|
168
|
+
"thanks": "Thank you for your feedback!",
|
|
169
|
+
"submitFailed": "Failed to submit feedback",
|
|
170
|
+
"submitSuccess": "Feedback submitted successfully!"
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"recover": {
|
|
174
|
+
"title": "Recover Account",
|
|
175
|
+
"username": {
|
|
176
|
+
"label": "Username",
|
|
177
|
+
"placeholder": "Enter your username",
|
|
178
|
+
"errorRequired": "Please enter your username."
|
|
179
|
+
},
|
|
180
|
+
"verify": {
|
|
181
|
+
"title": "Verify Code",
|
|
182
|
+
"action": "Verify Code"
|
|
183
|
+
},
|
|
184
|
+
"enterCode": "Enter the 6‑digit code from your authenticator app.",
|
|
185
|
+
"newPassword": "Set New Password",
|
|
186
|
+
"resetSuccess": "Your password has been reset! You can now sign in.",
|
|
187
|
+
"noEmail": "We no longer send recovery emails. If you enabled Two‑Factor Authentication (TOTP), sign in with your username and password, then enter your authenticator code. Otherwise, contact support to regain access.",
|
|
188
|
+
"password": {
|
|
189
|
+
"minLength": "Password must be at least 8 characters long",
|
|
190
|
+
"mismatch": "Passwords do not match",
|
|
191
|
+
"resetFailed": "Failed to reset password"
|
|
192
|
+
},
|
|
193
|
+
"missingCode": "Missing code",
|
|
194
|
+
"whatsNextTitle": "What's next?",
|
|
195
|
+
"whatsNextBody": "You can now reset your password or return to sign in with your existing credentials.",
|
|
196
|
+
"completeSecure": "Your account recovery is complete and secure."
|
|
197
|
+
},
|
|
198
|
+
"accountCenter": {
|
|
199
|
+
"sections": {
|
|
200
|
+
"quickActions": "Quick Actions",
|
|
201
|
+
"accountManagement": "Account Management",
|
|
202
|
+
"multiAccount": "Multi-Account",
|
|
203
|
+
"addAccount": "Add Account",
|
|
204
|
+
"moreOptions": "More Options"
|
|
205
|
+
},
|
|
206
|
+
"quickActions": {
|
|
207
|
+
"overview": "Overview",
|
|
208
|
+
"editProfile": "Edit Profile",
|
|
209
|
+
"sessions": "Sessions",
|
|
210
|
+
"premium": "Premium",
|
|
211
|
+
"billing": "Billing",
|
|
212
|
+
"switch": "Switch"
|
|
213
|
+
},
|
|
214
|
+
"items": {
|
|
215
|
+
"accountOverview": {
|
|
216
|
+
"title": "Account Overview",
|
|
217
|
+
"subtitle": "Complete account information"
|
|
218
|
+
},
|
|
219
|
+
"editProfile": {
|
|
220
|
+
"title": "Edit Profile",
|
|
221
|
+
"subtitle": "Manage your profile and preferences"
|
|
222
|
+
},
|
|
223
|
+
"manageSessions": {
|
|
224
|
+
"title": "Manage Sessions",
|
|
225
|
+
"subtitle": "Security and active devices"
|
|
226
|
+
},
|
|
227
|
+
"fileManagement": {
|
|
228
|
+
"title": "File Management",
|
|
229
|
+
"subtitle": "Upload, download, and manage your files"
|
|
230
|
+
},
|
|
231
|
+
"premium": {
|
|
232
|
+
"title": "Oxy+ Subscriptions",
|
|
233
|
+
"manage": "Manage your premium plan",
|
|
234
|
+
"upgrade": "Upgrade to premium features"
|
|
235
|
+
},
|
|
236
|
+
"billing": {
|
|
237
|
+
"title": "Billing Management",
|
|
238
|
+
"subtitle": "Payment methods and invoices"
|
|
239
|
+
},
|
|
240
|
+
"switchAccount": {
|
|
241
|
+
"title": "Switch Account",
|
|
242
|
+
"subtitle": "{{count}} accounts available"
|
|
243
|
+
},
|
|
244
|
+
"addAccount": {
|
|
245
|
+
"title": "Add Another Account",
|
|
246
|
+
"subtitle": "Sign in with a different account"
|
|
247
|
+
},
|
|
248
|
+
"notifications": {
|
|
249
|
+
"title": "Notifications",
|
|
250
|
+
"subtitle": "Manage notification settings",
|
|
251
|
+
"coming": "Notifications feature coming soon!"
|
|
252
|
+
},
|
|
253
|
+
"appInfo": {
|
|
254
|
+
"title": "App Information",
|
|
255
|
+
"subtitle": "Version and system details"
|
|
256
|
+
}
|
|
257
|
+
},
|
|
258
|
+
"signingOut": "Signing out...",
|
|
259
|
+
"version": "Version {{version}}"
|
|
260
|
+
},
|
|
261
|
+
"accountSwitcher": {
|
|
262
|
+
"title": "Account Switcher",
|
|
263
|
+
"sections": {
|
|
264
|
+
"current": "Current Account",
|
|
265
|
+
"otherWithCount": "Other Accounts ({{count}})",
|
|
266
|
+
"deviceSessions": "Device Sessions"
|
|
267
|
+
},
|
|
268
|
+
"currentBadge": "Current",
|
|
269
|
+
"loading": "Loading accounts...",
|
|
270
|
+
"toasts": {
|
|
271
|
+
"switchSuccess": "Account switched successfully!",
|
|
272
|
+
"switchFailed": "There was a problem switching accounts. Please try again.",
|
|
273
|
+
"removeSuccess": "Account removed successfully!",
|
|
274
|
+
"removeFailed": "There was a problem removing the account. Please try again.",
|
|
275
|
+
"signOutAllSuccess": "All accounts signed out successfully!",
|
|
276
|
+
"signOutAllFailed": "There was a problem signing out: {{error}}",
|
|
277
|
+
"deviceLoadFailed": "Failed to load device sessions. Please try again.",
|
|
278
|
+
"remoteSignOutSuccess": "Signed out from {{deviceName}} successfully!",
|
|
279
|
+
"remoteSignOutFailed": "There was a problem signing out from the device. Please try again.",
|
|
280
|
+
"noOtherDeviceSessions": "No other device sessions found to sign out from.",
|
|
281
|
+
"signOutOthersSuccess": "Signed out from all other devices successfully!",
|
|
282
|
+
"signOutOthersFailed": "There was a problem signing out from other devices. Please try again."
|
|
283
|
+
},
|
|
284
|
+
"confirms": {
|
|
285
|
+
"remove": "Are you sure you want to remove {{displayName}} from this device? You'll need to sign in again to access this account.",
|
|
286
|
+
"logoutAll": "Are you sure you want to sign out of all accounts? This will remove all saved accounts from this device.",
|
|
287
|
+
"remoteLogout": "Are you sure you want to sign out from \"{{deviceName}}\"? This will end the session on that device.",
|
|
288
|
+
"logoutOthers": "Are you sure you want to sign out from all {{count}} other device(s)? This will end sessions on all other devices except this one."
|
|
289
|
+
},
|
|
290
|
+
"device": {
|
|
291
|
+
"loadingTitle": "Loading device sessions...",
|
|
292
|
+
"loadingSubtitle": "Please wait while we fetch your device sessions",
|
|
293
|
+
"noneTitle": "No device sessions found",
|
|
294
|
+
"noneSubtitle": "Device session management not available",
|
|
295
|
+
"thisDevice": "This device",
|
|
296
|
+
"lastActive": "Last active: {{date}}"
|
|
297
|
+
},
|
|
298
|
+
"empty": {
|
|
299
|
+
"title": "No saved accounts",
|
|
300
|
+
"subtitle": "Add another account to switch between them quickly"
|
|
301
|
+
}
|
|
302
|
+
},
|
|
303
|
+
"karma": {
|
|
304
|
+
"faq": {
|
|
305
|
+
"title": "Karma FAQ",
|
|
306
|
+
"subtitle": "Frequently asked questions about karma",
|
|
307
|
+
"search": "Search FAQ...",
|
|
308
|
+
"noResults": "No FAQ items found matching \"{{query}}\"",
|
|
309
|
+
"items": {
|
|
310
|
+
"what": {
|
|
311
|
+
"q": "What is karma?",
|
|
312
|
+
"a": "Karma is a recognition of your positive actions in the Oxy Ecosystem. It cannot be sent or received directly."
|
|
313
|
+
},
|
|
314
|
+
"earn": {
|
|
315
|
+
"q": "How do I earn karma?",
|
|
316
|
+
"a": "By helping others, reporting bugs, contributing content, and participating in community events."
|
|
317
|
+
},
|
|
318
|
+
"lose": {
|
|
319
|
+
"q": "Can I lose karma?",
|
|
320
|
+
"a": "Karma may be reduced for negative actions or breaking community rules."
|
|
321
|
+
},
|
|
322
|
+
"use": {
|
|
323
|
+
"q": "What can I do with karma?",
|
|
324
|
+
"a": "Unlock rewards, badges, and special features as you earn more karma."
|
|
325
|
+
},
|
|
326
|
+
"transfer": {
|
|
327
|
+
"q": "Can I transfer karma to others?",
|
|
328
|
+
"a": "No, karma cannot be sent or received. It is only earned by your actions."
|
|
329
|
+
},
|
|
330
|
+
"support": {
|
|
331
|
+
"q": "How do I get support?",
|
|
332
|
+
"a": "Contact Oxy support via the app or website for any karma-related questions."
|
|
333
|
+
}
|
|
334
|
+
}
|
|
335
|
+
},
|
|
336
|
+
"rules": {
|
|
337
|
+
"title": "Karma Rules",
|
|
338
|
+
"subtitle": "How to earn karma points",
|
|
339
|
+
"empty": "No rules found."
|
|
340
|
+
},
|
|
341
|
+
"leaderboard": {
|
|
342
|
+
"title": "Karma Leaderboard",
|
|
343
|
+
"subtitle": "Top contributors in the community",
|
|
344
|
+
"empty": "No leaderboard data."
|
|
345
|
+
},
|
|
346
|
+
"rewards": {
|
|
347
|
+
"title": "Karma Rewards",
|
|
348
|
+
"subtitle": "Unlock special features and recognition",
|
|
349
|
+
"intro": "Unlock special features and recognition by earning karma!",
|
|
350
|
+
"earlyAccess": {
|
|
351
|
+
"title": "🎉 Early Access",
|
|
352
|
+
"desc": "Get early access to new features with 100+ karma."
|
|
353
|
+
},
|
|
354
|
+
"badge": {
|
|
355
|
+
"title": "🏅 Community Badge",
|
|
356
|
+
"desc": "Earn a special badge for 500+ karma."
|
|
357
|
+
},
|
|
358
|
+
"featured": {
|
|
359
|
+
"title": "🌟 Featured Member",
|
|
360
|
+
"desc": "Be featured in the community for 1000+ karma."
|
|
361
|
+
},
|
|
362
|
+
"moreComing": "More rewards coming soon!"
|
|
363
|
+
},
|
|
364
|
+
"center": {
|
|
365
|
+
"balance": "Karma Balance",
|
|
366
|
+
"actions": {
|
|
367
|
+
"leaderboard": "Leaderboard",
|
|
368
|
+
"rules": "Rules",
|
|
369
|
+
"about": "About",
|
|
370
|
+
"rewards": "Rewards",
|
|
371
|
+
"faq": "FAQ"
|
|
372
|
+
},
|
|
373
|
+
"info": "Karma can only be earned by positive actions in the Oxy Ecosystem. It cannot be sent or received directly.",
|
|
374
|
+
"history": "Karma History",
|
|
375
|
+
"noHistory": "No karma history yet.",
|
|
376
|
+
"noDescription": "No description"
|
|
377
|
+
},
|
|
378
|
+
"about": {
|
|
379
|
+
"title": "About Karma",
|
|
380
|
+
"subtitle": "Learn about the karma system",
|
|
381
|
+
"intro": "Karma is a recognition of your positive actions in the Oxy Ecosystem. It cannot be sent or received directly, only earned by contributing to the community.",
|
|
382
|
+
"how": {
|
|
383
|
+
"title": "How to Earn Karma",
|
|
384
|
+
"help": "Helping other users",
|
|
385
|
+
"report": "Reporting bugs",
|
|
386
|
+
"contribute": "Contributing content",
|
|
387
|
+
"participate": "Participating in events",
|
|
388
|
+
"other": "Other positive actions"
|
|
389
|
+
},
|
|
390
|
+
"why": {
|
|
391
|
+
"title": "Why Karma?",
|
|
392
|
+
"text": "Karma unlocks special features and recognition in the Oxy Ecosystem. The more you contribute, the more you earn!"
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
},
|
|
396
|
+
"premium": {
|
|
397
|
+
"title": "Oxy+ Subscriptions",
|
|
398
|
+
"forApp": "for {{app}}",
|
|
399
|
+
"loading": "Loading subscription plans...",
|
|
400
|
+
"choosePlan": "Choose Your Plan",
|
|
401
|
+
"choosePlanSubtitle": "Unlock premium features and take your experience to the next level",
|
|
402
|
+
"availablePlans": "Available Plans",
|
|
403
|
+
"why": "Why Go Premium?",
|
|
404
|
+
"benefits": {
|
|
405
|
+
"performance": {
|
|
406
|
+
"title": "Enhanced Performance",
|
|
407
|
+
"desc": "Faster processing and priority access to our servers"
|
|
408
|
+
},
|
|
409
|
+
"security": {
|
|
410
|
+
"title": "Advanced Security",
|
|
411
|
+
"desc": "Enhanced encryption and security features"
|
|
412
|
+
},
|
|
413
|
+
"support": {
|
|
414
|
+
"title": "Priority Support",
|
|
415
|
+
"desc": "Get help faster with our premium support team"
|
|
416
|
+
}
|
|
417
|
+
},
|
|
418
|
+
"toasts": {
|
|
419
|
+
"planUnavailable": "This plan is not available for the current app ({{app}})",
|
|
420
|
+
"mentionOnly": "Mention+ is only available in the Mention app",
|
|
421
|
+
"activated": "Subscription activated successfully!",
|
|
422
|
+
"paymentFailed": "Payment failed. Please try again.",
|
|
423
|
+
"willCancel": "Subscription will be canceled at the end of the billing period",
|
|
424
|
+
"cancelFailed": "Failed to cancel subscription",
|
|
425
|
+
"reactivated": "Subscription reactivated successfully",
|
|
426
|
+
"reactivateFailed": "Failed to reactivate subscription",
|
|
427
|
+
"featureSubscribed": "Subscribed to {{name}} successfully!",
|
|
428
|
+
"featureSubscribeFailed": "Feature subscription failed. Please try again.",
|
|
429
|
+
"featureUnsubscribed": "Unsubscribed from {{name}}",
|
|
430
|
+
"featureUnsubscribeFailed": "Failed to unsubscribe from feature"
|
|
431
|
+
},
|
|
432
|
+
"confirms": {
|
|
433
|
+
"cancelSub": "Are you sure you want to cancel your subscription? You will lose access to premium features at the end of your current billing period.",
|
|
434
|
+
"unsubscribeFeature": "Are you sure you want to unsubscribe from {{name}}?"
|
|
435
|
+
},
|
|
436
|
+
"current": {
|
|
437
|
+
"title": "Current Subscription",
|
|
438
|
+
"renewsOn": "Renews on {{date}}",
|
|
439
|
+
"willCancelOn": "Subscription will cancel on {{date}}"
|
|
440
|
+
},
|
|
441
|
+
"actions": {
|
|
442
|
+
"reactivate": "Reactivate",
|
|
443
|
+
"cancelSubBtn": "Cancel Subscription",
|
|
444
|
+
"manageBilling": "Manage Billing",
|
|
445
|
+
"subscribeTo": "Subscribe to {{name}}",
|
|
446
|
+
"subscribe": "Subscribe",
|
|
447
|
+
"unsubscribe": "Unsubscribe"
|
|
448
|
+
},
|
|
449
|
+
"billing": {
|
|
450
|
+
"monthly": "Monthly",
|
|
451
|
+
"yearly": "Yearly",
|
|
452
|
+
"saveYearly": "💰 Save 20% with yearly billing"
|
|
453
|
+
},
|
|
454
|
+
"tabs": {
|
|
455
|
+
"plans": "Full Plans",
|
|
456
|
+
"features": "Individual Features"
|
|
457
|
+
},
|
|
458
|
+
"plan": {
|
|
459
|
+
"scope": {
|
|
460
|
+
"allApps": "Works across all Oxy apps",
|
|
461
|
+
"exclusive": "Exclusive to {{app}} app",
|
|
462
|
+
"availableIn": "Available in: {{apps}}"
|
|
463
|
+
},
|
|
464
|
+
"badge": {
|
|
465
|
+
"appExclusive": "App Exclusive",
|
|
466
|
+
"notAvailable": "Not Available"
|
|
467
|
+
},
|
|
468
|
+
"perInterval": "per {{interval}}",
|
|
469
|
+
"current": "Current Plan",
|
|
470
|
+
"notAvailableInApp": "Not Available in Current App"
|
|
471
|
+
},
|
|
472
|
+
"feature": {
|
|
473
|
+
"scope": {
|
|
474
|
+
"allApps": "Available across all Oxy apps",
|
|
475
|
+
"availableIn": "Available in: {{apps}}"
|
|
476
|
+
},
|
|
477
|
+
"includedInPlan": "Included in your plan",
|
|
478
|
+
"subscribed": "Subscribed"
|
|
479
|
+
}
|
|
480
|
+
},
|
|
481
|
+
"editProfile": {
|
|
482
|
+
"title": "Edit Profile",
|
|
483
|
+
"sections": {
|
|
484
|
+
"profilePicture": "Profile Picture",
|
|
485
|
+
"basicInfo": "Basic Information",
|
|
486
|
+
"about": "About You",
|
|
487
|
+
"quickActions": "Quick Actions",
|
|
488
|
+
"security": "Security"
|
|
489
|
+
},
|
|
490
|
+
"items": {
|
|
491
|
+
"displayName": {
|
|
492
|
+
"title": "Display Name",
|
|
493
|
+
"add": "Add your display name"
|
|
494
|
+
},
|
|
495
|
+
"username": {
|
|
496
|
+
"title": "Username",
|
|
497
|
+
"choose": "Choose a username"
|
|
498
|
+
},
|
|
499
|
+
"email": {
|
|
500
|
+
"title": "Email",
|
|
501
|
+
"add": "Add your email address"
|
|
502
|
+
},
|
|
503
|
+
"bio": {
|
|
504
|
+
"title": "Bio",
|
|
505
|
+
"placeholder": "Tell people about yourself"
|
|
506
|
+
},
|
|
507
|
+
"locations": {
|
|
508
|
+
"title": "Locations",
|
|
509
|
+
"add": "Add your locations",
|
|
510
|
+
"count": "{{count}} location added",
|
|
511
|
+
"count_plural": "{{count}} locations added"
|
|
512
|
+
},
|
|
513
|
+
"links": {
|
|
514
|
+
"title": "Links",
|
|
515
|
+
"add": "Add your links",
|
|
516
|
+
"count": "{{count}} link added",
|
|
517
|
+
"count_plural": "{{count}} links added"
|
|
518
|
+
},
|
|
519
|
+
"previewProfile": {
|
|
520
|
+
"title": "Preview Profile",
|
|
521
|
+
"subtitle": "See how your profile looks to others"
|
|
522
|
+
},
|
|
523
|
+
"privacySettings": {
|
|
524
|
+
"title": "Privacy Settings",
|
|
525
|
+
"subtitle": "Control who can see your profile",
|
|
526
|
+
"coming": "Privacy settings coming soon!"
|
|
527
|
+
},
|
|
528
|
+
"verifyAccount": {
|
|
529
|
+
"title": "Verify Account",
|
|
530
|
+
"subtitle": "Get a verified badge",
|
|
531
|
+
"coming": "Account verification coming soon!"
|
|
532
|
+
},
|
|
533
|
+
"twoFactor": {
|
|
534
|
+
"title": "Two‑Factor Authentication",
|
|
535
|
+
"enabled": "Enabled",
|
|
536
|
+
"disabled": "Disabled (recommended)"
|
|
537
|
+
}
|
|
538
|
+
},
|
|
539
|
+
"confirms": {
|
|
540
|
+
"removeAvatar": "Remove your profile picture?"
|
|
541
|
+
},
|
|
542
|
+
"toasts": {
|
|
543
|
+
"profileUpdated": "Profile updated successfully",
|
|
544
|
+
"updateFailed": "Failed to update profile",
|
|
545
|
+
"avatarRemoved": "Avatar removed",
|
|
546
|
+
"selectImage": "Please select an image file",
|
|
547
|
+
"avatarUnchanged": "Avatar unchanged",
|
|
548
|
+
"avatarSelected": "Avatar selected",
|
|
549
|
+
"avatarUpdated": "Avatar updated",
|
|
550
|
+
"updateAvatarFailed": "Failed to update avatar",
|
|
551
|
+
"noActiveSession": "No active session",
|
|
552
|
+
"totpStartFailed": "Failed to start TOTP enrollment",
|
|
553
|
+
"twoFactorEnabled": "Two‑Factor Authentication enabled",
|
|
554
|
+
"invalidCode": "Invalid code",
|
|
555
|
+
"twoFactorDisabled": "Two‑Factor Authentication disabled",
|
|
556
|
+
"disableFailed": "Failed to disable"
|
|
557
|
+
}
|
|
558
|
+
},
|
|
559
|
+
"accountOverview": {
|
|
560
|
+
"title": "Account",
|
|
561
|
+
"sections": {
|
|
562
|
+
"profile": "Profile",
|
|
563
|
+
"accountSettings": "Account Settings",
|
|
564
|
+
"accountManagement": "Account Management",
|
|
565
|
+
"additionalAccounts": "Additional Accounts",
|
|
566
|
+
"quickActions": "Quick Actions",
|
|
567
|
+
"support": "Support & Settings",
|
|
568
|
+
"actions": "Account Actions"
|
|
569
|
+
},
|
|
570
|
+
"actions": {
|
|
571
|
+
"manage": "Manage"
|
|
572
|
+
},
|
|
573
|
+
"loadingAdditional": { "title": "Loading accounts...", "subtitle": "Please wait while we load your additional accounts" },
|
|
574
|
+
"additional": {
|
|
575
|
+
"noAccounts": { "title": "No other accounts", "subtitle": "Add another account to switch between them" }
|
|
576
|
+
},
|
|
577
|
+
"items": {
|
|
578
|
+
"addAccount": { "title": "Add Another Account", "subtitle": "Sign in with a different account" },
|
|
579
|
+
"signOutAll": { "title": "Sign out of all accounts", "subtitle": "Remove all accounts from this device" },
|
|
580
|
+
"accountSwitcher": {
|
|
581
|
+
"switchPrompt": "Switch to {{username}}?",
|
|
582
|
+
"titleShow": "Show Account Switcher",
|
|
583
|
+
"titleHide": "Hide Account Switcher",
|
|
584
|
+
"subtitleHide": "Hide account switcher",
|
|
585
|
+
"subtitleSwitchBetween": "Switch between {{count}} accounts",
|
|
586
|
+
"subtitleLoading": "Loading additional accounts...",
|
|
587
|
+
"subtitleManageMultiple": "Manage multiple accounts"
|
|
588
|
+
},
|
|
589
|
+
"editProfile": {
|
|
590
|
+
"title": "Edit Profile",
|
|
591
|
+
"subtitle": "Update your personal information"
|
|
592
|
+
},
|
|
593
|
+
"security": {
|
|
594
|
+
"title": "Security & Privacy",
|
|
595
|
+
"subtitle": "Password, 2FA, and privacy settings"
|
|
596
|
+
},
|
|
597
|
+
"notifications": {
|
|
598
|
+
"title": "Notifications",
|
|
599
|
+
"subtitle": "Manage your notification preferences"
|
|
600
|
+
},
|
|
601
|
+
"premium": {
|
|
602
|
+
"title": "Oxy+ Subscriptions",
|
|
603
|
+
"manage": "Manage your premium plan",
|
|
604
|
+
"upgrade": "Upgrade to premium features"
|
|
605
|
+
},
|
|
606
|
+
"billing": {
|
|
607
|
+
"title": "Billing Management",
|
|
608
|
+
"subtitle": "Payment methods and invoices",
|
|
609
|
+
"coming": "Billing management feature coming soon!"
|
|
610
|
+
},
|
|
611
|
+
"downloadData": {
|
|
612
|
+
"title": "Download My Data",
|
|
613
|
+
"subtitle": "Export your account information",
|
|
614
|
+
"coming": "Download account data feature coming soon!"
|
|
615
|
+
},
|
|
616
|
+
"deleteAccount": {
|
|
617
|
+
"title": "Delete Account",
|
|
618
|
+
"subtitle": "Permanently delete your account",
|
|
619
|
+
"coming": "Delete account feature coming soon!"
|
|
620
|
+
},
|
|
621
|
+
"preferences": {
|
|
622
|
+
"title": "Account Preferences",
|
|
623
|
+
"subtitle": "Customize your account experience",
|
|
624
|
+
"coming": "Account preferences coming soon!"
|
|
625
|
+
},
|
|
626
|
+
"help": {
|
|
627
|
+
"title": "Help & Support",
|
|
628
|
+
"subtitle": "Get help with your account",
|
|
629
|
+
"coming": "Help & support feature coming soon!"
|
|
630
|
+
},
|
|
631
|
+
"connectedApps": {
|
|
632
|
+
"title": "Connected Apps",
|
|
633
|
+
"subtitle": "Manage third-party app access",
|
|
634
|
+
"coming": "Connected apps feature coming soon!"
|
|
635
|
+
},
|
|
636
|
+
"about": {
|
|
637
|
+
"title": "About",
|
|
638
|
+
"subtitle": "App version and information"
|
|
639
|
+
},
|
|
640
|
+
"signOut": {
|
|
641
|
+
"title": "Sign Out",
|
|
642
|
+
"subtitle": "Sign out of your current account"
|
|
643
|
+
}
|
|
644
|
+
},
|
|
645
|
+
"manageComing": "Manage your Oxy Account feature coming soon!",
|
|
646
|
+
"addAccountComing": "Add another account feature coming soon!"
|
|
647
|
+
},
|
|
648
|
+
"common": {
|
|
649
|
+
"errors": {
|
|
650
|
+
"signOutFailed": "There was a problem signing you out. Please try again."
|
|
651
|
+
},
|
|
652
|
+
"confirms": {
|
|
653
|
+
"signOut": "Are you sure you want to sign out?",
|
|
654
|
+
"signOutAll": "Are you sure you want to sign out of all accounts?"
|
|
655
|
+
},
|
|
656
|
+
"status": {
|
|
657
|
+
"notSignedIn": "Not signed in",
|
|
658
|
+
"loading": "Loading..."
|
|
659
|
+
},
|
|
660
|
+
"actions": {
|
|
661
|
+
"back": "Back",
|
|
662
|
+
"continue": "Continue",
|
|
663
|
+
"next": "Next",
|
|
664
|
+
"getStarted": "Get Started",
|
|
665
|
+
"createAccount": "Create Account",
|
|
666
|
+
"signIn": "Sign In",
|
|
667
|
+
"verify": "Verify",
|
|
668
|
+
"resetPassword": "Reset Password"
|
|
669
|
+
},
|
|
670
|
+
"links": {
|
|
671
|
+
"recoverAccount": "Recover your account",
|
|
672
|
+
"signUp": "Sign Up"
|
|
673
|
+
},
|
|
674
|
+
"labels": {
|
|
675
|
+
"username": "Username",
|
|
676
|
+
"email": "Email",
|
|
677
|
+
"password": "Password",
|
|
678
|
+
"confirmPassword": "Confirm Password"
|
|
679
|
+
}
|
|
680
|
+
}
|
|
681
|
+
}
|