// Copyright © 2023 Mastodon gGmbH. All rights reserved. import Foundation import Intents import MastodonCore import MastodonSDK import MastodonLocalization class MultiFollowersCountIntentHandler: INExtension, MultiFollowersCountIntentHandling { func provideAccountsOptionsCollection(for intent: MultiFollowersCountIntent, searchTerm: String?) async throws -> INObjectCollection { guard let searchTerm = searchTerm, let authenticationBox = WidgetExtension.appContext .authenticationService .mastodonAuthenticationBoxes .first else { return INObjectCollection(items: []) } let results = try await WidgetExtension.appContext .apiService .search(query: .init(q: searchTerm), authenticationBox: authenticationBox) return INObjectCollection(items: results.value.accounts.map { $0.acctWithDomainIfMissing(authenticationBox.domain) as NSString }) } }