From e4705312109bc0716160d9ae0d4ab2456ae61333 Mon Sep 17 00:00:00 2001 From: Vitor Pamplona Date: Mon, 3 Apr 2023 15:04:52 -0400 Subject: [PATCH] Adds Show QR option to Profile screen --- .../amethyst/ui/qrcode/ShowQRDialog.kt | 22 ++++++------ .../ui/screen/loggedIn/ProfileScreen.kt | 34 ++++++++++++++++--- 2 files changed, 41 insertions(+), 15 deletions(-) diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/qrcode/ShowQRDialog.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/qrcode/ShowQRDialog.kt index b78c33323..30a7ba6b9 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/qrcode/ShowQRDialog.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/qrcode/ShowQRDialog.kt @@ -66,7 +66,7 @@ fun ShowQRDialog(user: User, onScan: (String) -> Unit, onClose: () -> Unit) { modifier = Modifier .fillMaxSize() .padding(horizontal = 10.dp), - verticalArrangement = Arrangement.SpaceBetween + verticalArrangement = Arrangement.SpaceAround ) { if (presenting) { Column(modifier = Modifier.fillMaxWidth()) { @@ -91,22 +91,22 @@ fun ShowQRDialog(user: User, onScan: (String) -> Unit, onClose: () -> Unit) { fontSize = 18.sp ) } - - Row( - horizontalArrangement = Arrangement.Center, - modifier = Modifier - .fillMaxWidth() - .padding(horizontal = 35.dp, vertical = 10.dp) - ) { - QrCodeDrawer("nostr:${user.pubkeyNpub()}") - } } Row( horizontalArrangement = Arrangement.Center, modifier = Modifier .fillMaxWidth() - .padding(horizontal = 30.dp, vertical = 10.dp) + .padding(horizontal = 35.dp) + ) { + QrCodeDrawer("nostr:${user.pubkeyNpub()}") + } + + Row( + horizontalArrangement = Arrangement.Center, + modifier = Modifier + .fillMaxWidth() + .padding(horizontal = 30.dp) ) { Button( onClick = { presenting = false }, diff --git a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt index 88159e4d5..faf0bdbbe 100644 --- a/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt +++ b/app/src/main/java/com/vitorpamplona/amethyst/ui/screen/loggedIn/ProfileScreen.kt @@ -73,6 +73,7 @@ import com.vitorpamplona.amethyst.ui.dal.UserProfileFollowsFeedFilter import com.vitorpamplona.amethyst.ui.dal.UserProfileNewThreadFeedFilter import com.vitorpamplona.amethyst.ui.dal.UserProfileReportsFeedFilter import com.vitorpamplona.amethyst.ui.dal.UserProfileZapsFeedFilter +import com.vitorpamplona.amethyst.ui.navigation.ShowQRDialog import com.vitorpamplona.amethyst.ui.note.UserPicture import com.vitorpamplona.amethyst.ui.note.showAmount import com.vitorpamplona.amethyst.ui.screen.FeedView @@ -450,16 +451,41 @@ private fun DrawAdditionalInfo(baseUser: User, account: Account, accountViewMode IconButton( modifier = Modifier - .size(30.dp) + .size(25.dp) .padding(start = 5.dp), onClick = { clipboardManager.setText(AnnotatedString(user.pubkeyNpub())); } ) { Icon( imageVector = Icons.Default.ContentCopy, null, - modifier = Modifier - .padding(end = 5.dp) - .size(15.dp), + modifier = Modifier.size(15.dp), + tint = MaterialTheme.colors.onSurface.copy(alpha = 0.32f) + ) + } + + var dialogOpen by remember { + mutableStateOf(false) + } + + if (dialogOpen) { + ShowQRDialog( + user, + onScan = { + dialogOpen = false + navController.navigate(it) + }, + onClose = { dialogOpen = false } + ) + } + + IconButton( + modifier = Modifier.size(25.dp), + onClick = { dialogOpen = true } + ) { + Icon( + painter = painterResource(R.drawable.ic_qrcode), + null, + modifier = Modifier.size(15.dp), tint = MaterialTheme.colors.onSurface.copy(alpha = 0.32f) ) }