feat: M4c radio similarity-driven candidate pool + 80% queue refresh (closes M4) #28

Merged
bvandeusen merged 262 commits from dev into main 2026-04-29 10:45:19 -04:00
Showing only changes of commit d6301f5bdc - Show all commits
@@ -95,24 +95,42 @@ fun AdminUsersScreen(
} }
} }
resetPasswordFor?.let { user -> PendingDialogs(
ResetPasswordDialog( resetPasswordFor = resetPasswordFor,
user = user, deleteCandidate = deleteCandidate,
onDismiss = { resetPasswordFor = null }, onClearReset = { resetPasswordFor = null },
onConfirm = { newPassword -> onClearDelete = { deleteCandidate = null },
viewModel.resetPassword(user.id, newPassword) onConfirmReset = viewModel::resetPassword,
resetPasswordFor = null onConfirmDelete = viewModel::delete,
},
) )
} }
@Composable
private fun PendingDialogs(
resetPasswordFor: AdminUserRef?,
deleteCandidate: AdminUserRef?,
onClearReset: () -> Unit,
onClearDelete: () -> Unit,
onConfirmReset: (String, String) -> Unit,
onConfirmDelete: (String) -> Unit,
) {
resetPasswordFor?.let { user ->
ResetPasswordDialog(
user = user,
onDismiss = onClearReset,
onConfirm = { newPassword ->
onConfirmReset(user.id, newPassword)
onClearReset()
},
)
}
deleteCandidate?.let { user -> deleteCandidate?.let { user ->
DeleteConfirmDialog( DeleteConfirmDialog(
user = user, user = user,
onDismiss = { deleteCandidate = null }, onDismiss = onClearDelete,
onConfirm = { onConfirm = {
viewModel.delete(user.id) onConfirmDelete(user.id)
deleteCandidate = null onClearDelete()
}, },
) )
} }