mirror of
https://github.com/neon443/ShhShell.git
synced 2026-03-11 13:26:16 +00:00
added rename support, it also has the name in the textbox when it spawns
added a delete button to the key detail view key name in list will fallback to uuid if no name prevent renaming to an empty name
This commit is contained in:
@@ -122,6 +122,7 @@ class KeyManager: ObservableObject {
|
||||
}
|
||||
|
||||
func renameKey(keypair: Keypair, newName: String) {
|
||||
guard !newName.isEmpty else { return }
|
||||
let keyID = keypair.id
|
||||
guard let index = keypairs.firstIndex(where: { $0.id == keyID }) else { return }
|
||||
var keypairWithNewName = keypair
|
||||
|
||||
@@ -15,13 +15,18 @@ struct KeyDetailView: View {
|
||||
@State var keyname: String = ""
|
||||
@State private var reveal: Bool = false
|
||||
|
||||
@Environment(\.dismiss) var dismiss
|
||||
|
||||
var body: some View {
|
||||
ZStack {
|
||||
hostsManager.selectedTheme.background.suiColor.opacity(0.7)
|
||||
.ignoresSafeArea(.all)
|
||||
List {
|
||||
TextBox(label: "Name", text: $keyname, prompt: "A name for your key")
|
||||
.onChange(of: keypair.name) { _ in
|
||||
.onAppear {
|
||||
keyname = keypair.name
|
||||
}
|
||||
.onChange(of: keyname) { _ in
|
||||
keyManager.renameKey(keypair: keypair, newName: keyname)
|
||||
}
|
||||
|
||||
@@ -83,6 +88,13 @@ struct KeyDetailView: View {
|
||||
CenteredLabel(title: "Copy private key", systemName: "document.on.document")
|
||||
}
|
||||
.listRowSeparator(.hidden)
|
||||
|
||||
CenteredLabel(title: "Delete", systemName: "trash")
|
||||
.foregroundStyle(.red)
|
||||
.onTapGesture {
|
||||
keyManager.deleteKey(keypair)
|
||||
dismiss()
|
||||
}
|
||||
}
|
||||
.scrollContentBackground(.hidden)
|
||||
}
|
||||
|
||||
@@ -30,7 +30,11 @@ struct KeyManagerView: View {
|
||||
} label: {
|
||||
HStack {
|
||||
Image(systemName: "key")
|
||||
Text(kp.label)
|
||||
if kp.label.isEmpty {
|
||||
Text(kp.id.uuidString)
|
||||
} else {
|
||||
Text(kp.label)
|
||||
}
|
||||
Spacer()
|
||||
Text(kp.type.description)
|
||||
.foregroundStyle(.gray)
|
||||
|
||||
Reference in New Issue
Block a user