diff --git a/app/mobile/src/constants/Strings.js b/app/mobile/src/constants/Strings.js
index 1a809007..6914fc53 100644
--- a/app/mobile/src/constants/Strings.js
+++ b/app/mobile/src/constants/Strings.js
@@ -85,6 +85,14 @@ const Strings = [
// contacts page
add: 'Add',
back: 'Back',
+ deleteContact: 'Deleting Contact',
+ confirmDelete: 'Delete',
+ disconnectContact: 'Disconnect from Contact',
+ confirmDisconnect: 'Disconnect',
+ blockContact: 'Block Contact',
+ confirmBlock: 'Block',
+ reportContact: 'Report Contact',
+ confirmReport: 'Report',
confirmed: 'Saved',
pending: 'Unknown',
@@ -186,6 +194,14 @@ const Strings = [
//constacts page
add: 'Ajouter',
back: 'Arrière',
+ deleteContact: 'Supprimer le Contact',
+ confirmDelete: 'Supprimer',
+ disconnectContact: 'Déconnecter le Contact',
+ confirmDisconnect: 'Déconnecter',
+ blockContact: 'Bloquer le Contact',
+ confirmBlock: 'Bloquer',
+ reportContact: 'Signaler le Contact',
+ confirmReport: 'Signaler',
confirmed: 'Enregistré',
pending: 'Inconnu',
@@ -196,7 +212,7 @@ const Strings = [
offsync: 'Hors Sync',
actionResync: 'Resync',
- actionConnect: 'Connexion',
+ actionConnect: 'Connecter',
actionAccept: 'Accepter',
actionSave: 'Enregistrer',
actionCancel: 'Annuler',
@@ -287,7 +303,15 @@ const Strings = [
// contacts page
add: 'Agregar',
back: 'Atrás',
-
+ deleteContact: 'Borrar Contacto',
+ confirmDelete: 'Borrar',
+ disconnectContact: 'Desconectar Contacto',
+ confirmDisconnect: 'Desconectar',
+ blockContact: 'Bloquear el Contacto',
+ confirmBlock: 'Bloquear',
+ reportContact: 'Reportar el Contacto',
+ confirmReport: 'Reportar',
+
confirmed: 'Guardado',
pending: 'Desconocido',
connecting: 'Conectando',
@@ -305,7 +329,7 @@ const Strings = [
actionIgnore: 'Ignorar',
actionDelete: 'Borrar',
actionBlock: 'Bloquear',
- actionReport: 'Informe',
+ actionReport: 'Reportar',
},
{
visibleRegistry: 'Sichtbar in der Registrierung',
@@ -388,6 +412,14 @@ const Strings = [
//contacts page
add: 'Hinzufügen',
back: 'Rückwärts',
+ deleteContact: 'Kontakt Löschen',
+ confirmDelete: 'Löschen',
+ disconnectContact: 'Kontakt Trennen',
+ confirmDisconnect: 'Trennen',
+ blockContact: 'Kontakt Ausblenden',
+ confirmBlock: 'Verstecken',
+ reportContact: 'Kontakt Melden',
+ confirmReport: 'Bericht',
confirmed: 'Gerettet',
pending: 'Unbekannt',
diff --git a/app/mobile/src/session/contact/Contact.jsx b/app/mobile/src/session/contact/Contact.jsx
index d73c3629..636b64be 100644
--- a/app/mobile/src/session/contact/Contact.jsx
+++ b/app/mobile/src/session/contact/Contact.jsx
@@ -311,8 +311,8 @@ export function Contact({ contact, drawer, back }) {
const OVERLAP = 32;
- const promptDelete = (action) => {
- actions.deletePrompt(async () => {
+ const promptAction = (prompt, action) => {
+ prompt(async () => {
if (!busy) {
try {
setBusy(true);
@@ -328,23 +328,6 @@ export function Contact({ contact, drawer, back }) {
});
}
- const action = async (method) => {
- if (!busy) {
- try {
- setBusy(true);
- await method();
- }
- catch (err) {
- console.log(err);
- Alert.alert(
- state.strings.error,
- state.strings.tryAgain,
- );
- }
- setBusy(false);
- }
- };
-
return (
<>
{ drawer && (
@@ -462,7 +445,7 @@ export function Contact({ contact, drawer, back }) {
)}
{ state.status === 'connected' && (
-
+ promptAction(actions.disconnectPrompt, actions.disconnectContact)}>
{ state.strings.actionDisconnect }
@@ -480,25 +463,25 @@ export function Contact({ contact, drawer, back }) {
)}
{ (state.status === 'connected' || state.status === 'connecting' || state.status === 'received') && (
- promptDelete(actions.closeDelete)}>
+ promptAction(actions.deletePrompt, actions.closeDelete)}>
{ state.strings.actionDelete }
)}
{ state.status === 'confirmed' && (
- promptDelete(actions.deleteContact)}>
+ promptAction(actions.deletePrompt, actions.deleteContact)}>
{ state.strings.actionDelete }
)}
{ state.status !== 'unsaved' && state.status !== 'pending' && (
-
+ promptAction(actions.blockPrompt, actions.blockContact)}>
{ state.strings.actionBlock }
)}
{ true && (
-
+ promptAction(actions.reportPrompt, actions.reportContact)}>
{ state.strings.actionReport }
diff --git a/app/mobile/src/session/contact/useContact.hook.js b/app/mobile/src/session/contact/useContact.hook.js
index 9b8e254e..1c19e8ff 100644
--- a/app/mobile/src/session/contact/useContact.hook.js
+++ b/app/mobile/src/session/contact/useContact.hook.js
@@ -1,5 +1,5 @@
import { useState, useEffect, useRef, useContext } from 'react';
-import { useWindowDimensions } from 'react-native';
+import { Alert, useWindowDimensions } from 'react-native';
import { CardContext } from 'context/CardContext';
import { ProfileContext } from 'context/ProfileContext';
import { DisplayContext } from 'context/DisplayContext';
@@ -147,9 +147,48 @@ export function useContact(contact) {
},
deletePrompt: (action) => {
display.actions.showPrompt({
- title: state.strings.loggingOut,
+ title: state.strings.deleteContact,
centerButtons: true,
- ok: { label: state.strings.confirmLogout, action, failed: () => {
+ ok: { label: state.strings.confirmDelete, action, failed: () => {
+ Alert.alert(
+ state.strings.error,
+ state.strings.tryAgain,
+ );
+ }},
+ cancel: { label: state.strings.cancel },
+ });
+ },
+ disconnectPrompt: (action) => {
+ display.actions.showPrompt({
+ title: state.strings.disconnectContact,
+ centerButtons: true,
+ ok: { label: state.strings.confirmDisconnect, action, failed: () => {
+ Alert.alert(
+ state.strings.error,
+ state.strings.tryAgain,
+ );
+ }},
+ cancel: { label: state.strings.cancel },
+ });
+ },
+ blockPrompt: (action) => {
+ display.actions.showPrompt({
+ title: state.strings.blockContact,
+ centerButtons: true,
+ ok: { label: state.strings.confirmBlock, action, failed: () => {
+ Alert.alert(
+ state.strings.error,
+ state.strings.tryAgain,
+ );
+ }},
+ cancel: { label: state.strings.cancel },
+ });
+ },
+ reportPrompt: (action) => {
+ display.actions.showPrompt({
+ title: state.strings.reportContact,
+ centerButtons: true,
+ ok: { label: state.strings.confirmReport, action, failed: () => {
Alert.alert(
state.strings.error,
state.strings.tryAgain,