diff --git a/app/mobile/src/constants/Colors.js b/app/mobile/src/constants/Colors.js
index 9a7d086c..3cfec076 100644
--- a/app/mobile/src/constants/Colors.js
+++ b/app/mobile/src/constants/Colors.js
@@ -66,8 +66,8 @@ const DarkColors = {
unsetText: '#aaaaaa',
descriptionText: '#bbbbbb',
text: '#ffffff',
- screenBase: '#333333',
- areaBase: '#555555',
+ screenBase: '#222222',
+ areaBase: '#444444',
modalBase: '#111111',
modalOverlay: 'rgba(88,88,88,0.8)',
headerBar: '#555555',
@@ -99,7 +99,7 @@ const DarkColors = {
disabledIndicator: '#eeeeee',
disconnectedIndicator: '#aa0000',
sliderGrip: '#eeeeee',
- areaBorder: '#ffffff',
+ areaBorder: '#aaaaaa',
};
function getColor(label) {
diff --git a/app/mobile/src/constants/Strings.js b/app/mobile/src/constants/Strings.js
index b9a585eb..d57205f3 100644
--- a/app/mobile/src/constants/Strings.js
+++ b/app/mobile/src/constants/Strings.js
@@ -81,6 +81,9 @@ const Strings = [
registryVisible: 'Visible in Registry',
editImage: 'Edit Image',
editDetails: 'Edit Details',
+
+ // contacts page
+ add: 'Add',
},
{
visibleRegistry: 'Visible dans le Registre',
@@ -158,7 +161,10 @@ const Strings = [
description: 'Description',
registryVisible: 'Visible dans le Registre',
editImage: 'Modifier l\'Image',
- editDetails: 'Modifier les Détails',
+ editDetails: 'Modifier les Détails',
+
+ //constacts page
+ add: 'Ajouter',
},
{
visibleRegistry: 'Visible en el Registro',
@@ -236,7 +242,10 @@ const Strings = [
description: 'Descripción',
registryVisible: 'Visible en el Registro',
editImage: 'Editar Imagen',
- editDetails: 'Editar Detalles',
+ editDetails: 'Editar Detalles',
+
+ // contacts page
+ add: 'Agregar',
},
{
visibleRegistry: 'Sichtbar in der Registrierung',
@@ -314,7 +323,10 @@ const Strings = [
description: 'Beschreibung',
registryVisible: 'Sichtbar in der Registrierung',
editImage: 'Bild Bearbeiten',
- editDetails: 'Details bearbeiten',
+ editDetails: 'Details Bearbeiten',
+
+ //contacts page
+ add: 'Hinzufügen',
}
];
diff --git a/app/mobile/src/session/profile/Profile.jsx b/app/mobile/src/session/profile/Profile.jsx
index 92bd48d1..3a65938a 100644
--- a/app/mobile/src/session/profile/Profile.jsx
+++ b/app/mobile/src/session/profile/Profile.jsx
@@ -1,4 +1,4 @@
-import { ActivityIndicator, KeyboardAvoidingView, Image, Modal, View, Switch, Text, ScrollView, TextInput, TouchableOpacity, Alert } from 'react-native';
+import { ActivityIndicator, KeyboardAvoidingView, Image, Modal, View, Switch, Text, Platform, ScrollView, TextInput, TouchableOpacity, Alert } from 'react-native';
import { useState } from 'react';
import AntIcons from 'react-native-vector-icons/AntDesign';
import MatIcons from 'react-native-vector-icons/MaterialCommunityIcons';
@@ -8,6 +8,7 @@ import { FloatingLabelInput } from 'react-native-floating-label-input';
import { SafeAreaProvider, SafeAreaView } from 'react-native-safe-area-context';
import { Menu, MenuOptions, MenuOption, MenuTrigger } from 'react-native-popup-menu';
import { Colors } from 'constants/Colors';
+import { InputField } from 'utils/InputField';
import { useProfile } from './useProfile.hook';
import { styles } from './Profile.styled';
import avatar from 'images/avatar.png';
@@ -142,74 +143,63 @@ export function Profile() {
supportedOrientations={['portrait', 'landscape']}
onRequestClose={actions.hideDetails}
>
-
-
-
-
-
-
-
- { state.strings.editDetails }
+
+
+
+
+
+
+
+
+ { state.strings.editDetails }
-
-
-
-
-
-
-
-
-
-
-
- { state.strings.cancel }
-
-
- { busyDetail && (
-
- )}
- { !busyDetail && (
- { state.strings.save }
- )}
-
-
+
+
+ { state.strings.cancel }
+
+
+ { busyDetail && (
+
+ )}
+ { !busyDetail && (
+ { state.strings.save }
+ )}
+
+
-
-
+
+
+
diff --git a/app/mobile/src/session/profile/Profile.styled.js b/app/mobile/src/session/profile/Profile.styled.js
index d96d15b0..88cc2104 100644
--- a/app/mobile/src/session/profile/Profile.styled.js
+++ b/app/mobile/src/session/profile/Profile.styled.js
@@ -92,17 +92,17 @@ export const styles = StyleSheet.create({
display: 'flex',
alignItems: 'center',
flexDirection: 'row',
- padding: 4,
- height: 48,
+ padding: 8,
},
icon: {
paddingLeft: 8,
- paddingRight: 8,
+ paddingRight: 16,
},
locationSet: {
fontSize: 16,
color: Colors.text,
fontFamily: 'roboto',
+ flex: 1,
},
locationUnset: {
fontSize: 16,
@@ -114,6 +114,7 @@ export const styles = StyleSheet.create({
fontSize: 16,
color: Colors.text,
fontFamily: 'roboto',
+ flex: 1,
},
descriptionUnset: {
fontSize: 16,
@@ -144,7 +145,7 @@ export const styles = StyleSheet.create({
borderColor: Colors.areaBorder,
},
option: {
- padding: 4,
+ padding: 6,
color: Colors.text,
backgroundColor: Colors.areaBase,
fontFamily: 'roboto',
@@ -192,6 +193,30 @@ export const styles = StyleSheet.create({
justifyContent: 'center',
flexDirection: 'row',
},
+ field: {
+ input: {
+ backgroundColor: Colors.inputBase,
+ color: Colors.inputText,
+ borderRadius: 8,
+ minHeight: 48,
+ maxHeight: 128,
+ paddingLeft: 8,
+ },
+ label: {
+ height: 16,
+ paddingLeft: 8,
+ },
+ labelText: {
+ color: Colors.inputPlaceholder,
+ fontSize: 12,
+ },
+ container: {
+ width: '100%',
+ paddingLeft: 16,
+ paddingRight: 16,
+ paddingTop: 8,
+ },
+ },
floatingInput: {
color: Colors.inputText,
paddingTop: 20,
@@ -208,6 +233,7 @@ export const styles = StyleSheet.create({
floatingContainer: {
paddingHorizontal: 12,
backgroundColor: Colors.inputBase,
+ width: '100%',
borderRadius: 8,
minHeight: 48,
maxHeight: 128,
diff --git a/app/mobile/src/utils/InputField.jsx b/app/mobile/src/utils/InputField.jsx
new file mode 100644
index 00000000..68b8b87a
--- /dev/null
+++ b/app/mobile/src/utils/InputField.jsx
@@ -0,0 +1,16 @@
+import { TextInput, Text, View } from 'react-native';
+
+export function InputField({ label, value, autoCapitalize, spellCheck, multiline, onChangeText, style }) {
+
+ return (
+
+
+ { !(value == null || value.length == 0) && (
+ { label }
+ )}
+
+
+
+ );
+}
+