diff --git a/assets/Backup.svg b/assets/Backup.svg new file mode 100644 index 00000000..937d6f8a --- /dev/null +++ b/assets/Backup.svg @@ -0,0 +1,3 @@ + + + diff --git a/components/ui/svg.tsx b/components/ui/svg.tsx index 282f912a..59d6f86a 100644 --- a/components/ui/svg.tsx +++ b/components/ui/svg.tsx @@ -23,6 +23,7 @@ import MagnifierZoom from '../../assets/Magnifier_Zoom.svg'; import GoogleDriveIcon from '../../assets/google-drive-28.svg'; import {displayType} from '../../machines/issuersMachine'; import {IssuerProps} from '../openId4VCI/Issuer'; +import Backup from '../../assets/Backup.svg'; import { EsignetMosipVCItemContentProps, ExistingMosipVCItemContentProps, @@ -187,6 +188,17 @@ export class SvgImage { ); } + static DataBackupIcon() { + return ( + + ); + } + static SuccessLogo() { return ; } diff --git a/components/ui/themes/DefaultTheme.ts b/components/ui/themes/DefaultTheme.ts index 346aafee..30345fb3 100644 --- a/components/ui/themes/DefaultTheme.ts +++ b/components/ui/themes/DefaultTheme.ts @@ -994,6 +994,13 @@ export const DefaultTheme = { marginVertical: 6, }, }), + BackupStyles: StyleSheet.create({ + newStyles: { + backgroundColor: Colors.Orange, + paddingHorizontal: 10, + borderRadius: 3, + }, + }), UpdateModalStyles: StyleSheet.create({ modal: { width: Dimensions.get('screen').width, diff --git a/components/ui/themes/PurpleTheme.ts b/components/ui/themes/PurpleTheme.ts index 8e73a414..90def890 100644 --- a/components/ui/themes/PurpleTheme.ts +++ b/components/ui/themes/PurpleTheme.ts @@ -998,6 +998,13 @@ export const PurpleTheme = { marginVertical: 6, }, }), + BackupStyles: StyleSheet.create({ + newStyles: { + backgroundColor: Colors.Orange, + paddingHorizontal: 10, + borderRadius: 3, + }, + }), UpdateModalStyles: StyleSheet.create({ modal: { width: Dimensions.get('screen').width, diff --git a/screens/Settings/DataBackup.tsx b/screens/Settings/DataBackup.tsx index 776627bb..cefabf9f 100644 --- a/screens/Settings/DataBackup.tsx +++ b/screens/Settings/DataBackup.tsx @@ -1,10 +1,11 @@ import React, {useState} from 'react'; -import {Pressable} from 'react-native'; +import {Pressable, View} from 'react-native'; import {Icon, ListItem} from 'react-native-elements'; -import {Text} from '../../components/ui'; +import {Row, Text} from '../../components/ui'; import {Theme} from '../../components/ui/styleUtils'; import {useBackupScreen} from './BackupController'; import {BackupToggle} from './BackupToggle'; +import {SvgImage} from '../../components/ui/svg'; export const DataBackup: React.FC = ({} = props => { const controller = useBackupScreen(props); @@ -18,17 +19,22 @@ export const DataBackup: React.FC = ({} = props => { controller.DATA_BACKUP(); }}> - + {SvgImage.DataBackupIcon()} - - Data Backup - + + + Backup & Restore + + + New + + diff --git a/screens/Settings/SettingScreen.tsx b/screens/Settings/SettingScreen.tsx index 5b68609c..fc80dcd6 100644 --- a/screens/Settings/SettingScreen.tsx +++ b/screens/Settings/SettingScreen.tsx @@ -18,6 +18,7 @@ import {ReceivedCards} from './ReceivedCards'; import testIDProps from '../../shared/commonUtil'; import {SvgImage} from '../../components/ui/svg'; import {DataBackup} from './DataBackup'; +import {isAndroid} from '../../shared/constants'; const LanguageSetting: React.FC = () => { const {t} = useTranslation('SettingScreen'); @@ -160,7 +161,7 @@ export const SettingScreen: React.FC< - {DATA_BACKUP === 'true' && } + {DATA_BACKUP === 'true' && isAndroid() && } {CREDENTIAL_REGISTRY_EDIT === 'true' && (