diff --git a/apps/wallet-mobile/.storybook/storybook.requires.js b/apps/wallet-mobile/.storybook/storybook.requires.js index 6de262169c..21011eaba6 100644 --- a/apps/wallet-mobile/.storybook/storybook.requires.js +++ b/apps/wallet-mobile/.storybook/storybook.requires.js @@ -75,6 +75,7 @@ const getStories = () => { "./src/components/ExpandableInfoCard/ExpandableInfoCard.stories.tsx": require("../src/components/ExpandableInfoCard/ExpandableInfoCard.stories.tsx"), "./src/components/HideableText/HideableText.stories.tsx": require("../src/components/HideableText/HideableText.stories.tsx"), "./src/components/Icon/Icon.stories.tsx": require("../src/components/Icon/Icon.stories.tsx"), + "./src/components/InfoBanner/InfoBanner.stories.tsx": require("../src/components/InfoBanner/InfoBanner.stories.tsx"), "./src/components/LanguagePicker/LanguagePicker.stories.tsx": require("../src/components/LanguagePicker/LanguagePicker.stories.tsx"), "./src/components/LanguagePicker/LanguagePickerWarning.stories.tsx": require("../src/components/LanguagePicker/LanguagePickerWarning.stories.tsx"), "./src/components/legacy/Modal/Modal.stories.tsx": require("../src/components/legacy/Modal/Modal.stories.tsx"), @@ -87,6 +88,7 @@ const getStories = () => { "./src/components/PairedBalance/PairedBalance.stories.tsx": require("../src/components/PairedBalance/PairedBalance.stories.tsx"), "./src/components/PressableIcon/PressableIcon.stories.tsx": require("../src/components/PressableIcon/PressableIcon.stories.tsx"), "./src/components/ShareQRCodeCard/ShareQRCodeCard.stories.tsx": require("../src/components/ShareQRCodeCard/ShareQRCodeCard.stories.tsx"), + "./src/components/SimpleTab/SimpleTab.stories.tsx": require("../src/components/SimpleTab/SimpleTab.stories.tsx"), "./src/components/SomethingWentWrong/SomethingWentWrong.stories.tsx": require("../src/components/SomethingWentWrong/SomethingWentWrong.stories.tsx"), "./src/components/StepperProgress/StepperProgress.stories.tsx": require("../src/components/StepperProgress/StepperProgress.stories.tsx"), "./src/components/TextInput/TextInput.stories.tsx": require("../src/components/TextInput/TextInput.stories.tsx"), @@ -120,7 +122,6 @@ const getStories = () => { "./src/features/Discover/useCases/SearchDappInBrowser/SearchDappInBrowserScreen.stories.tsx": require("../src/features/Discover/useCases/SearchDappInBrowser/SearchDappInBrowserScreen.stories.tsx"), "./src/features/Discover/useCases/SelectDappFromList/CountDAppsAvailable/CountDAppsAvailable.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/CountDAppsAvailable/CountDAppsAvailable.stories.tsx"), "./src/features/Discover/useCases/SelectDappFromList/CountDAppsConnected/CountDAppsConnected.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/CountDAppsConnected/CountDAppsConnected.stories.tsx"), - "./src/features/Discover/useCases/SelectDappFromList/DAppExplorerTabItem/DAppExplorerTabItem.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppExplorerTabItem/DAppExplorerTabItem.stories.tsx"), "./src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppItemSkeleton.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppItemSkeleton.stories.tsx"), "./src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppListItem.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppListItem/DAppListItem.stories.tsx"), "./src/features/Discover/useCases/SelectDappFromList/DAppTypes/DAppTypes.stories.tsx": require("../src/features/Discover/useCases/SelectDappFromList/DAppTypes/DAppTypes.stories.tsx"), @@ -167,13 +168,11 @@ const getStories = () => { "./src/features/Receive/common/SmallAddressCard/SmallAddressCard.stories.tsx": require("../src/features/Receive/common/SmallAddressCard/SmallAddressCard.stories.tsx"), "./src/features/RegisterCatalyst/useCases/ConfirmVotingTx/ConfirmVotingTx.stories.tsx": require("../src/features/RegisterCatalyst/useCases/ConfirmVotingTx/ConfirmVotingTx.stories.tsx"), "./src/features/RegisterCatalyst/useCases/ShowQrCode/ShowQrCode.stories.tsx": require("../src/features/RegisterCatalyst/useCases/ShowQrCode/ShowQrCode.stories.tsx"), - "./src/features/Scan/common/CodeScannerButton.stories.tsx": require("../src/features/Scan/common/CodeScannerButton.stories.tsx"), "./src/features/Scan/illustrations/Ilustrations.stories.tsx": require("../src/features/Scan/illustrations/Ilustrations.stories.tsx"), "./src/features/Scan/useCases/ScanCodeScreen.stories.tsx": require("../src/features/Scan/useCases/ScanCodeScreen.stories.tsx"), "./src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/OpenDeviceAppSettingsButton.stories.tsx": require("../src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/OpenDeviceAppSettingsButton.stories.tsx"), "./src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/ShowCameraPermissionDeniedScreen.stories.tsx": require("../src/features/Scan/useCases/ShowCameraPermissionDeniedScreen/ShowCameraPermissionDeniedScreen.stories.tsx"), "./src/features/Send/common/ButtonGroup/ButtonGroup.stories.tsx": require("../src/features/Send/common/ButtonGroup/ButtonGroup.stories.tsx"), - "./src/features/Send/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/ConfirmTxScreen.stories.tsx"), "./src/features/Send/useCases/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx"), "./src/features/Send/useCases/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx": require("../src/features/Send/useCases/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx"), "./src/features/Send/useCases/ListAmountsToSend/AddToken/AddToken.stories.tsx": require("../src/features/Send/useCases/ListAmountsToSend/AddToken/AddToken.stories.tsx"), @@ -195,7 +194,6 @@ const getStories = () => { "./src/features/Settings/Currency/ChangeCurrencyScreen.stories.tsx": require("../src/features/Settings/Currency/ChangeCurrencyScreen.stories.tsx"), "./src/features/Settings/EasyConfirmation/EasyConfirmationScreen.stories.tsx": require("../src/features/Settings/EasyConfirmation/EasyConfirmationScreen.stories.tsx"), "./src/features/Settings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx": require("../src/features/Settings/EnableLoginWithOs/EnableLoginWithOsScreen.stories.tsx"), - "./src/features/Settings/ManageCollateral/ConfirmTx/ConfirmTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/ConfirmTxScreen.stories.tsx"), "./src/features/Settings/ManageCollateral/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/FailedTx/FailedTxScreen.stories.tsx"), "./src/features/Settings/ManageCollateral/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ConfirmTx/SubmittedTx/SubmittedTxScreen.stories.tsx"), "./src/features/Settings/ManageCollateral/ManageCollateralScreen.stories.tsx": require("../src/features/Settings/ManageCollateral/ManageCollateralScreen.stories.tsx"), diff --git a/apps/wallet-mobile/android/app/build.gradle b/apps/wallet-mobile/android/app/build.gradle index df5d618f3b..e17bac61df 100644 --- a/apps/wallet-mobile/android/app/build.gradle +++ b/apps/wallet-mobile/android/app/build.gradle @@ -108,8 +108,8 @@ android { applicationId "com.emurgo" minSdkVersion rootProject.ext.minSdkVersion targetSdkVersion rootProject.ext.targetSdkVersion - versionCode 711 - versionName "4.28.3" + versionCode 723 + versionName "5.0.0" testBuildType System.getProperty('testBuildType', 'debug') testInstrumentationRunner 'androidx.test.runner.AndroidJUnitRunner' } diff --git a/apps/wallet-mobile/ios/nightly.plist b/apps/wallet-mobile/ios/nightly.plist index 8514a5dad1..bfb97418cb 100644 --- a/apps/wallet-mobile/ios/nightly.plist +++ b/apps/wallet-mobile/ios/nightly.plist @@ -17,11 +17,11 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.28.3 + 5.0.0 CFBundleSignature ???? CFBundleVersion - 598 + 610 ITSAppUsesNonExemptEncryption LSApplicationCategoryType diff --git a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj index ee9f754781..2069522357 100644 --- a/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj +++ b/apps/wallet-mobile/ios/yoroi.xcodeproj/project.pbxproj @@ -839,7 +839,7 @@ CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 598; + CURRENT_PROJECT_VERSION = 610; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENABLE_BITCODE = NO; @@ -884,7 +884,7 @@ CODE_SIGN_ENTITLEMENTS = yoroi/yoroi.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 598; + CURRENT_PROJECT_VERSION = 610; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENVFILE = "$(PODS_ROOT)/../../.env.production"; @@ -1079,7 +1079,7 @@ CODE_SIGN_ENTITLEMENTS = nightly.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 598; + CURRENT_PROJECT_VERSION = 610; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENABLE_BITCODE = NO; @@ -1124,7 +1124,7 @@ CODE_SIGN_ENTITLEMENTS = nightly.entitlements; CODE_SIGN_IDENTITY = "iPhone Distribution"; CODE_SIGN_STYLE = Manual; - CURRENT_PROJECT_VERSION = 598; + CURRENT_PROJECT_VERSION = 610; DEVELOPMENT_TEAM = ""; "DEVELOPMENT_TEAM[sdk=iphoneos*]" = F8NVT2G2L4; ENVFILE = "$(PODS_ROOT)/../../.env.nightly"; diff --git a/apps/wallet-mobile/ios/yoroi/Info.plist b/apps/wallet-mobile/ios/yoroi/Info.plist index ecd612f1e2..3f660bb24f 100644 --- a/apps/wallet-mobile/ios/yoroi/Info.plist +++ b/apps/wallet-mobile/ios/yoroi/Info.plist @@ -17,7 +17,7 @@ CFBundlePackageType APPL CFBundleShortVersionString - 4.28.3 + 5.0.0 CFBundleSignature ???? CFBundleURLTypes @@ -34,7 +34,7 @@ CFBundleVersion - 598 + 610 ITSAppUsesNonExemptEncryption LSApplicationCategoryType diff --git a/apps/wallet-mobile/ios/yoroiTests/Info.plist b/apps/wallet-mobile/ios/yoroiTests/Info.plist index 398f20ca78..0b7db96fc6 100644 --- a/apps/wallet-mobile/ios/yoroiTests/Info.plist +++ b/apps/wallet-mobile/ios/yoroiTests/Info.plist @@ -15,10 +15,10 @@ CFBundlePackageType BNDL CFBundleShortVersionString - 4.28.3 + 5.0.0 CFBundleSignature ???? CFBundleVersion - 598 + 610 diff --git a/apps/wallet-mobile/src/AppNavigator.tsx b/apps/wallet-mobile/src/AppNavigator.tsx index 9057d5410f..108013fb24 100644 --- a/apps/wallet-mobile/src/AppNavigator.tsx +++ b/apps/wallet-mobile/src/AppNavigator.tsx @@ -9,6 +9,7 @@ import {Alert, AppState, AppStateStatus, InteractionManager, Platform} from 'rea import RNBootSplash from 'react-native-bootsplash' import StorybookScreen from '../.storybook' +import {ClipboardProvider} from './components/Clipboard/ClipboardProvider' import {ModalProvider} from './components/Modal/ModalContext' import {ModalScreen} from './components/Modal/ModalScreen' import {useAuth} from './features/Auth/AuthProvider' @@ -31,7 +32,6 @@ import { useShowDarkThemeAnnouncementScreen, } from './features/Initialization/DarkThemeAnnouncement/DarkThemeAnnouncement' import {useDeepLinkWatcher} from './features/Links/common/useDeepLinkWatcher' -import {PortfolioScreen} from './features/Portfolio/useCases/PortfolioScreen' import {SearchProvider} from './features/Search/SearchContext' import {SetupWalletNavigator} from './features/SetupWallet/SetupWalletNavigator' import {useHasWallets} from './features/WalletManager/common/hooks/useHasWallets' @@ -100,114 +100,114 @@ export const AppNavigator = () => { onReady={onReady} ref={navRef} > - - - {/* Not Authenticated */} - - {isLoggedOut && ( - - {firstAction === 'first-run' && ( - - {() => ( - - - - )} - - )} - - {firstAction === 'show-agreement-changed-notice' && ( - {() => } - )} - - {firstAction === 'auth-with-pin' && ( - - )} - - {firstAction === 'auth-with-os' && ( - - )} - - {firstAction === 'request-new-pin' && ( - - )} - - )} - - {/* Authenticated */} - - {isLoggedIn && ( - <> + + + + {/* Not Authenticated */} + + {isLoggedOut && ( - {afterLoginAction === 'choose-biometric-login' && ( - + {firstAction === 'first-run' && ( + + {() => ( + + + + )} + )} - {afterLoginAction === 'dark-theme-announcement' && ( - + {firstAction === 'show-agreement-changed-notice' && ( + {() => } )} - {afterLoginAction === 'setup-wallet' && ( - )} - {afterLoginAction === 'manage-wallets' && ( - WalletNavigator} /> + {firstAction === 'auth-with-os' && ( + )} - - - + {firstAction === 'request-new-pin' && ( + + )} - - )} + )} + + {/* Authenticated */} + + {isLoggedIn && ( + <> + + {afterLoginAction === 'choose-biometric-login' && ( + + )} - {/* Development */} + {afterLoginAction === 'dark-theme-announcement' && ( + + )} - {__DEV__ && ( - - + {afterLoginAction === 'setup-wallet' && ( + + )} - + {afterLoginAction === 'manage-wallets' && ( + WalletNavigator} /> + )} + + + + + + + )} + + {/* Development */} + + {__DEV__ && ( + + - + - - - )} - - + + + )} + + + ) } diff --git a/apps/wallet-mobile/src/WalletNavigator.tsx b/apps/wallet-mobile/src/WalletNavigator.tsx index 8a1345c895..c1d3857a7f 100644 --- a/apps/wallet-mobile/src/WalletNavigator.tsx +++ b/apps/wallet-mobile/src/WalletNavigator.tsx @@ -10,7 +10,6 @@ import { swapStorageMaker, } from '@yoroi/swap' import {useTheme} from '@yoroi/theme' -import {TransferProvider} from '@yoroi/transfer' import {Swap} from '@yoroi/types' import React from 'react' import {defineMessages, useIntl} from 'react-intl' @@ -25,6 +24,7 @@ import {useLinksShowActionResult} from './features/Links/common/useLinksShowActi import {MenuNavigator} from './features/Menu/Menu' import {PortfolioNavigator} from './features/Portfolio/PortfolioNavigator' import {CatalystNavigator} from './features/RegisterCatalyst/CatalystNavigator' +import {ReviewTxNavigator} from './features/ReviewTx/ReviewTxNavigator' import {SearchProvider} from './features/Search/SearchContext' import {SettingsScreenNavigator} from './features/Settings' import {NetworkTag} from './features/Settings/ChangeNetwork/NetworkTag' @@ -149,6 +149,7 @@ const WalletTabNavigator = () => { focused ? ( @@ -199,7 +200,6 @@ const WalletTabNavigator = () => { ), tabBarLabel: strings.menuTabBarLabel, tabBarTestID: 'menuTabBarButton', - headerTitle: ({children}) => {children}, }} /> @@ -233,51 +233,51 @@ export const WalletNavigator = () => { } return ( - - - + + {children}, }} - > - {children}, - }} - component={SelectWalletFromList} - /> + component={SelectWalletFromList} + /> - + - + - + - CatalystNavigator} - /> + - + CatalystNavigator} + /> + + - + - - - - + + + ) } @@ -294,12 +294,12 @@ const useStyles = () => { const colors = { active: color.text_primary_max, - inactive: color.text_gray_medium, + inactive: color.text_gray_low, background: color.bg_color_max, divider: color.gray_200, } - return {colors, styles} + return {colors, styles} as const } const messages = defineMessages({ diff --git a/apps/wallet-mobile/src/YoroiApp.tsx b/apps/wallet-mobile/src/YoroiApp.tsx index 97c06b05aa..655676b9c4 100644 --- a/apps/wallet-mobile/src/YoroiApp.tsx +++ b/apps/wallet-mobile/src/YoroiApp.tsx @@ -2,6 +2,7 @@ import {AsyncStorageProvider} from '@yoroi/common' import {LinksProvider} from '@yoroi/links' import {SetupWalletProvider} from '@yoroi/setup-wallet' import {ThemeProvider} from '@yoroi/theme' +import {TransferProvider} from '@yoroi/transfer' import React from 'react' import {LogBox, StyleSheet} from 'react-native' import * as RNP from 'react-native-paper' @@ -14,6 +15,7 @@ import {ErrorBoundary} from './components/ErrorBoundary/ErrorBoundary' import {AuthProvider} from './features/Auth/AuthProvider' import {BrowserProvider} from './features/Discover/common/BrowserProvider' import {PortfolioTokenActivityProvider} from './features/Portfolio/common/PortfolioTokenActivityProvider' +import {ReviewTxProvider} from './features/ReviewTx/common/ReviewTxProvider' import {CurrencyProvider} from './features/Settings/Currency/CurrencyContext' import {AutomaticWalletOpenerProvider} from './features/WalletManager/context/AutomaticWalletOpeningProvider' import {WalletManagerProvider} from './features/WalletManager/context/WalletManagerProvider' @@ -58,17 +60,21 @@ const Yoroi = () => { - - - - - - - - - - - + + + + + + + + + + + + + + + diff --git a/apps/wallet-mobile/src/components/Analytics/Analytics.tsx b/apps/wallet-mobile/src/components/Analytics/Analytics.tsx index 1f580b428f..0e433a0a40 100644 --- a/apps/wallet-mobile/src/components/Analytics/Analytics.tsx +++ b/apps/wallet-mobile/src/components/Analytics/Analytics.tsx @@ -4,12 +4,12 @@ import {defineMessages, useIntl} from 'react-intl' import {StyleSheet, TextStyle, TouchableOpacity, useWindowDimensions, View} from 'react-native' import {ScrollView} from 'react-native-gesture-handler' -import {Button} from '../../components/Button/Button' import {Spacer} from '../../components/Spacer/Spacer' import {Text} from '../../components/Text' import {YoroiLogo} from '../../components/YoroiLogo/YoroiLogo' import {SettingsSwitch} from '../../features/Settings/common/SettingsSwitch' import {useMetrics} from '../../kernel/metrics/metricsManager' +import {Button, ButtonType} from '../Button/Button' import {AnalyticsImage} from './AnalyticsImage' type Props = { @@ -64,15 +64,13 @@ const Notice = ({onClose, onReadMore}: {onClose?: () => void; onReadMore?: () =>