Prevent multiple clicks of navigation icon on contacts screen

This commit is contained in:
Juha Heinanen
2025-12-29 05:28:11 +02:00
parent 9e0b12b0d0
commit f2e7506073
@@ -38,8 +38,11 @@ import androidx.compose.material3.Text
import androidx.compose.material3.TopAppBar import androidx.compose.material3.TopAppBar
import androidx.compose.material3.TopAppBarDefaults import androidx.compose.material3.TopAppBarDefaults
import androidx.compose.runtime.Composable import androidx.compose.runtime.Composable
import androidx.compose.runtime.getValue
import androidx.compose.runtime.mutableIntStateOf
import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember import androidx.compose.runtime.remember
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
@@ -77,6 +80,7 @@ fun NavGraphBuilder.contactsScreenRoute(
private fun ContactsScreen(navController: NavController, viewModel: ViewModel) { private fun ContactsScreen(navController: NavController, viewModel: ViewModel) {
val ctx = LocalContext.current val ctx = LocalContext.current
var navigationClicks by remember { mutableIntStateOf(0) }
Scaffold( Scaffold(
modifier = Modifier.fillMaxSize().imePadding(), modifier = Modifier.fillMaxSize().imePadding(),
@@ -103,7 +107,13 @@ private fun ContactsScreen(navController: NavController, viewModel: ViewModel) {
titleContentColor = MaterialTheme.colorScheme.onPrimary, titleContentColor = MaterialTheme.colorScheme.onPrimary,
), ),
navigationIcon = { navigationIcon = {
IconButton(onClick = { navController.popBackStack() }) { IconButton(
onClick = {
navigationClicks++
if (navigationClicks == 1)
navController.popBackStack()
}
) {
Icon( Icon(
imageVector = Icons.AutoMirrored.Filled.ArrowBack, imageVector = Icons.AutoMirrored.Filled.ArrowBack,
contentDescription = "Back", contentDescription = "Back",