diff --git a/package.json b/package.json
index d8120f4..00e5eb5 100644
--- a/package.json
+++ b/package.json
@@ -21,6 +21,7 @@
"@hookform/resolvers": "^3.3.4",
"@json-rpc-tools/utils": "^1.7.6",
"@react-native-async-storage/async-storage": "^1.22.3",
+ "@react-native-clipboard/clipboard": "^1.14.1",
"@react-native-community/netinfo": "^11.3.1",
"@react-navigation/elements": "^1.3.30",
"@react-navigation/native": "^6.1.10",
diff --git a/scripts/build-apk.sh b/scripts/build-apk.sh
new file mode 100755
index 0000000..d5c289b
--- /dev/null
+++ b/scripts/build-apk.sh
@@ -0,0 +1,31 @@
+#!/bin/bash
+
+# Default value for IS_RELEASE
+IS_RELEASE=${IS_RELEASE:-false}
+
+# Install dependencies
+echo "Installing dependencies..."
+yarn
+
+# Create the necessary directory for assets
+mkdir -p android/app/src/main/assets/
+
+# Bundle the React Native application
+yarn react-native bundle \
+ --platform android \
+ --dev false \
+ --entry-file index.js \
+ --bundle-output android/app/src/main/assets/index.android.bundle \
+ --assets-dest android/app/src/main/res
+
+# Navigate to the android directory
+cd android
+
+# Run the Gradle build based on the IS_RELEASE flag
+if [ "$IS_RELEASE" = "true" ]; then
+ echo "Building release version..."
+ ./gradlew assembleRelease
+else
+ echo "Building debug version..."
+ ./gradlew assembleDebug
+fi
diff --git a/src/components/Dialog.tsx b/src/components/Dialog.tsx
index 05fed95..91f55b9 100644
--- a/src/components/Dialog.tsx
+++ b/src/components/Dialog.tsx
@@ -1,6 +1,8 @@
-import React from 'react';
+import React, { useState } from 'react';
import { View } from 'react-native';
-import { Button, Dialog, Portal, Text } from 'react-native-paper';
+import { Button, Dialog, Portal, Snackbar, Text } from 'react-native-paper';
+
+import Clipboard from '@react-native-clipboard/clipboard';
import styles from '../styles/stylesheet';
import GridView from './Grid';
@@ -11,29 +13,45 @@ const DialogComponent = ({
hideDialog,
contentText,
}: CustomDialogProps) => {
+ const [toastVisible, setToastVisible] = useState(false);
+
const words = contentText.split(' ');
+ const handleCopy = () => {
+ Clipboard.setString(contentText);
+ setToastVisible(true);
+ };
+
return (
-
-
-
+ <>
+
+
+
+ setToastVisible(false)}
+ duration={1000}>
+ Mnemonic copied to clipboard
+
+ >
);
};
diff --git a/yarn.lock b/yarn.lock
index b3fdd16..a96362d 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -2071,6 +2071,11 @@
dependencies:
merge-options "^3.0.4"
+"@react-native-clipboard/clipboard@^1.14.1":
+ version "1.14.1"
+ resolved "https://registry.yarnpkg.com/@react-native-clipboard/clipboard/-/clipboard-1.14.1.tgz#835f82fc86881a0808a8405f2576617bb5383554"
+ integrity sha512-SM3el0A28SwoeJljVNhF217o0nI4E7RfalLmuRQcT1/7tGcxUjgFa3jyrEndYUct8/uxxK5EUNGUu1YEDqzxqw==
+
"@react-native-community/cli-clean@12.3.2":
version "12.3.2"
resolved "https://registry.yarnpkg.com/@react-native-community/cli-clean/-/cli-clean-12.3.2.tgz#d4f1730c3d22d816b4d513d330d5f3896a3f5921"