2023-01-30 06:25:55 +00:00
|
|
|
import Env
|
|
|
|
import SwiftUI
|
|
|
|
|
|
|
|
public struct FontPicker: UIViewControllerRepresentable {
|
2023-01-30 06:27:06 +00:00
|
|
|
@Environment(\.dismiss) var dismiss
|
|
|
|
|
|
|
|
public class Coordinator: NSObject, UIFontPickerViewControllerDelegate {
|
|
|
|
private let dismiss: DismissAction
|
|
|
|
|
|
|
|
public init(dismiss: DismissAction) {
|
|
|
|
self.dismiss = dismiss
|
2023-01-30 06:25:55 +00:00
|
|
|
}
|
2023-01-30 06:27:06 +00:00
|
|
|
|
|
|
|
public func fontPickerViewControllerDidCancel(_: UIFontPickerViewController) {
|
|
|
|
dismiss()
|
2023-01-30 06:25:55 +00:00
|
|
|
}
|
2023-01-30 06:27:06 +00:00
|
|
|
|
|
|
|
public func fontPickerViewControllerDidPickFont(_ viewController: UIFontPickerViewController) {
|
|
|
|
UserPreferences.shared.chosenFont = UIFont(descriptor: viewController.selectedFontDescriptor!, size: 0)
|
|
|
|
dismiss()
|
2023-01-30 06:25:55 +00:00
|
|
|
}
|
2023-01-30 06:27:06 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
public init() {}
|
|
|
|
|
|
|
|
public func makeCoordinator() -> Coordinator {
|
|
|
|
Coordinator(dismiss: dismiss)
|
|
|
|
}
|
|
|
|
|
|
|
|
public func makeUIViewController(context: Context) -> UIFontPickerViewController {
|
|
|
|
let controller = UIFontPickerViewController()
|
|
|
|
controller.delegate = context.coordinator
|
|
|
|
return controller
|
|
|
|
}
|
|
|
|
|
|
|
|
public func updateUIViewController(_: UIFontPickerViewController, context _: Context) {}
|
2023-01-30 06:25:55 +00:00
|
|
|
}
|