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' && (