mirror of
https://github.com/maxgoedjen/secretive.git
synced 2025-08-27 15:40:57 +00:00
* WIP. * WIP * WIP Edit * Key selection. * WIP * WIP * Proxy through * WIP * Remove verify. * Migration. * Comment * Add param * Semi-offering key * Ignore updates if test build. * Fix rsa public key gen * Messily fix RSA * Remove 1024 bit rsa * Cleanup * Cleanup * Clean out MLDSA refs for now * Dump notifier changes * Put back UI tweaks * Fixes.
49 lines
1.7 KiB
Swift
49 lines
1.7 KiB
Swift
import SwiftUI
|
|
import SecretKit
|
|
|
|
struct SecretDetailView<SecretType: Secret>: View {
|
|
|
|
let secret: SecretType
|
|
|
|
private let keyWriter = OpenSSHPublicKeyWriter()
|
|
private let publicKeyFileStoreController = PublicKeyFileStoreController(homeDirectory: NSHomeDirectory().replacingOccurrences(of: Bundle.main.hostBundleID, with: Bundle.main.agentBundleID))
|
|
|
|
var body: some View {
|
|
ScrollView {
|
|
Form {
|
|
Section {
|
|
CopyableView(title: .secretDetailSha256FingerprintLabel, image: Image(systemName: "touchid"), text: keyWriter.openSSHSHA256Fingerprint(secret: secret))
|
|
Spacer()
|
|
.frame(height: 20)
|
|
CopyableView(title: .secretDetailMd5FingerprintLabel, image: Image(systemName: "touchid"), text: keyWriter.openSSHMD5Fingerprint(secret: secret))
|
|
Spacer()
|
|
.frame(height: 20)
|
|
CopyableView(title: .secretDetailPublicKeyLabel, image: Image(systemName: "key"), text: keyString)
|
|
Spacer()
|
|
.frame(height: 20)
|
|
CopyableView(title: .secretDetailPublicKeyPathLabel, image: Image(systemName: "lock.doc"), text: publicKeyFileStoreController.publicKeyPath(for: secret))
|
|
Spacer()
|
|
}
|
|
}
|
|
.padding()
|
|
}
|
|
.frame(minHeight: 200, maxHeight: .infinity)
|
|
}
|
|
|
|
|
|
var keyString: String {
|
|
keyWriter.openSSHString(secret: secret)
|
|
}
|
|
|
|
}
|
|
|
|
#if DEBUG
|
|
|
|
struct SecretDetailView_Previews: PreviewProvider {
|
|
static var previews: some View {
|
|
SecretDetailView(secret: Preview.Store(numberOfRandomSecrets: 1).secrets[0])
|
|
}
|
|
}
|
|
|
|
#endif
|