// // Copyright 2025 Element Creations Ltd. // Copyright 2023-2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. // Please see LICENSE files in the repository root for full details. // import Foundation import MatrixRustSDK import WysiwygComposer struct IntentionalMentions: Equatable { let userIDs: Set let atRoom: Bool } extension IntentionalMentions { static var empty: Self { IntentionalMentions(userIDs: .init(), atRoom: false) } func toRustMentions() -> Mentions { Mentions(userIds: Array(userIDs), room: atRoom) } } extension MentionsState { func toIntentionalMentions() -> IntentionalMentions { IntentionalMentions(userIDs: Set(userIds), atRoom: hasAtRoomMention) } }