Implement NIP04: Encrypted Direct Messages
Closes #5 This adds encrypted direct message support to damus Changelog-Added: Implement NIP04: Encrypted Direct Messages Signed-off-by: William Casarin <jb55@jb55.com>
This commit is contained in:
39
damus/Util/InputDismissKeyboard.swift
Normal file
39
damus/Util/InputDismissKeyboard.swift
Normal file
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// InputDismissKeyboard.swift
|
||||
// damus
|
||||
//
|
||||
// Created by William Casarin on 2022-07-02.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import SwiftUI
|
||||
|
||||
public extension View {
|
||||
func dismissKeyboardOnTap() -> some View {
|
||||
modifier(DismissKeyboardOnTap())
|
||||
}
|
||||
}
|
||||
|
||||
public struct DismissKeyboardOnTap: ViewModifier {
|
||||
public func body(content: Content) -> some View {
|
||||
#if os(macOS)
|
||||
return content
|
||||
#else
|
||||
return content.gesture(tapGesture)
|
||||
#endif
|
||||
}
|
||||
|
||||
private var tapGesture: some Gesture {
|
||||
TapGesture().onEnded(endEditing)
|
||||
}
|
||||
|
||||
private func endEditing() {
|
||||
UIApplication.shared.connectedScenes
|
||||
.filter {$0.activationState == .foregroundActive}
|
||||
.map {$0 as? UIWindowScene}
|
||||
.compactMap({$0})
|
||||
.first?.windows
|
||||
.filter {$0.isKeyWindow}
|
||||
.first?.endEditing(true)
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user