* translation expo module * add `onClose` and `onReplacementAction` * rm onReplacementAction * make all props published * make translation api available globally w/o wrapper (#4110) * conditionally import the translation module * only use native translation if language is probably supported * open native translation via dropdown menu --------- Co-authored-by: Hailey <me@haileyok.com> Co-authored-by: Dan Abramov <dan.abramov@gmail.com>
22 lines
572 B
Swift
22 lines
572 B
Swift
import ExpoModulesCore
|
|
import Foundation
|
|
import SwiftUI
|
|
|
|
class TranslateViewState: ObservableObject {
|
|
static var shared = TranslateViewState()
|
|
|
|
@Published var isPresented = false
|
|
@Published var text = ""
|
|
}
|
|
|
|
class ExpoBlueskyTranslateView: ExpoView {
|
|
required init(appContext: AppContext? = nil) {
|
|
if #available(iOS 14.0, *) {
|
|
let hostingController = UIHostingController(rootView: TranslateView())
|
|
super.init(appContext: appContext)
|
|
setupHostingController(hostingController)
|
|
} else {
|
|
super.init(appContext: appContext)
|
|
}
|
|
}
|
|
}
|