mirror of
https://github.com/Novaloop-AG/element-x-ios.git
synced 2026-11-04 01:20:12 +00:00
Added support for emotes and notices.
This commit is contained in:
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// EmoteRoomMessage.swift
|
||||
// ElementX
|
||||
//
|
||||
// Created by Stefan Ceriu on 16/03/2022.
|
||||
// Copyright © 2022 Element. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import MatrixRustSDK
|
||||
|
||||
struct EmoteRoomMessage: RoomMessageProtocol {
|
||||
private let message: MatrixRustSDK.EmoteMessage
|
||||
|
||||
init(message: MatrixRustSDK.EmoteMessage) {
|
||||
self.message = message
|
||||
}
|
||||
|
||||
var id: String {
|
||||
message.baseMessage().id()
|
||||
}
|
||||
|
||||
var body: String {
|
||||
message.baseMessage().body()
|
||||
}
|
||||
|
||||
var htmlBody: String? {
|
||||
message.htmlBody()
|
||||
}
|
||||
|
||||
var sender: String {
|
||||
message.baseMessage().sender()
|
||||
}
|
||||
|
||||
var originServerTs: Date {
|
||||
Date(timeIntervalSince1970: TimeInterval(message.baseMessage().originServerTs()))
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,39 @@
|
||||
//
|
||||
// NoticeRoomMessage.swift
|
||||
// ElementX
|
||||
//
|
||||
// Created by Stefan Ceriu on 16/03/2022.
|
||||
// Copyright © 2022 Element. All rights reserved.
|
||||
//
|
||||
|
||||
import Foundation
|
||||
import UIKit
|
||||
import MatrixRustSDK
|
||||
|
||||
struct NoticeRoomMessage: RoomMessageProtocol {
|
||||
private let message: MatrixRustSDK.NoticeMessage
|
||||
|
||||
init(message: MatrixRustSDK.NoticeMessage) {
|
||||
self.message = message
|
||||
}
|
||||
|
||||
var id: String {
|
||||
message.baseMessage().id()
|
||||
}
|
||||
|
||||
var body: String {
|
||||
message.baseMessage().body()
|
||||
}
|
||||
|
||||
var htmlBody: String? {
|
||||
message.htmlBody()
|
||||
}
|
||||
|
||||
var sender: String {
|
||||
message.baseMessage().sender()
|
||||
}
|
||||
|
||||
var originServerTs: Date {
|
||||
Date(timeIntervalSince1970: TimeInterval(message.baseMessage().originServerTs()))
|
||||
}
|
||||
}
|
||||
@@ -11,10 +11,14 @@ import MatrixRustSDK
|
||||
|
||||
struct RoomMessageFactory {
|
||||
func buildRoomMessageFrom(_ message: AnyMessage) -> RoomMessageProtocol {
|
||||
if let textMessage = message.text() {
|
||||
if let textMessage = message.textMessage() {
|
||||
return TextRoomMessage(message: textMessage)
|
||||
} else if let imageMessage = message.image() {
|
||||
} else if let imageMessage = message.imageMessage() {
|
||||
return ImageRoomMessage(message: imageMessage)
|
||||
} else if let noticeMessage = message.noticeMessage() {
|
||||
return NoticeRoomMessage(message: noticeMessage)
|
||||
} else if let emoteMessage = message.emoteMessage() {
|
||||
return EmoteRoomMessage(message: emoteMessage)
|
||||
} else {
|
||||
fatalError("One of these must exist")
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user