From b010c9a29d269ee2c2dce03e8a1f1834b89a97f9 Mon Sep 17 00:00:00 2001 From: Patrick Honkonen <1883101+SaintPatrck@users.noreply.github.com> Date: Tue, 19 Aug 2025 18:00:41 -0400 Subject: [PATCH] [PM-24226] Reorder SSH key fields (#5754) --- .../addedit/VaultAddEditSshKeyItems.kt | 28 +++++----- .../feature/item/VaultItemSshKeyContent.kt | 51 ++++++++++--------- 2 files changed, 40 insertions(+), 39 deletions(-) diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditSshKeyItems.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditSshKeyItems.kt index 6a50b80c21..0bfdf4f0b4 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditSshKeyItems.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/addedit/VaultAddEditSshKeyItems.kt @@ -27,20 +27,6 @@ fun LazyListScope.vaultAddEditSshKeyItems( ) { item { Spacer(modifier = Modifier.height(8.dp)) - BitwardenTextField( - label = stringResource(id = BitwardenString.public_key), - value = sshKeyState.publicKey, - readOnly = true, - onValueChange = { }, - textFieldTestTag = "PublicKeyEntry", - cardStyle = CardStyle.Top(), - modifier = Modifier - .fillMaxWidth() - .standardHorizontalMargin(), - ) - } - - item { BitwardenPasswordField( label = stringResource(id = BitwardenString.private_key), value = sshKeyState.privateKey, @@ -50,6 +36,20 @@ fun LazyListScope.vaultAddEditSshKeyItems( showPasswordChange = { sshKeyTypeHandlers.onPrivateKeyVisibilityChange(it) }, showPasswordTestTag = "ViewPrivateKeyButton", passwordFieldTestTag = "PrivateKeyEntry", + cardStyle = CardStyle.Top(), + modifier = Modifier + .fillMaxWidth() + .standardHorizontalMargin(), + ) + } + + item { + BitwardenTextField( + label = stringResource(id = BitwardenString.public_key), + value = sshKeyState.publicKey, + readOnly = true, + onValueChange = { }, + textFieldTestTag = "PublicKeyEntry", cardStyle = CardStyle.Middle(), modifier = Modifier .fillMaxWidth() diff --git a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt index 0d50494059..b60f0b4662 100644 --- a/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt +++ b/app/src/main/kotlin/com/x8bit/bitwarden/ui/vault/feature/item/VaultItemSshKeyContent.kt @@ -63,32 +63,9 @@ fun VaultItemSshKeyContent( onExpandClick = { isExpanded = !isExpanded }, applyIconBackground = commonState.iconData is IconData.Local, ) - item(key = "publicKey") { - Spacer(modifier = Modifier.height(8.dp)) - BitwardenTextField( - label = stringResource(id = BitwardenString.public_key), - value = sshKeyItemState.publicKey, - onValueChange = { }, - singleLine = false, - readOnly = true, - actions = { - BitwardenStandardIconButton( - vectorIconRes = BitwardenDrawable.ic_copy, - contentDescription = stringResource(id = BitwardenString.copy_public_key), - onClick = vaultSshKeyItemTypeHandlers.onCopyPublicKeyClick, - modifier = Modifier.testTag(tag = "SshKeyCopyPublicKeyButton"), - ) - }, - cardStyle = CardStyle.Top(), - modifier = Modifier - .testTag("SshKeyItemPublicKeyEntry") - .fillMaxWidth() - .standardHorizontalMargin() - .animateItem(), - ) - } item(key = "privateKey") { + Spacer(modifier = Modifier.height(8.dp)) BitwardenPasswordField( label = stringResource(id = BitwardenString.private_key), value = sshKeyItemState.privateKey, @@ -106,7 +83,7 @@ fun VaultItemSshKeyContent( showPassword = sshKeyItemState.showPrivateKey, showPasswordTestTag = "ViewPrivateKeyButton", showPasswordChange = vaultSshKeyItemTypeHandlers.onShowPrivateKeyClick, - cardStyle = CardStyle.Middle(), + cardStyle = CardStyle.Top(), modifier = Modifier .testTag("SshKeyItemPrivateKeyEntry") .fillMaxWidth() @@ -115,6 +92,30 @@ fun VaultItemSshKeyContent( ) } + item(key = "publicKey") { + BitwardenTextField( + label = stringResource(id = BitwardenString.public_key), + value = sshKeyItemState.publicKey, + onValueChange = { }, + singleLine = false, + readOnly = true, + actions = { + BitwardenStandardIconButton( + vectorIconRes = BitwardenDrawable.ic_copy, + contentDescription = stringResource(id = BitwardenString.copy_public_key), + onClick = vaultSshKeyItemTypeHandlers.onCopyPublicKeyClick, + modifier = Modifier.testTag(tag = "SshKeyCopyPublicKeyButton"), + ) + }, + cardStyle = CardStyle.Middle(), + modifier = Modifier + .testTag("SshKeyItemPublicKeyEntry") + .fillMaxWidth() + .standardHorizontalMargin() + .animateItem(), + ) + } + item(key = "fingerprint") { BitwardenTextField( label = stringResource(id = BitwardenString.fingerprint),