fix(android): extract PendingDialogs from AdminUsersScreen (detekt LongMethod)
AdminUsersScreen body was 65 lines vs the 60 cap because both dialogs were rendered inline. Pulled them into a single PendingDialogs helper that takes the two nullable selections + the clear/confirm callbacks. AdminUsersScreen is back to ~45 lines and PendingDialogs is ~30. File function count is still 8 (Screen + UserList + UserRow + ToggleRow + PendingDialogs + ResetPasswordDialog + DeleteConfirmDialog + LoadingCentered), under the 11 cap. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
@@ -95,24 +95,42 @@ fun AdminUsersScreen(
|
||||
}
|
||||
}
|
||||
|
||||
PendingDialogs(
|
||||
resetPasswordFor = resetPasswordFor,
|
||||
deleteCandidate = deleteCandidate,
|
||||
onClearReset = { resetPasswordFor = null },
|
||||
onClearDelete = { deleteCandidate = null },
|
||||
onConfirmReset = viewModel::resetPassword,
|
||||
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 = { resetPasswordFor = null },
|
||||
onDismiss = onClearReset,
|
||||
onConfirm = { newPassword ->
|
||||
viewModel.resetPassword(user.id, newPassword)
|
||||
resetPasswordFor = null
|
||||
onConfirmReset(user.id, newPassword)
|
||||
onClearReset()
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
deleteCandidate?.let { user ->
|
||||
DeleteConfirmDialog(
|
||||
user = user,
|
||||
onDismiss = { deleteCandidate = null },
|
||||
onDismiss = onClearDelete,
|
||||
onConfirm = {
|
||||
viewModel.delete(user.id)
|
||||
deleteCandidate = null
|
||||
onConfirmDelete(user.id)
|
||||
onClearDelete()
|
||||
},
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user