@oxyhq/services 22.13.1 → 23.0.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 +1 -1
- package/lib/commonjs/ui/boot/runProviderColdBoot.js +20 -64
- package/lib/commonjs/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/commonjs/ui/components/AvatarCameraBadge.js +3 -2
- package/lib/commonjs/ui/components/AvatarCameraBadge.js.map +1 -1
- package/lib/commonjs/ui/components/OxyProvider.js +5 -6
- package/lib/commonjs/ui/components/OxyProvider.js.map +1 -1
- package/lib/commonjs/ui/components/ProfileButton.js +4 -3
- package/lib/commonjs/ui/components/ProfileButton.js.map +1 -1
- package/lib/commonjs/ui/components/SettingsIcon.js +3 -2
- package/lib/commonjs/ui/components/SettingsIcon.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js +7 -7
- package/lib/commonjs/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/primitives.js +5 -4
- package/lib/commonjs/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js +2 -2
- package/lib/commonjs/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js +3 -2
- package/lib/commonjs/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js +3 -2
- package/lib/commonjs/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js +15 -14
- package/lib/commonjs/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js +6 -5
- package/lib/commonjs/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js +3 -2
- package/lib/commonjs/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js +6 -6
- package/lib/commonjs/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js +5 -5
- package/lib/commonjs/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js +10 -9
- package/lib/commonjs/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js +4 -3
- package/lib/commonjs/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js +6 -5
- package/lib/commonjs/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/commonjs/ui/components/styles/shadow.js.map +1 -1
- package/lib/commonjs/ui/context/OxyContext.js +14 -45
- package/lib/commonjs/ui/context/OxyContext.js.map +1 -1
- package/lib/commonjs/ui/context/commitSessionFlow.js +0 -43
- package/lib/commonjs/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/commonjs/ui/context/useOxyAccountGraph.js +3 -4
- package/lib/commonjs/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/commonjs/ui/hooks/queries/userCache.js +17 -17
- package/lib/commonjs/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAssets.js.map +1 -1
- package/lib/commonjs/ui/hooks/useAuth.js +4 -2
- package/lib/commonjs/ui/hooks/useAuth.js.map +1 -1
- package/lib/commonjs/ui/hooks/useOnlineStatus.js +3 -2
- package/lib/commonjs/ui/hooks/useOnlineStatus.js.map +1 -1
- package/lib/commonjs/ui/hooks/useSessionManagement.js +0 -2
- package/lib/commonjs/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/commonjs/ui/screens/AccountMembersScreen.js +4 -3
- package/lib/commonjs/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js +1 -1
- package/lib/commonjs/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/CreateAccountScreen.js +7 -6
- package/lib/commonjs/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js +4 -3
- package/lib/commonjs/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FAQScreen.js +3 -2
- package/lib/commonjs/ui/screens/FAQScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FeedbackScreen.js +96 -96
- package/lib/commonjs/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/FileManagementScreen.js +19 -18
- package/lib/commonjs/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/HistoryViewScreen.js +4 -29
- package/lib/commonjs/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js +4 -3
- package/lib/commonjs/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ManageAccountScreen.js +2 -2
- package/lib/commonjs/ui/screens/ManageAccountScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js +3 -3
- package/lib/commonjs/ui/screens/PaymentGatewayScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js +10 -9
- package/lib/commonjs/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js +1 -0
- package/lib/commonjs/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/ProfileScreen.js +12 -13
- package/lib/commonjs/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/UserListScreen.js +4 -4
- package/lib/commonjs/ui/screens/UserListScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js +6 -6
- package/lib/commonjs/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js +4 -3
- package/lib/commonjs/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/FileListSection.js +4 -3
- package/lib/commonjs/ui/screens/fileManagement/FileListSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js +5 -7
- package/lib/commonjs/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/commonjs/ui/screens/fileManagement/UploadBar.js +3 -2
- package/lib/commonjs/ui/screens/fileManagement/UploadBar.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js +3 -2
- package/lib/commonjs/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js +5 -4
- package/lib/commonjs/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js +4 -3
- package/lib/commonjs/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/commonjs/ui/utils/fileManagement.js +24 -24
- package/lib/commonjs/ui/utils/fileManagement.js.map +1 -1
- package/lib/commonjs/ui/utils/netConnectivity.js +28 -0
- package/lib/commonjs/ui/utils/netConnectivity.js.map +1 -0
- package/lib/commonjs/ui/utils/oauthReturn.js +15 -28
- package/lib/commonjs/ui/utils/oauthReturn.js.map +1 -1
- package/lib/module/ui/boot/runProviderColdBoot.js +21 -65
- package/lib/module/ui/boot/runProviderColdBoot.js.map +1 -1
- package/lib/module/ui/components/AvatarCameraBadge.js +1 -1
- package/lib/module/ui/components/AvatarCameraBadge.js.map +1 -1
- package/lib/module/ui/components/OxyProvider.js +5 -6
- package/lib/module/ui/components/OxyProvider.js.map +1 -1
- package/lib/module/ui/components/ProfileButton.js +1 -1
- package/lib/module/ui/components/ProfileButton.js.map +1 -1
- package/lib/module/ui/components/SettingsIcon.js +1 -1
- package/lib/module/ui/components/SettingsIcon.js.map +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js +1 -1
- package/lib/module/ui/components/authChooser/AccountsMenuView.js.map +1 -1
- package/lib/module/ui/components/authChooser/primitives.js +1 -1
- package/lib/module/ui/components/authChooser/primitives.js.map +1 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js +1 -1
- package/lib/module/ui/components/authChooser/requestSurfaces.js.map +1 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js +1 -1
- package/lib/module/ui/components/fileManagement/AnimatedButton.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js +1 -1
- package/lib/module/ui/components/fileManagement/FileDetailsModal.js.map +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js +1 -1
- package/lib/module/ui/components/fileManagement/FileViewer.js.map +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js +1 -1
- package/lib/module/ui/components/fileManagement/UploadPreview.js.map +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js +1 -1
- package/lib/module/ui/components/modals/DeleteAccountModal.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentDetailsStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentMethodStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentMethodStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentReviewStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentSuccessStep.js.map +1 -1
- package/lib/module/ui/components/payment/PaymentSummaryStep.js +1 -1
- package/lib/module/ui/components/payment/PaymentSummaryStep.js.map +1 -1
- package/lib/module/ui/components/styles/shadow.js.map +1 -1
- package/lib/module/ui/context/OxyContext.js +16 -47
- package/lib/module/ui/context/OxyContext.js.map +1 -1
- package/lib/module/ui/context/commitSessionFlow.js +0 -42
- package/lib/module/ui/context/commitSessionFlow.js.map +1 -1
- package/lib/module/ui/context/useOxyAccountGraph.js +3 -4
- package/lib/module/ui/context/useOxyAccountGraph.js.map +1 -1
- package/lib/module/ui/hooks/queries/userCache.js +17 -17
- package/lib/module/ui/hooks/queries/userCache.js.map +1 -1
- package/lib/module/ui/hooks/useAssets.js.map +1 -1
- package/lib/module/ui/hooks/useAuth.js +4 -2
- package/lib/module/ui/hooks/useAuth.js.map +1 -1
- package/lib/module/ui/hooks/useOnlineStatus.js +3 -2
- package/lib/module/ui/hooks/useOnlineStatus.js.map +1 -1
- package/lib/module/ui/hooks/useSessionManagement.js +0 -2
- package/lib/module/ui/hooks/useSessionManagement.js.map +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js +1 -1
- package/lib/module/ui/screens/AccountMembersScreen.js.map +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js +1 -1
- package/lib/module/ui/screens/ConnectedAppsScreen.js.map +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js +1 -1
- package/lib/module/ui/screens/CreateAccountScreen.js.map +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js +1 -1
- package/lib/module/ui/screens/EditProfileFieldScreen.js.map +1 -1
- package/lib/module/ui/screens/FAQScreen.js +1 -1
- package/lib/module/ui/screens/FAQScreen.js.map +1 -1
- package/lib/module/ui/screens/FeedbackScreen.js +91 -90
- package/lib/module/ui/screens/FeedbackScreen.js.map +1 -1
- package/lib/module/ui/screens/FileManagementScreen.js +2 -1
- package/lib/module/ui/screens/FileManagementScreen.js.map +1 -1
- package/lib/module/ui/screens/HistoryViewScreen.js +4 -29
- package/lib/module/ui/screens/HistoryViewScreen.js.map +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js +1 -1
- package/lib/module/ui/screens/LanguageSelectorScreen.js.map +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.js +1 -1
- package/lib/module/ui/screens/ManageAccountScreen.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 +2 -2
- package/lib/module/ui/screens/PremiumSubscriptionScreen.js.map +1 -1
- package/lib/module/ui/screens/PrivacySettingsScreen.js +1 -0
- package/lib/module/ui/screens/PrivacySettingsScreen.js.map +1 -1
- package/lib/module/ui/screens/ProfileScreen.js +4 -5
- package/lib/module/ui/screens/ProfileScreen.js.map +1 -1
- package/lib/module/ui/screens/UserListScreen.js +3 -3
- package/lib/module/ui/screens/UserListScreen.js.map +1 -1
- package/lib/module/ui/screens/WelcomeNewUserScreen.js +5 -6
- package/lib/module/ui/screens/WelcomeNewUserScreen.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js +1 -1
- package/lib/module/ui/screens/fileManagement/FileLibraryError.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/FileListSection.js +1 -1
- package/lib/module/ui/screens/fileManagement/FileListSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js +3 -5
- package/lib/module/ui/screens/fileManagement/PhotoPickerSection.js.map +1 -1
- package/lib/module/ui/screens/fileManagement/UploadBar.js +1 -1
- package/lib/module/ui/screens/fileManagement/UploadBar.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js +1 -1
- package/lib/module/ui/screens/trust/TrustCenterScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js +3 -3
- package/lib/module/ui/screens/trust/TrustLeaderboardScreen.js.map +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js +1 -1
- package/lib/module/ui/screens/trust/TrustRewardsScreen.js.map +1 -1
- package/lib/module/ui/utils/fileManagement.js +25 -25
- package/lib/module/ui/utils/fileManagement.js.map +1 -1
- package/lib/module/ui/utils/netConnectivity.js +23 -0
- package/lib/module/ui/utils/netConnectivity.js.map +1 -0
- package/lib/module/ui/utils/oauthReturn.js +15 -27
- package/lib/module/ui/utils/oauthReturn.js.map +1 -1
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts +11 -30
- package/lib/typescript/commonjs/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/SettingsIcon.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts +1 -1
- package/lib/typescript/commonjs/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/components/payment/types.d.ts +6 -6
- package/lib/typescript/commonjs/ui/components/payment/types.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts +0 -40
- package/lib/typescript/commonjs/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts +4 -7
- package/lib/typescript/commonjs/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts +0 -1
- package/lib/typescript/commonjs/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts +2 -2
- package/lib/typescript/commonjs/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAsyncAction.d.ts +2 -2
- package/lib/typescript/commonjs/ui/hooks/useAsyncAction.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts +4 -2
- package/lib/typescript/commonjs/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts +3 -2
- package/lib/typescript/commonjs/ui/hooks/useOnlineStatus.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts +2 -2
- package/lib/typescript/commonjs/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/types/navigation.d.ts +20 -19
- package/lib/typescript/commonjs/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts +5 -5
- package/lib/typescript/commonjs/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/commonjs/ui/utils/netConnectivity.d.ts +17 -0
- package/lib/typescript/commonjs/ui/utils/netConnectivity.d.ts.map +1 -0
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts +15 -12
- package/lib/typescript/commonjs/ui/utils/oauthReturn.d.ts.map +1 -1
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts +11 -30
- package/lib/typescript/module/ui/boot/runProviderColdBoot.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/OxyProvider.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/SettingsIcon.d.ts +1 -1
- package/lib/typescript/module/ui/components/SettingsIcon.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts +1 -1
- package/lib/typescript/module/ui/components/authChooser/requestSurfaces.d.ts.map +1 -1
- package/lib/typescript/module/ui/components/payment/types.d.ts +6 -6
- package/lib/typescript/module/ui/components/payment/types.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/OxyContext.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts +0 -40
- package/lib/typescript/module/ui/context/commitSessionFlow.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts +4 -7
- package/lib/typescript/module/ui/context/oxyContextTypes.d.ts.map +1 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts +0 -1
- package/lib/typescript/module/ui/context/useOxyAccountGraph.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts +2 -2
- package/lib/typescript/module/ui/hooks/queries/userCache.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAssets.d.ts +1 -1
- package/lib/typescript/module/ui/hooks/useAssets.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAsyncAction.d.ts +2 -2
- package/lib/typescript/module/ui/hooks/useAsyncAction.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useAuth.d.ts +4 -2
- package/lib/typescript/module/ui/hooks/useAuth.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts +3 -2
- package/lib/typescript/module/ui/hooks/useOnlineStatus.d.ts.map +1 -1
- package/lib/typescript/module/ui/hooks/useSessionManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts +2 -2
- package/lib/typescript/module/ui/screens/FeedbackScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/FileManagementScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/HistoryViewScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/PrivacySettingsScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/ProfileScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/WelcomeNewUserScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/fileManagement/PhotoPickerSection.d.ts.map +1 -1
- package/lib/typescript/module/ui/screens/trust/TrustLeaderboardScreen.d.ts.map +1 -1
- package/lib/typescript/module/ui/types/navigation.d.ts +20 -19
- package/lib/typescript/module/ui/types/navigation.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/fileManagement.d.ts +5 -5
- package/lib/typescript/module/ui/utils/fileManagement.d.ts.map +1 -1
- package/lib/typescript/module/ui/utils/netConnectivity.d.ts +17 -0
- package/lib/typescript/module/ui/utils/netConnectivity.d.ts.map +1 -0
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts +15 -12
- package/lib/typescript/module/ui/utils/oauthReturn.d.ts.map +1 -1
- package/package.json +5 -5
- package/src/ui/boot/__tests__/coldBootNoIdpRedirect.test.ts +215 -0
- package/src/ui/boot/runProviderColdBoot.ts +24 -101
- package/src/ui/components/AvatarCameraBadge.tsx +1 -1
- package/src/ui/components/OxyProvider.tsx +5 -6
- package/src/ui/components/ProfileButton.tsx +1 -1
- package/src/ui/components/SettingsIcon.tsx +1 -1
- package/src/ui/components/authChooser/AccountsMenuView.tsx +1 -1
- package/src/ui/components/authChooser/primitives.tsx +1 -1
- package/src/ui/components/authChooser/requestSurfaces.tsx +1 -1
- package/src/ui/components/fileManagement/AnimatedButton.tsx +1 -1
- package/src/ui/components/fileManagement/FileDetailsModal.tsx +1 -1
- package/src/ui/components/fileManagement/FileViewer.tsx +1 -1
- package/src/ui/components/fileManagement/UploadPreview.tsx +1 -1
- package/src/ui/components/modals/DeleteAccountModal.tsx +1 -1
- package/src/ui/components/payment/PaymentDetailsStep.tsx +1 -1
- package/src/ui/components/payment/PaymentMethodStep.tsx +1 -1
- package/src/ui/components/payment/PaymentReviewStep.tsx +1 -1
- package/src/ui/components/payment/PaymentSuccessStep.tsx +1 -1
- package/src/ui/components/payment/PaymentSummaryStep.tsx +1 -1
- package/src/ui/components/payment/types.ts +24 -24
- package/src/ui/components/styles/shadow.tsx +2 -2
- package/src/ui/context/OxyContext.tsx +15 -46
- package/src/ui/context/__tests__/commitSessionFlow.test.ts +0 -89
- package/src/ui/context/commitSessionFlow.ts +0 -61
- package/src/ui/context/oxyContextTypes.ts +4 -7
- package/src/ui/context/useOxyAccountGraph.ts +4 -4
- package/src/ui/hooks/queries/userCache.ts +169 -148
- package/src/ui/hooks/useAssets.ts +1 -1
- package/src/ui/hooks/useAsyncAction.ts +2 -2
- package/src/ui/hooks/useAuth.ts +4 -2
- package/src/ui/hooks/useOnlineStatus.ts +3 -2
- package/src/ui/hooks/useSessionManagement.ts +0 -2
- package/src/ui/screens/AccountMembersScreen.tsx +1 -1
- package/src/ui/screens/ConnectedAppsScreen.tsx +1 -1
- package/src/ui/screens/CreateAccountScreen.tsx +1 -1
- package/src/ui/screens/EditProfileFieldScreen.tsx +1 -1
- package/src/ui/screens/FAQScreen.tsx +1 -1
- package/src/ui/screens/FeedbackScreen.tsx +740 -574
- package/src/ui/screens/FileManagementScreen.tsx +2 -1
- package/src/ui/screens/HistoryViewScreen.tsx +4 -19
- package/src/ui/screens/LanguageSelectorScreen.tsx +1 -1
- package/src/ui/screens/ManageAccountScreen.tsx +1 -1
- package/src/ui/screens/PaymentGatewayScreen.tsx +1 -1
- package/src/ui/screens/PremiumSubscriptionScreen.tsx +2 -2
- package/src/ui/screens/PrivacySettingsScreen.tsx +1 -0
- package/src/ui/screens/ProfileScreen.tsx +6 -4
- package/src/ui/screens/UserListScreen.tsx +3 -3
- package/src/ui/screens/WelcomeNewUserScreen.tsx +6 -6
- package/src/ui/screens/fileManagement/FileLibraryError.tsx +1 -1
- package/src/ui/screens/fileManagement/FileListSection.tsx +1 -1
- package/src/ui/screens/fileManagement/PhotoPickerSection.tsx +3 -2
- package/src/ui/screens/fileManagement/UploadBar.tsx +1 -1
- package/src/ui/screens/trust/TrustCenterScreen.tsx +1 -1
- package/src/ui/screens/trust/TrustLeaderboardScreen.tsx +4 -3
- package/src/ui/screens/trust/TrustRewardsScreen.tsx +1 -1
- package/src/ui/types/navigation.ts +20 -19
- package/src/ui/utils/fileManagement.ts +108 -92
- package/src/ui/utils/netConnectivity.ts +27 -0
- package/src/ui/utils/oauthReturn.ts +15 -30
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js +0 -48
- package/lib/commonjs/ui/oauth/legacyRedirectLanes.js.map +0 -1
- package/lib/commonjs/ui/utils/crossOriginRestore.js +0 -140
- package/lib/commonjs/ui/utils/crossOriginRestore.js.map +0 -1
- package/lib/module/ui/oauth/legacyRedirectLanes.js +0 -44
- package/lib/module/ui/oauth/legacyRedirectLanes.js.map +0 -1
- package/lib/module/ui/utils/crossOriginRestore.js +0 -131
- package/lib/module/ui/utils/crossOriginRestore.js.map +0 -1
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts +0 -40
- package/lib/typescript/commonjs/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
- package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts +0 -43
- package/lib/typescript/commonjs/ui/utils/crossOriginRestore.d.ts.map +0 -1
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts +0 -40
- package/lib/typescript/module/ui/oauth/legacyRedirectLanes.d.ts.map +0 -1
- package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts +0 -43
- package/lib/typescript/module/ui/utils/crossOriginRestore.d.ts.map +0 -1
- package/src/ui/boot/__tests__/coldBootWebAuthMode.test.ts +0 -281
- package/src/ui/oauth/legacyRedirectLanes.ts +0 -43
- package/src/ui/utils/__tests__/crossOriginRestore.test.ts +0 -160
- package/src/ui/utils/crossOriginRestore.ts +0 -168
|
@@ -4,26 +4,26 @@ Object.defineProperty(exports, "__esModule", {
|
|
|
4
4
|
value: true
|
|
5
5
|
});
|
|
6
6
|
exports.default = void 0;
|
|
7
|
-
var
|
|
8
|
-
var _reactNative = require("react-native");
|
|
9
|
-
var _core = require("@oxyhq/core");
|
|
10
|
-
var _theme = require("@oxyhq/bloom/theme");
|
|
11
|
-
var _vectorIcons = require("@expo/vector-icons");
|
|
7
|
+
var _Ionicons = _interopRequireDefault(require("@expo/vector-icons/Ionicons"));
|
|
12
8
|
var _bloom = require("@oxyhq/bloom");
|
|
13
|
-
var _typography = require("@oxyhq/bloom/typography");
|
|
14
9
|
var _button = require("@oxyhq/bloom/button");
|
|
15
|
-
var _textField = require("@oxyhq/bloom/text-field");
|
|
16
|
-
var _switch = require("@oxyhq/bloom/switch");
|
|
17
10
|
var _settingsList = require("@oxyhq/bloom/settings-list");
|
|
11
|
+
var _switch = require("@oxyhq/bloom/switch");
|
|
12
|
+
var _textField = require("@oxyhq/bloom/text-field");
|
|
13
|
+
var _theme = require("@oxyhq/bloom/theme");
|
|
14
|
+
var _typography = require("@oxyhq/bloom/typography");
|
|
15
|
+
var _core = require("@oxyhq/core");
|
|
16
|
+
var _react = require("react");
|
|
17
|
+
var _reactNative = require("react-native");
|
|
18
18
|
var _SettingsIcon = require("../components/SettingsIcon.js");
|
|
19
|
+
var _OxyContext = require("../context/OxyContext.js");
|
|
19
20
|
var _useI18n = require("../hooks/useI18n.js");
|
|
20
21
|
var _useSurfaceHeader = require("../hooks/useSurfaceHeader.js");
|
|
21
|
-
var _OxyContext = require("../context/OxyContext.js");
|
|
22
|
-
var _useFeedbackForm = require("../components/feedback/useFeedbackForm.js");
|
|
23
22
|
var _constants = require("../components/feedback/constants.js");
|
|
23
|
+
var _useFeedbackForm = require("../components/feedback/useFeedbackForm.js");
|
|
24
24
|
var _jsxRuntime = require("react/jsx-runtime");
|
|
25
|
-
|
|
26
|
-
const STEP_FADE_OUT_MS = 250;
|
|
25
|
+
function _interopRequireDefault(e) { return e && e.__esModule ? e : { default: e }; }
|
|
26
|
+
/** Step transition timing — measured animation, not a design token. */const STEP_FADE_OUT_MS = 250;
|
|
27
27
|
const STEP_FADE_IN_MS = 250;
|
|
28
28
|
const STEP_SLIDE_IN_MS = 300;
|
|
29
29
|
const STEP_SLIDE_FROM = -100;
|
|
@@ -33,18 +33,18 @@ const SUCCESS_RESET_DELAY_MS = 3000;
|
|
|
33
33
|
|
|
34
34
|
/** Maps each feedback type to a Bloom theme role + MaterialCommunityIcons glyph. */
|
|
35
35
|
const TYPE_ICON_GLYPH = {
|
|
36
|
-
bug:
|
|
37
|
-
feature:
|
|
38
|
-
general:
|
|
39
|
-
support:
|
|
36
|
+
bug: "bug",
|
|
37
|
+
feature: "lightbulb-on",
|
|
38
|
+
general: "chat",
|
|
39
|
+
support: "help-circle"
|
|
40
40
|
};
|
|
41
41
|
|
|
42
42
|
/** Maps each priority level to a MaterialCommunityIcons glyph. */
|
|
43
43
|
const PRIORITY_ICON_GLYPH = {
|
|
44
|
-
low:
|
|
45
|
-
medium:
|
|
46
|
-
high:
|
|
47
|
-
critical:
|
|
44
|
+
low: "arrow-down",
|
|
45
|
+
medium: "minus",
|
|
46
|
+
high: "arrow-up",
|
|
47
|
+
critical: "alert"
|
|
48
48
|
};
|
|
49
49
|
const FeedbackScreen = ({
|
|
50
50
|
goBack,
|
|
@@ -62,7 +62,7 @@ const FeedbackScreen = ({
|
|
|
62
62
|
t
|
|
63
63
|
} = (0, _useI18n.useI18n)();
|
|
64
64
|
(0, _useSurfaceHeader.useSurfaceHeader)({
|
|
65
|
-
title: t(
|
|
65
|
+
title: t("feedback.title") || "Feedback"
|
|
66
66
|
});
|
|
67
67
|
const {
|
|
68
68
|
feedbackData,
|
|
@@ -72,20 +72,20 @@ const FeedbackScreen = ({
|
|
|
72
72
|
resetForm
|
|
73
73
|
} = (0, _useFeedbackForm.useFeedbackForm)();
|
|
74
74
|
const [currentStep, setCurrentStep] = (0, _react.useState)(0);
|
|
75
|
-
const [, setErrorMessage] = (0, _react.useState)(
|
|
75
|
+
const [, setErrorMessage] = (0, _react.useState)("");
|
|
76
76
|
const fadeAnim = (0, _react.useRef)(new _reactNative.Animated.Value(1)).current;
|
|
77
77
|
const slideAnim = (0, _react.useRef)(new _reactNative.Animated.Value(0)).current;
|
|
78
78
|
|
|
79
79
|
/** Theme-role color for each feedback type pill. */
|
|
80
80
|
const typeColor = (0, _react.useCallback)(id => {
|
|
81
81
|
switch (id) {
|
|
82
|
-
case
|
|
82
|
+
case "bug":
|
|
83
83
|
return colors.negative;
|
|
84
|
-
case
|
|
84
|
+
case "feature":
|
|
85
85
|
return colors.info;
|
|
86
|
-
case
|
|
86
|
+
case "general":
|
|
87
87
|
return colors.success;
|
|
88
|
-
case
|
|
88
|
+
case "support":
|
|
89
89
|
return colors.warning;
|
|
90
90
|
default:
|
|
91
91
|
return colors.primary;
|
|
@@ -95,13 +95,13 @@ const FeedbackScreen = ({
|
|
|
95
95
|
/** Theme-role color for each priority level. */
|
|
96
96
|
const priorityColor = (0, _react.useCallback)(id => {
|
|
97
97
|
switch (id) {
|
|
98
|
-
case
|
|
98
|
+
case "low":
|
|
99
99
|
return colors.success;
|
|
100
|
-
case
|
|
100
|
+
case "medium":
|
|
101
101
|
return colors.warning;
|
|
102
|
-
case
|
|
102
|
+
case "high":
|
|
103
103
|
return colors.negative;
|
|
104
|
-
case
|
|
104
|
+
case "critical":
|
|
105
105
|
return colors.negative;
|
|
106
106
|
default:
|
|
107
107
|
return colors.primary;
|
|
@@ -111,18 +111,18 @@ const FeedbackScreen = ({
|
|
|
111
111
|
_reactNative.Animated.timing(fadeAnim, {
|
|
112
112
|
toValue: 0,
|
|
113
113
|
duration: STEP_FADE_OUT_MS,
|
|
114
|
-
useNativeDriver: _reactNative.Platform.OS !==
|
|
114
|
+
useNativeDriver: _reactNative.Platform.OS !== "web"
|
|
115
115
|
}).start(() => {
|
|
116
116
|
setCurrentStep(nextStep);
|
|
117
117
|
slideAnim.setValue(STEP_SLIDE_FROM);
|
|
118
118
|
_reactNative.Animated.parallel([_reactNative.Animated.timing(fadeAnim, {
|
|
119
119
|
toValue: 1,
|
|
120
120
|
duration: STEP_FADE_IN_MS,
|
|
121
|
-
useNativeDriver: _reactNative.Platform.OS !==
|
|
121
|
+
useNativeDriver: _reactNative.Platform.OS !== "web"
|
|
122
122
|
}), _reactNative.Animated.timing(slideAnim, {
|
|
123
123
|
toValue: 0,
|
|
124
124
|
duration: STEP_SLIDE_IN_MS,
|
|
125
|
-
useNativeDriver: _reactNative.Platform.OS !==
|
|
125
|
+
useNativeDriver: _reactNative.Platform.OS !== "web"
|
|
126
126
|
})]).start();
|
|
127
127
|
});
|
|
128
128
|
}, [fadeAnim, slideAnim]);
|
|
@@ -147,15 +147,15 @@ const FeedbackScreen = ({
|
|
|
147
147
|
}, [feedbackData.contactEmail, user?.email]);
|
|
148
148
|
const handleSubmitFeedback = (0, _react.useCallback)(async () => {
|
|
149
149
|
if (!isTypeStepValid() || !isDetailsStepValid() || !isContactStepValid()) {
|
|
150
|
-
_bloom.toast.error(t(
|
|
150
|
+
_bloom.toast.error(t("feedback.toasts.fillRequired") || "Please fill in all required fields");
|
|
151
151
|
return;
|
|
152
152
|
}
|
|
153
153
|
try {
|
|
154
154
|
setFeedbackState({
|
|
155
|
-
status:
|
|
156
|
-
message:
|
|
155
|
+
status: "submitting",
|
|
156
|
+
message: ""
|
|
157
157
|
});
|
|
158
|
-
setErrorMessage(
|
|
158
|
+
setErrorMessage("");
|
|
159
159
|
const feedbackPayload = {
|
|
160
160
|
type: feedbackData.type,
|
|
161
161
|
title: feedbackData.title,
|
|
@@ -165,7 +165,7 @@ const FeedbackScreen = ({
|
|
|
165
165
|
contactEmail: feedbackData.contactEmail || user?.email,
|
|
166
166
|
systemInfo: feedbackData.systemInfo ? {
|
|
167
167
|
platform: _reactNative.Platform.OS,
|
|
168
|
-
version: _reactNative.Platform.Version?.toString() ||
|
|
168
|
+
version: _reactNative.Platform.Version?.toString() || "Unknown",
|
|
169
169
|
appVersion: _core.packageInfo.version,
|
|
170
170
|
userId: user?.id,
|
|
171
171
|
username: user?.username,
|
|
@@ -174,18 +174,18 @@ const FeedbackScreen = ({
|
|
|
174
174
|
};
|
|
175
175
|
await oxyServices.submitFeedback(feedbackPayload);
|
|
176
176
|
setFeedbackState({
|
|
177
|
-
status:
|
|
178
|
-
message: t(
|
|
177
|
+
status: "success",
|
|
178
|
+
message: t("feedback.toasts.submitSuccess") || "Feedback submitted successfully!"
|
|
179
179
|
});
|
|
180
|
-
_bloom.toast.success(t(
|
|
180
|
+
_bloom.toast.success(t("feedback.toasts.thanks") || "Thank you for your feedback!");
|
|
181
181
|
setTimeout(() => {
|
|
182
182
|
resetForm();
|
|
183
183
|
setCurrentStep(0);
|
|
184
184
|
}, SUCCESS_RESET_DELAY_MS);
|
|
185
185
|
} catch (error) {
|
|
186
|
-
const message = (error instanceof Error ? error.message : null) || t(
|
|
186
|
+
const message = (error instanceof Error ? error.message : null) || t("feedback.toasts.submitFailed") || "Failed to submit feedback";
|
|
187
187
|
setFeedbackState({
|
|
188
|
-
status:
|
|
188
|
+
status: "error",
|
|
189
189
|
message
|
|
190
190
|
});
|
|
191
191
|
_bloom.toast.error(message);
|
|
@@ -210,7 +210,7 @@ const FeedbackScreen = ({
|
|
|
210
210
|
children: Array.from({
|
|
211
211
|
length: TOTAL_STEPS
|
|
212
212
|
}, (_, index) => /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
213
|
-
className: currentStep === index ?
|
|
213
|
+
className: currentStep === index ? "h-space-8 rounded-radius-max bg-fill-brand" : "h-space-8 rounded-radius-max bg-fill-secondary",
|
|
214
214
|
style: currentStep === index ? styles.progressDotActive : styles.progressDot
|
|
215
215
|
}, index))
|
|
216
216
|
});
|
|
@@ -231,7 +231,7 @@ const FeedbackScreen = ({
|
|
|
231
231
|
translateX: slideAnim
|
|
232
232
|
}]
|
|
233
233
|
}],
|
|
234
|
-
children: [renderStepHeader(t(
|
|
234
|
+
children: [renderStepHeader(t("feedback.type.title") || "What type of feedback?", t("feedback.type.subtitle") || "Choose the category that best describes your feedback"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
235
235
|
className: "w-full",
|
|
236
236
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
237
237
|
children: feedbackTypeData.map(type => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
@@ -242,8 +242,8 @@ const FeedbackScreen = ({
|
|
|
242
242
|
title: type.label,
|
|
243
243
|
description: type.description,
|
|
244
244
|
onPress: () => {
|
|
245
|
-
updateField(
|
|
246
|
-
updateField(
|
|
245
|
+
updateField("type", type.id);
|
|
246
|
+
updateField("category", "");
|
|
247
247
|
},
|
|
248
248
|
showChevron: false
|
|
249
249
|
}, type.id))
|
|
@@ -252,17 +252,17 @@ const FeedbackScreen = ({
|
|
|
252
252
|
className: "w-full mt-space-24",
|
|
253
253
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
254
254
|
className: "text-caption font-caption text-text-secondary mb-space-8",
|
|
255
|
-
children: t(
|
|
255
|
+
children: t("feedback.category.label") || "Category"
|
|
256
256
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
257
257
|
className: "w-full",
|
|
258
258
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
259
259
|
children: categoryData.map(cat => /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListItem, {
|
|
260
260
|
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_SettingsIcon.SettingsIcon, {
|
|
261
|
-
name: cat.isSelected ?
|
|
261
|
+
name: cat.isSelected ? "check-circle" : "circle-outline",
|
|
262
262
|
color: cat.isSelected ? colors.primary : colors.textSecondary
|
|
263
263
|
}),
|
|
264
264
|
title: cat.name,
|
|
265
|
-
onPress: () => updateField(
|
|
265
|
+
onPress: () => updateField("category", cat.name),
|
|
266
266
|
showChevron: false
|
|
267
267
|
}, cat.name))
|
|
268
268
|
})
|
|
@@ -273,26 +273,26 @@ const FeedbackScreen = ({
|
|
|
273
273
|
variant: "secondary",
|
|
274
274
|
onPress: goBack,
|
|
275
275
|
accessibilityLabel: "Go back",
|
|
276
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
276
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
277
277
|
name: "arrow-back",
|
|
278
278
|
size: 16,
|
|
279
279
|
color: colors.text
|
|
280
280
|
}),
|
|
281
281
|
style: styles.navButton,
|
|
282
|
-
children: t(
|
|
282
|
+
children: t("common.actions.back") || "Back"
|
|
283
283
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
284
284
|
variant: "primary",
|
|
285
285
|
onPress: nextStep,
|
|
286
286
|
disabled: !isTypeStepValid(),
|
|
287
287
|
accessibilityLabel: "Continue to next step",
|
|
288
288
|
iconPosition: "right",
|
|
289
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
289
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
290
290
|
name: "arrow-forward",
|
|
291
291
|
size: 16,
|
|
292
292
|
color: colors.primaryForeground
|
|
293
293
|
}),
|
|
294
294
|
style: styles.navButton,
|
|
295
|
-
children: t(
|
|
295
|
+
children: t("common.actions.next") || "Next"
|
|
296
296
|
})]
|
|
297
297
|
})]
|
|
298
298
|
});
|
|
@@ -303,18 +303,18 @@ const FeedbackScreen = ({
|
|
|
303
303
|
translateX: slideAnim
|
|
304
304
|
}]
|
|
305
305
|
}],
|
|
306
|
-
children: [renderStepHeader(t(
|
|
306
|
+
children: [renderStepHeader(t("feedback.details.title") || "Tell us more", t("feedback.details.subtitle") || "Provide details about your feedback"), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
307
307
|
className: "w-full gap-space-16",
|
|
308
308
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
|
|
309
309
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
|
|
310
310
|
floatingLabel: true,
|
|
311
|
-
label: t(
|
|
311
|
+
label: t("feedback.fields.title.label") || "Title",
|
|
312
312
|
value: feedbackData.title,
|
|
313
313
|
onChangeText: text => {
|
|
314
|
-
updateField(
|
|
315
|
-
setErrorMessage(
|
|
314
|
+
updateField("title", text);
|
|
315
|
+
setErrorMessage("");
|
|
316
316
|
},
|
|
317
|
-
placeholder: t(
|
|
317
|
+
placeholder: t("feedback.fields.title.placeholder") || "Brief summary of your feedback",
|
|
318
318
|
testID: "feedback-title-input",
|
|
319
319
|
accessibilityLabel: "Feedback title",
|
|
320
320
|
accessibilityHint: "Enter a brief summary of your feedback"
|
|
@@ -324,13 +324,13 @@ const FeedbackScreen = ({
|
|
|
324
324
|
floatingLabel: true,
|
|
325
325
|
multiline: true,
|
|
326
326
|
numberOfLines: 6,
|
|
327
|
-
label: t(
|
|
327
|
+
label: t("feedback.fields.description.label") || "Description",
|
|
328
328
|
value: feedbackData.description,
|
|
329
329
|
onChangeText: text => {
|
|
330
|
-
updateField(
|
|
331
|
-
setErrorMessage(
|
|
330
|
+
updateField("description", text);
|
|
331
|
+
setErrorMessage("");
|
|
332
332
|
},
|
|
333
|
-
placeholder: t(
|
|
333
|
+
placeholder: t("feedback.fields.description.placeholder") || "Please provide detailed information...",
|
|
334
334
|
testID: "feedback-description-input",
|
|
335
335
|
accessibilityLabel: "Feedback description",
|
|
336
336
|
accessibilityHint: "Provide detailed information about your feedback"
|
|
@@ -340,7 +340,7 @@ const FeedbackScreen = ({
|
|
|
340
340
|
className: "w-full mt-space-24",
|
|
341
341
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
342
342
|
className: "text-caption font-caption text-text-secondary mb-space-8",
|
|
343
|
-
children: t(
|
|
343
|
+
children: t("feedback.priority.label") || "Priority Level"
|
|
344
344
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
345
345
|
className: "w-full",
|
|
346
346
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_settingsList.SettingsListGroup, {
|
|
@@ -350,7 +350,7 @@ const FeedbackScreen = ({
|
|
|
350
350
|
color: priorityColor(p.id)
|
|
351
351
|
}),
|
|
352
352
|
title: p.label,
|
|
353
|
-
onPress: () => updateField(
|
|
353
|
+
onPress: () => updateField("priority", p.id),
|
|
354
354
|
showChevron: false
|
|
355
355
|
}, p.id))
|
|
356
356
|
})
|
|
@@ -361,26 +361,26 @@ const FeedbackScreen = ({
|
|
|
361
361
|
variant: "secondary",
|
|
362
362
|
onPress: prevStep,
|
|
363
363
|
accessibilityLabel: "Go back",
|
|
364
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
364
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
365
365
|
name: "arrow-back",
|
|
366
366
|
size: 16,
|
|
367
367
|
color: colors.text
|
|
368
368
|
}),
|
|
369
369
|
style: styles.navButton,
|
|
370
|
-
children: t(
|
|
370
|
+
children: t("common.actions.back") || "Back"
|
|
371
371
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
372
372
|
variant: "primary",
|
|
373
373
|
onPress: nextStep,
|
|
374
374
|
disabled: !isDetailsStepValid(),
|
|
375
375
|
accessibilityLabel: "Continue to next step",
|
|
376
376
|
iconPosition: "right",
|
|
377
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
377
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
378
378
|
name: "arrow-forward",
|
|
379
379
|
size: 16,
|
|
380
380
|
color: colors.primaryForeground
|
|
381
381
|
}),
|
|
382
382
|
style: styles.navButton,
|
|
383
|
-
children: t(
|
|
383
|
+
children: t("common.actions.next") || "Next"
|
|
384
384
|
})]
|
|
385
385
|
})]
|
|
386
386
|
});
|
|
@@ -391,18 +391,18 @@ const FeedbackScreen = ({
|
|
|
391
391
|
translateX: slideAnim
|
|
392
392
|
}]
|
|
393
393
|
}],
|
|
394
|
-
children: [renderStepHeader(t(
|
|
394
|
+
children: [renderStepHeader(t("feedback.contact.title") || "Contact Information", t("feedback.contact.subtitle") || "Help us get back to you"), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
395
395
|
className: "w-full",
|
|
396
396
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextField, {
|
|
397
397
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_textField.TextFieldInput, {
|
|
398
398
|
floatingLabel: true,
|
|
399
|
-
label: t(
|
|
399
|
+
label: t("feedback.fields.email.label") || "Email Address",
|
|
400
400
|
value: feedbackData.contactEmail,
|
|
401
401
|
onChangeText: text => {
|
|
402
|
-
updateField(
|
|
403
|
-
setErrorMessage(
|
|
402
|
+
updateField("contactEmail", text);
|
|
403
|
+
setErrorMessage("");
|
|
404
404
|
},
|
|
405
|
-
placeholder: user?.email || t(
|
|
405
|
+
placeholder: user?.email || t("feedback.fields.email.placeholder") || "Enter your email address",
|
|
406
406
|
keyboardType: "email-address",
|
|
407
407
|
autoCapitalize: "none",
|
|
408
408
|
autoCorrect: false,
|
|
@@ -419,10 +419,10 @@ const FeedbackScreen = ({
|
|
|
419
419
|
name: "information",
|
|
420
420
|
color: colors.info
|
|
421
421
|
}),
|
|
422
|
-
title: t(
|
|
422
|
+
title: t("feedback.contact.includeSystemInfo") || "Include system information to help us better understand your issue",
|
|
423
423
|
rightElement: /*#__PURE__*/(0, _jsxRuntime.jsx)(_switch.Switch, {
|
|
424
424
|
value: feedbackData.systemInfo,
|
|
425
|
-
onValueChange: value => updateField(
|
|
425
|
+
onValueChange: value => updateField("systemInfo", value),
|
|
426
426
|
testID: "feedback-system-info-switch"
|
|
427
427
|
}),
|
|
428
428
|
showChevron: false
|
|
@@ -434,26 +434,26 @@ const FeedbackScreen = ({
|
|
|
434
434
|
variant: "secondary",
|
|
435
435
|
onPress: prevStep,
|
|
436
436
|
accessibilityLabel: "Go back",
|
|
437
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
437
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
438
438
|
name: "arrow-back",
|
|
439
439
|
size: 16,
|
|
440
440
|
color: colors.text
|
|
441
441
|
}),
|
|
442
442
|
style: styles.navButton,
|
|
443
|
-
children: t(
|
|
443
|
+
children: t("common.actions.back") || "Back"
|
|
444
444
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
445
445
|
variant: "primary",
|
|
446
446
|
onPress: nextStep,
|
|
447
447
|
disabled: !isContactStepValid(),
|
|
448
448
|
accessibilityLabel: "Continue to summary",
|
|
449
449
|
iconPosition: "right",
|
|
450
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
450
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
451
451
|
name: "arrow-forward",
|
|
452
452
|
size: 16,
|
|
453
453
|
color: colors.primaryForeground
|
|
454
454
|
}),
|
|
455
455
|
style: styles.navButton,
|
|
456
|
-
children: t(
|
|
456
|
+
children: t("common.actions.next") || "Next"
|
|
457
457
|
})]
|
|
458
458
|
})]
|
|
459
459
|
});
|
|
@@ -475,37 +475,37 @@ const FeedbackScreen = ({
|
|
|
475
475
|
translateX: slideAnim
|
|
476
476
|
}]
|
|
477
477
|
}],
|
|
478
|
-
children: [renderStepHeader(t(
|
|
478
|
+
children: [renderStepHeader(t("feedback.summary.title") || "Summary", t("feedback.summary.subtitle") || "Please review your feedback before submitting"), /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
479
479
|
className: "w-full gap-space-12 p-space-16 rounded-radius-20 bg-fill mb-space-24",
|
|
480
|
-
children: [renderSummaryRow(t(
|
|
480
|
+
children: [renderSummaryRow(t("feedback.summary.type") || "Type:", _constants.FEEDBACK_TYPES.find(ft => ft.id === feedbackData.type)?.label), renderSummaryRow(t("feedback.summary.category") || "Category:", feedbackData.category), renderSummaryRow(t("feedback.summary.priority") || "Priority:", _constants.PRIORITY_LEVELS.find(p => p.id === feedbackData.priority)?.label), renderSummaryRow(t("feedback.summary.titleField") || "Title:", feedbackData.title), renderSummaryRow(t("feedback.summary.contact") || "Contact:", feedbackData.contactEmail || user?.email)]
|
|
481
481
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
482
482
|
variant: "primary",
|
|
483
483
|
onPress: handleSubmitFeedback,
|
|
484
|
-
disabled: feedbackState.status ===
|
|
485
|
-
loading: feedbackState.status ===
|
|
484
|
+
disabled: feedbackState.status === "submitting",
|
|
485
|
+
loading: feedbackState.status === "submitting",
|
|
486
486
|
testID: "submit-feedback-button",
|
|
487
487
|
accessibilityLabel: "Submit feedback",
|
|
488
488
|
iconPosition: "right",
|
|
489
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
489
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
490
490
|
name: "send",
|
|
491
491
|
size: 18,
|
|
492
492
|
color: colors.primaryForeground
|
|
493
493
|
}),
|
|
494
494
|
style: styles.fullWidthButton,
|
|
495
|
-
children: t(
|
|
495
|
+
children: t("feedback.actions.submit") || "Submit Feedback"
|
|
496
496
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
497
497
|
className: "flex-row mt-space-16 w-full",
|
|
498
498
|
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
499
499
|
variant: "secondary",
|
|
500
500
|
onPress: prevStep,
|
|
501
501
|
accessibilityLabel: "Go back",
|
|
502
|
-
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
502
|
+
icon: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
503
503
|
name: "arrow-back",
|
|
504
504
|
size: 16,
|
|
505
505
|
color: colors.text
|
|
506
506
|
}),
|
|
507
507
|
style: styles.navButton,
|
|
508
|
-
children: t(
|
|
508
|
+
children: t("common.actions.back") || "Back"
|
|
509
509
|
})
|
|
510
510
|
})]
|
|
511
511
|
});
|
|
@@ -520,17 +520,17 @@ const FeedbackScreen = ({
|
|
|
520
520
|
className: "w-full items-center justify-center p-space-32 gap-space-16",
|
|
521
521
|
children: [/*#__PURE__*/(0, _jsxRuntime.jsx)(_reactNative.View, {
|
|
522
522
|
className: "p-space-24 rounded-radius-max bg-fill-secondary",
|
|
523
|
-
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(
|
|
523
|
+
children: /*#__PURE__*/(0, _jsxRuntime.jsx)(_Ionicons.default, {
|
|
524
524
|
name: "checkmark-circle",
|
|
525
525
|
size: 48,
|
|
526
526
|
color: colors.success
|
|
527
527
|
})
|
|
528
528
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.H2, {
|
|
529
529
|
className: "text-headerBold font-headerBold text-text text-center",
|
|
530
|
-
children: t(
|
|
530
|
+
children: t("feedback.success.thanks") || "Thank You!"
|
|
531
531
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_typography.Text, {
|
|
532
532
|
className: "text-body font-body text-text-secondary text-center",
|
|
533
|
-
children: t(
|
|
533
|
+
children: t("feedback.success.message") || "Your feedback has been submitted successfully. We'll review it and get back to you soon."
|
|
534
534
|
}), /*#__PURE__*/(0, _jsxRuntime.jsx)(_button.Button, {
|
|
535
535
|
variant: "primary",
|
|
536
536
|
onPress: () => {
|
|
@@ -539,12 +539,12 @@ const FeedbackScreen = ({
|
|
|
539
539
|
},
|
|
540
540
|
accessibilityLabel: "Submit another feedback",
|
|
541
541
|
style: styles.fullWidthButton,
|
|
542
|
-
children: t(
|
|
542
|
+
children: t("feedback.actions.submitAnother") || "Submit Another"
|
|
543
543
|
})]
|
|
544
544
|
})
|
|
545
545
|
});
|
|
546
546
|
const renderCurrentStep = () => {
|
|
547
|
-
if (feedbackState.status ===
|
|
547
|
+
if (feedbackState.status === "success") return renderSuccessStep();
|
|
548
548
|
switch (currentStep) {
|
|
549
549
|
case 0:
|
|
550
550
|
return renderTypeStep();
|
|
@@ -561,20 +561,20 @@ const FeedbackScreen = ({
|
|
|
561
561
|
return /*#__PURE__*/(0, _jsxRuntime.jsx)(_jsxRuntime.Fragment, {
|
|
562
562
|
children: /*#__PURE__*/(0, _jsxRuntime.jsxs)(_reactNative.View, {
|
|
563
563
|
className: "px-screen-margin pt-space-24 pb-space-32",
|
|
564
|
-
children: [feedbackState.status !==
|
|
564
|
+
children: [feedbackState.status !== "success" ? renderProgress() : null, renderCurrentStep()]
|
|
565
565
|
})
|
|
566
566
|
});
|
|
567
567
|
};
|
|
568
568
|
const styles = _reactNative.StyleSheet.create({
|
|
569
569
|
stepContainer: {
|
|
570
570
|
flex: 1,
|
|
571
|
-
alignItems:
|
|
571
|
+
alignItems: "flex-start"
|
|
572
572
|
},
|
|
573
573
|
navButton: {
|
|
574
574
|
flex: 1
|
|
575
575
|
},
|
|
576
576
|
fullWidthButton: {
|
|
577
|
-
width:
|
|
577
|
+
width: "100%"
|
|
578
578
|
},
|
|
579
579
|
summaryLabel: {
|
|
580
580
|
width: 90
|