IceCubesApp/Packages/DesignSystem/Sources/DesignSystem/FontPicker.swift
Thomas Ricouard 16636b12a9 Swift format
2023-01-30 07:27:06 +01:00

38 lines
1 KiB
Swift

import Env
import SwiftUI
public struct FontPicker: UIViewControllerRepresentable {
@Environment(\.dismiss) var dismiss
public class Coordinator: NSObject, UIFontPickerViewControllerDelegate {
private let dismiss: DismissAction
public init(dismiss: DismissAction) {
self.dismiss = dismiss
}
public func fontPickerViewControllerDidCancel(_: UIFontPickerViewController) {
dismiss()
}
public func fontPickerViewControllerDidPickFont(_ viewController: UIFontPickerViewController) {
UserPreferences.shared.chosenFont = UIFont(descriptor: viewController.selectedFontDescriptor!, size: 0)
dismiss()
}
}
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) {}
}