feat: add profile screen #5

Merged
reya merged 3 commits from feat/profile-screen into master 2026-05-27 06:22:15 +00:00
Showing only changes of commit 2080d9d67b - Show all commits

View File

@@ -1,5 +1,6 @@
package su.reya.coop.screens package su.reya.coop.screens
import android.content.ClipData
import androidx.compose.foundation.clickable import androidx.compose.foundation.clickable
import androidx.compose.foundation.layout.Arrangement import androidx.compose.foundation.layout.Arrangement
import androidx.compose.foundation.layout.Box import androidx.compose.foundation.layout.Box
@@ -58,6 +59,8 @@ import androidx.compose.runtime.setValue
import androidx.compose.ui.Alignment import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier import androidx.compose.ui.Modifier
import androidx.compose.ui.draw.clip import androidx.compose.ui.draw.clip
import androidx.compose.ui.platform.ClipEntry
import androidx.compose.ui.platform.LocalClipboard
import androidx.compose.ui.text.font.FontWeight import androidx.compose.ui.text.font.FontWeight
import androidx.compose.ui.unit.dp import androidx.compose.ui.unit.dp
import coop.composeapp.generated.resources.Res import coop.composeapp.generated.resources.Res
@@ -86,6 +89,7 @@ fun HomeScreen(
) { ) {
val navController = LocalNavController.current val navController = LocalNavController.current
val snackbarHostState = LocalSnackbarHostState.current val snackbarHostState = LocalSnackbarHostState.current
val clipboardManager = LocalClipboard.current
val viewModel = LocalNostrViewModel.current val viewModel = LocalNostrViewModel.current
val currentUser = viewModel.currentUser() ?: return val currentUser = viewModel.currentUser() ?: return
@@ -322,18 +326,20 @@ fun HomeScreen(
) { ) {
OutlinedButton( OutlinedButton(
onClick = { onClick = {
dismissAndRun { navController.navigate(Screen.MyQr) } scope.launch {
pubkey?.let {
val bech32 = it.toBech32()
val data = ClipData.newPlainText(bech32, bech32)
clipboardManager.setClipEntry(ClipEntry(data))
}
}
}, },
) { ) {
Text(text = shortPubkey) Text(text = shortPubkey)
} }
FilledIconButton( FilledIconButton(
onClick = { onClick = {
scope.launch { dismissAndRun { navController.navigate(Screen.MyQr) }
sheetState.hide()
showBottomSheet = false
navController.navigate(Screen.MyQr)
}
}, },
shape = MaterialShapes.Square.toShape() shape = MaterialShapes.Square.toShape()
) { ) {