diff --git a/apps/wallet-mobile/.storybook/storybook.requires.js b/apps/wallet-mobile/.storybook/storybook.requires.js index 8a483968d7..215445c5ce 100644 --- a/apps/wallet-mobile/.storybook/storybook.requires.js +++ b/apps/wallet-mobile/.storybook/storybook.requires.js @@ -123,6 +123,7 @@ 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/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx": require("../src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx"), "./src/features/Settings/RemoveWallet/RemoveWalletScreen.stories.tsx": require("../src/features/Settings/RemoveWallet/RemoveWalletScreen.stories.tsx"), "./src/features/Settings/TermsOfService/TermsOfServiceScreen.stories.tsx": require("../src/features/Settings/TermsOfService/TermsOfServiceScreen.stories.tsx"), "./src/features/Settings/WalletSettings/WalletSettingsScreen.stories.tsx": require("../src/features/Settings/WalletSettings/WalletSettingsScreen.stories.tsx"), diff --git a/apps/wallet-mobile/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx b/apps/wallet-mobile/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx index 453462be30..3c07ebeb61 100644 --- a/apps/wallet-mobile/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx +++ b/apps/wallet-mobile/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx @@ -81,6 +81,12 @@ export const ApplicationSettingsScreen = () => { onNavigate={() => settingsNavigation.navigate('terms-of-use')} /> + } + label={strings.privacyPolicy} + onNavigate={() => settingsNavigation.navigate('privacy-policy')} + /> + {features.analytics && ( } @@ -196,6 +202,7 @@ const useStrings = () => { crashReporting: intl.formatMessage(messages.crashReporting), crashReportingInfo: intl.formatMessage(messages.crashReportingInfo), analytics: intl.formatMessage(messages.analytics), + privacyPolicy: intl.formatMessage(messages.privacyPolicy), } } @@ -256,6 +263,10 @@ const messages = defineMessages({ id: 'components.settings.applicationsettingsscreen.analytics', defaultMessage: '!!!Analytics', }, + privacyPolicy: { + id: 'components.settings.applicationsettingsscreen.privacyPolicy', + defaultMessage: '!!!Privacy Policy', + }, }) const styles = StyleSheet.create({ diff --git a/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx new file mode 100644 index 0000000000..f18ada3760 --- /dev/null +++ b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.stories.tsx @@ -0,0 +1,15 @@ +import {storiesOf} from '@storybook/react-native' +import React from 'react' +import {StyleSheet, View} from 'react-native' + +import {PrivacyPolicyScreen} from './PrivacyPolicyScreen' + +const styles = StyleSheet.create({ + decorator: { + flex: 1, + }, +}) + +storiesOf('PrivacyPolicyScreen', module) + .addDecorator((getStory) => {getStory()}) + .add('Default', () => ) diff --git a/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.tsx b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.tsx new file mode 100644 index 0000000000..d17ed7b40f --- /dev/null +++ b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/PrivacyPolicyScreen.tsx @@ -0,0 +1,30 @@ +import React from 'react' +import {ScrollView, StyleSheet} from 'react-native' +import {SafeAreaView} from 'react-native-safe-area-context' + +import {StatusBar} from '../../../components' +import {useLanguage} from '../../../i18n' +import {PrivacyPolicy} from '../../../Legal' + +export const PrivacyPolicyScreen = () => { + const {languageCode} = useLanguage() + + return ( + + + + + + + + ) +} +const styles = StyleSheet.create({ + safeAreaView: { + backgroundColor: '#fff', + flex: 1, + }, + contentContainer: { + padding: 16, + }, +}) diff --git a/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/index.ts b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/index.ts new file mode 100644 index 0000000000..258063c1f4 --- /dev/null +++ b/apps/wallet-mobile/src/features/Settings/PrivacyPolicy/index.ts @@ -0,0 +1 @@ +export {PrivacyPolicyScreen} from './PrivacyPolicyScreen' diff --git a/apps/wallet-mobile/src/features/Settings/SettingsScreenNavigator.tsx b/apps/wallet-mobile/src/features/Settings/SettingsScreenNavigator.tsx index e18578eb82..62d61cdc19 100644 --- a/apps/wallet-mobile/src/features/Settings/SettingsScreenNavigator.tsx +++ b/apps/wallet-mobile/src/features/Settings/SettingsScreenNavigator.tsx @@ -18,6 +18,7 @@ import {ChangeWalletName} from './ChangeWalletName' import {ChangeCurrencyScreen} from './Currency/ChangeCurrencyScreen' import {DisableEasyConfirmationScreen, EnableEasyConfirmationScreen} from './EasyConfirmation' import {EnableLoginWithOsScreen} from './EnableLoginWithOs' +import {PrivacyPolicyScreen} from './PrivacyPolicy' import {RemoveWalletScreen} from './RemoveWallet' import {TermsOfServiceScreen} from './TermsOfService' import {WalletSettingsScreen} from './WalletSettings' @@ -59,6 +60,12 @@ export const SettingsScreenNavigator = () => { options={{title: strings.termsOfServiceTitle}} /> + + { @@ -247,5 +258,6 @@ const useStrings = () => { currency: intl.formatMessage(globalMessages.currency), aboutTitle: intl.formatMessage(messages.aboutTitle), appSettingsTitle: intl.formatMessage(messages.appSettingsTitle), + privacyPolicyTitle: intl.formatMessage(messages.privacyPolicyTitle), } } diff --git a/apps/wallet-mobile/src/i18n/locales/en-US.json b/apps/wallet-mobile/src/i18n/locales/en-US.json index a641b8fd7a..30ca75844c 100644 --- a/apps/wallet-mobile/src/i18n/locales/en-US.json +++ b/apps/wallet-mobile/src/i18n/locales/en-US.json @@ -250,6 +250,7 @@ "components.settings.applicationsettingsscreen.walletType": "Wallet type", "components.settings.applicationsettingsscreen.analytics": "Analytics", "components.settings.applicationsettingsscreen.analyticsTitle": "User Insights", + "components.settings.applicationsettingsscreen.privacyPolicy": "Privacy Policy", "components.send.sendscreen.submittedTxTitle": "Transaction submitted", "components.send.sendscreen.submittedTxText": "Check this transaction in the list of wallet transactions", "components.send.sendscreen.submittedTxButton": "Go to transactions", @@ -306,6 +307,7 @@ "components.settings.settingsscreen.reportUrl": "https://yoroi-wallet.com/support/", "components.settings.settingsscreen.title": "Support", "components.settings.termsofservicescreen.title": "Terms of Service Agreement", + "components.settings.privacypolicyscreen.title": "Privacy Policy", "components.settings.disableeasyconfirmationscreen.disableButton": "Disable", "components.settings.disableeasyconfirmationscreen.disableHeading": "By disabling this option, you will be able to spend your assets only with your master password.", "components.settings.disableeasyconfirmationscreen.title": "Disable easy confirmation", diff --git a/apps/wallet-mobile/src/navigation.tsx b/apps/wallet-mobile/src/navigation.tsx index b78d4e08d8..10e36c3dc5 100644 --- a/apps/wallet-mobile/src/navigation.tsx +++ b/apps/wallet-mobile/src/navigation.tsx @@ -215,6 +215,7 @@ export type SettingsStackRoutes = { 'disable-easy-confirmation': undefined 'change-password': undefined 'change-custom-pin': undefined + 'privacy-policy': undefined 'enable-login-with-pin': { onSuccess: () => void | Promise } diff --git a/apps/wallet-mobile/translations/messages/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.json b/apps/wallet-mobile/translations/messages/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.json index ee874607c2..2080aead9c 100644 --- a/apps/wallet-mobile/translations/messages/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.json +++ b/apps/wallet-mobile/translations/messages/src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!General", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 203, + "line": 210, "column": 11, - "index": 6912 + "index": 7195 }, "end": { - "line": 206, + "line": 213, "column": 3, - "index": 7022 + "index": 7305 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!Security & Reporting", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 207, + "line": 214, "column": 21, - "index": 7045 + "index": 7328 }, "end": { - "line": 210, + "line": 217, "column": 3, - "index": 7178 + "index": 7461 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!Language", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 211, + "line": 218, "column": 18, - "index": 7198 + "index": 7481 }, "end": { - "line": 214, + "line": 221, "column": 3, - "index": 7310 + "index": 7593 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!Fiat Currency", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 215, + "line": 222, "column": 22, - "index": 7334 + "index": 7617 }, "end": { - "line": 218, + "line": 225, "column": 3, - "index": 7455 + "index": 7738 } }, { @@ -64,14 +64,14 @@ "defaultMessage": "!!!About", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 219, + "line": 226, "column": 9, - "index": 7466 + "index": 7749 }, "end": { - "line": 222, + "line": 229, "column": 3, - "index": 7566 + "index": 7849 } }, { @@ -79,14 +79,14 @@ "defaultMessage": "!!!Terms of Service Agreement", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 223, + "line": 230, "column": 18, - "index": 7586 + "index": 7869 }, "end": { - "line": 226, + "line": 233, "column": 3, - "index": 7713 + "index": 7996 } }, { @@ -94,14 +94,14 @@ "defaultMessage": "!!!Change PIN", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 227, + "line": 234, "column": 13, - "index": 7728 + "index": 8011 }, "end": { - "line": 230, + "line": 237, "column": 3, - "index": 7837 + "index": 8120 } }, { @@ -109,14 +109,14 @@ "defaultMessage": "!!!Hide balance", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 231, + "line": 238, "column": 15, - "index": 7854 + "index": 8137 }, "end": { - "line": 234, + "line": 241, "column": 3, - "index": 7967 + "index": 8250 } }, { @@ -124,14 +124,14 @@ "defaultMessage": "!!!This function will be applied to all wallets in your app", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 235, + "line": 242, "column": 19, - "index": 7988 + "index": 8271 }, "end": { - "line": 238, + "line": 245, "column": 3, - "index": 8149 + "index": 8432 } }, { @@ -139,14 +139,14 @@ "defaultMessage": "!!!Sign in with your biometrics", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 239, + "line": 246, "column": 20, - "index": 8171 + "index": 8454 }, "end": { - "line": 242, + "line": 249, "column": 3, - "index": 8305 + "index": 8588 } }, { @@ -154,14 +154,14 @@ "defaultMessage": "!!!Changes to this option will be reflected after restarting the application", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 243, + "line": 250, "column": 24, - "index": 8331 + "index": 8614 }, "end": { - "line": 246, + "line": 253, "column": 3, - "index": 8514 + "index": 8797 } }, { @@ -169,14 +169,14 @@ "defaultMessage": "!!!Send crash report to Emurgo", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 247, + "line": 254, "column": 18, - "index": 8534 + "index": 8817 }, "end": { - "line": 250, + "line": 257, "column": 3, - "index": 8665 + "index": 8948 } }, { @@ -184,14 +184,14 @@ "defaultMessage": "!!!Changes to this option will be reflected after restarting the application", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 251, + "line": 258, "column": 22, - "index": 8689 + "index": 8972 }, "end": { - "line": 254, + "line": 261, "column": 3, - "index": 8870 + "index": 9153 } }, { @@ -199,14 +199,29 @@ "defaultMessage": "!!!Analytics", "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", "start": { - "line": 255, + "line": 262, "column": 13, - "index": 8885 + "index": 9168 }, "end": { - "line": 258, + "line": 265, + "column": 3, + "index": 9276 + } + }, + { + "id": "components.settings.applicationsettingsscreen.privacyPolicy", + "defaultMessage": "!!!Privacy Policy", + "file": "src/features/Settings/ApplicationSettings/ApplicationSettingsScreen.tsx", + "start": { + "line": 266, + "column": 17, + "index": 9295 + }, + "end": { + "line": 269, "column": 3, - "index": 8993 + "index": 9412 } } ] \ No newline at end of file diff --git a/apps/wallet-mobile/translations/messages/src/features/Settings/SettingsScreenNavigator.json b/apps/wallet-mobile/translations/messages/src/features/Settings/SettingsScreenNavigator.json index 9e01e0dff3..01cb1deed6 100644 --- a/apps/wallet-mobile/translations/messages/src/features/Settings/SettingsScreenNavigator.json +++ b/apps/wallet-mobile/translations/messages/src/features/Settings/SettingsScreenNavigator.json @@ -4,14 +4,14 @@ "defaultMessage": "!!!Wallet", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 177, + "line": 175, "column": 18, - "index": 5462 + "index": 5397 }, "end": { - "line": 180, + "line": 178, "column": 3, - "index": 5560 + "index": 5495 } }, { @@ -19,14 +19,14 @@ "defaultMessage": "!!!Application", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 181, + "line": 179, "column": 15, - "index": 5577 + "index": 5512 }, "end": { - "line": 184, + "line": 182, "column": 3, - "index": 5686 + "index": 5621 } }, { @@ -34,14 +34,14 @@ "defaultMessage": "!!!Change PIN", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 185, + "line": 183, "column": 24, - "index": 5712 + "index": 5647 }, "end": { - "line": 188, + "line": 186, "column": 3, - "index": 5821 + "index": 5756 } }, { @@ -49,14 +49,14 @@ "defaultMessage": "!!!Change spending password", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 189, + "line": 187, "column": 23, - "index": 5846 + "index": 5781 }, "end": { - "line": 192, + "line": 190, "column": 3, - "index": 5960 + "index": 5895 } }, { @@ -64,14 +64,14 @@ "defaultMessage": "!!!Remove wallet", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 193, + "line": 191, "column": 21, - "index": 5983 + "index": 5918 }, "end": { - "line": 196, + "line": 194, "column": 3, - "index": 6084 + "index": 6019 } }, { @@ -79,14 +79,14 @@ "defaultMessage": "!!!Terms of Service Agreement", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 197, + "line": 195, "column": 23, - "index": 6109 + "index": 6044 }, "end": { - "line": 200, + "line": 198, "column": 3, - "index": 6225 + "index": 6160 } }, { @@ -94,14 +94,14 @@ "defaultMessage": "!!!Change wallet name", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 201, + "line": 199, "column": 25, - "index": 6252 + "index": 6187 }, "end": { - "line": 204, + "line": 202, "column": 3, - "index": 6356 + "index": 6291 } }, { @@ -109,14 +109,14 @@ "defaultMessage": "!!!Support", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 205, + "line": 203, "column": 16, - "index": 6374 + "index": 6309 }, "end": { - "line": 208, + "line": 206, "column": 3, - "index": 6465 + "index": 6400 } }, { @@ -124,14 +124,14 @@ "defaultMessage": "!!!Easy confirmation", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 209, + "line": 207, "column": 31, - "index": 6498 + "index": 6433 }, "end": { - "line": 212, + "line": 210, "column": 3, - "index": 6613 + "index": 6548 } }, { @@ -139,14 +139,14 @@ "defaultMessage": "!!!Easy confirmation", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 213, + "line": 211, "column": 32, - "index": 6647 + "index": 6582 }, "end": { - "line": 216, + "line": 214, "column": 3, - "index": 6763 + "index": 6698 } }, { @@ -154,14 +154,14 @@ "defaultMessage": "!!!Set PIN", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 217, + "line": 215, "column": 18, - "index": 6783 + "index": 6718 }, "end": { - "line": 220, + "line": 218, "column": 3, - "index": 6881 + "index": 6816 } }, { @@ -169,14 +169,14 @@ "defaultMessage": "!!!Settings", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 221, + "line": 219, "column": 17, - "index": 6900 + "index": 6835 }, "end": { - "line": 224, + "line": 222, "column": 3, - "index": 7003 + "index": 6938 } }, { @@ -184,14 +184,14 @@ "defaultMessage": "!!!Language", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 225, + "line": 223, "column": 17, - "index": 7022 + "index": 6957 }, "end": { - "line": 228, + "line": 226, "column": 3, - "index": 7120 + "index": 7055 } }, { @@ -199,14 +199,14 @@ "defaultMessage": "!!!App settings", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 229, + "line": 227, "column": 20, - "index": 7142 + "index": 7077 }, "end": { - "line": 232, + "line": 230, "column": 3, - "index": 7260 + "index": 7195 } }, { @@ -214,29 +214,29 @@ "defaultMessage": "!!!About", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 233, + "line": 231, "column": 14, - "index": 7276 + "index": 7211 }, "end": { - "line": 236, + "line": 234, "column": 3, - "index": 7376 + "index": 7311 } }, { - "id": "components.settings.applicationsettingsscreen.analyticsTitle", - "defaultMessage": "!!!User Insights", + "id": "components.settings.privacypolicyscreen.title", + "defaultMessage": "!!!Privacy Policy", "file": "src/features/Settings/SettingsScreenNavigator.tsx", "start": { - "line": 237, - "column": 16, - "index": 7394 + "line": 235, + "column": 22, + "index": 7335 }, "end": { - "line": 240, + "line": 238, "column": 3, - "index": 7511 + "index": 7438 } } ] \ No newline at end of file