// // EmojiPickerWrapper.swift // Tusker // // Created by Shadowfacts on 10/14/20. // Copyright © 2020 Shadowfacts. All rights reserved. // import SwiftUI import Pachyderm struct EmojiPickerWrapper: UIViewControllerRepresentable { typealias UIViewControllerType = EmojiPickerCollectionViewController let searchQuery: String @EnvironmentObject private var mastodonController: MastodonController @EnvironmentObject private var uiState: ComposeUIState func makeUIViewController(context: Context) -> EmojiPickerCollectionViewController { let vc = EmojiPickerCollectionViewController(mastodonController: mastodonController) vc.delegate = context.coordinator return vc } func updateUIViewController(_ uiViewController: EmojiPickerCollectionViewController, context: Context) { uiViewController.searchQuery = searchQuery } func makeCoordinator() -> Coordinator { return Coordinator(uiState: uiState) } class Coordinator: EmojiPickerCollectionViewControllerDelegate { let uiState: ComposeUIState init(uiState: ComposeUIState) { self.uiState = uiState } func selectedEmoji(_ emoji: Emoji) { uiState.autocompleteHandler?.autocomplete(with: ":\(emoji.shortcode):") uiState.autocompleteState = nil } } }