diff --git a/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt b/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt index 3dfdd4d59..893862ba1 100644 --- a/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt +++ b/respect-app-compose/src/commonMain/kotlin/world/respect/app/view/scanqrcode/ScanQRCodeScreen.kt @@ -108,7 +108,10 @@ fun ScanQRCodeScreen( ) Button( - onClick = viewModel::onClickTryAgain, + onClick = { + viewModel.onClickTryAgain() + showScanner = true + }, modifier = Modifier.fillMaxWidth(0.7f), ) { Text( @@ -135,8 +138,8 @@ fun ScanQRCodeScreen( } is BarcodeResult.OnFailed -> { - showScanner = false viewModel.onQrCodeScanError(result.exception) + showScanner = false } BarcodeResult.OnCanceled -> { diff --git a/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt b/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt index bb690af8b..e6e0fcb73 100644 --- a/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt +++ b/respect-lib-shared/src/commonMain/kotlin/world/respect/shared/viewmodel/person/manageaccount/ManageAccountViewModel.kt @@ -303,7 +303,9 @@ class ManageAccountViewModel( listParams = PersonQrBadgeDataSource.GetListParams( qrCodeUrl = url ) - ).dataOrNull()?.firstOrNull() != null + ).dataOrNull()?.firstOrNull { existingBadge -> + existingBadge.personGuid != personGuid + } != null if (qrCodeAlreadyAssignedToAnotherPerson) { _uiState.update { prev ->