parent
c3d40d260d
commit
6b6ed28134
|
@ -22,7 +22,7 @@ extension ProfileCardView {
|
||||||
viewModel.followersCount = account.followersCount
|
viewModel.followersCount = account.followersCount
|
||||||
viewModel.authorAvatarImageURL = account.avatarImageURL()
|
viewModel.authorAvatarImageURL = account.avatarImageURL()
|
||||||
|
|
||||||
let emojis = account.emojis?.asDictionary ?? [:]
|
let emojis = account.emojis.asDictionary
|
||||||
|
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: account.displayNameWithFallback, emojis: emojis)
|
let content = MastodonContent(content: account.displayNameWithFallback, emojis: emojis)
|
||||||
|
|
|
@ -26,7 +26,7 @@ extension UserView {
|
||||||
authorUsernameLabel.configure(content: authorUsername)
|
authorUsernameLabel.configure(content: authorUsername)
|
||||||
|
|
||||||
do {
|
do {
|
||||||
let emojis = account.emojis?.asDictionary ?? [:]
|
let emojis = account.emojis.asDictionary
|
||||||
let content = MastodonContent(content: account.displayNameWithFallback, emojis: emojis)
|
let content = MastodonContent(content: account.displayNameWithFallback, emojis: emojis)
|
||||||
let metaContent = try MastodonMetaContent.convert(document: content)
|
let metaContent = try MastodonMetaContent.convert(document: content)
|
||||||
authorNameLabel.configure(content: metaContent)
|
authorNameLabel.configure(content: metaContent)
|
||||||
|
|
|
@ -91,7 +91,7 @@ final class SuggestionAccountTableViewCell: UITableViewCell {
|
||||||
|
|
||||||
let metaContent: MetaContent = {
|
let metaContent: MetaContent = {
|
||||||
do {
|
do {
|
||||||
let mastodonContent = MastodonContent(content: account.note, emojis: account.emojis?.asDictionary ?? [:])
|
let mastodonContent = MastodonContent(content: account.note, emojis: account.emojis.asDictionary)
|
||||||
return try MastodonMetaContent.convert(document: mastodonContent)
|
return try MastodonMetaContent.convert(document: mastodonContent)
|
||||||
} catch {
|
} catch {
|
||||||
assertionFailure()
|
assertionFailure()
|
||||||
|
|
|
@ -76,7 +76,7 @@ class ThreadViewModel {
|
||||||
// bind titleView
|
// bind titleView
|
||||||
self.navigationBarTitle = {
|
self.navigationBarTitle = {
|
||||||
let title = L10n.Scene.Thread.title(status.entity.account.displayNameWithFallback)
|
let title = L10n.Scene.Thread.title(status.entity.account.displayNameWithFallback)
|
||||||
let content = MastodonContent(content: title, emojis: status.entity.account.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: title, emojis: status.entity.account.emojis.asDictionary)
|
||||||
return try? MastodonMetaContent.convert(document: content)
|
return try? MastodonMetaContent.convert(document: content)
|
||||||
}()
|
}()
|
||||||
}
|
}
|
||||||
|
|
|
@ -11,14 +11,12 @@ import MastodonSDK
|
||||||
import CoreDataStack
|
import CoreDataStack
|
||||||
|
|
||||||
public protocol MastodonEmojiContainer {
|
public protocol MastodonEmojiContainer {
|
||||||
var emojis: [Mastodon.Entity.Emoji]? { get }
|
var emojis: [Mastodon.Entity.Emoji] { get }
|
||||||
}
|
}
|
||||||
|
|
||||||
extension MastodonEmojiContainer {
|
extension MastodonEmojiContainer {
|
||||||
public var mastodonEmojis: [MastodonEmoji] {
|
public var mastodonEmojis: [MastodonEmoji] {
|
||||||
return emojis.flatMap { emojis in
|
return emojis.map { MastodonEmoji(emoji: $0) }
|
||||||
emojis.map { MastodonEmoji(emoji: $0) }
|
|
||||||
} ?? []
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -35,7 +35,7 @@ extension Mastodon.Entity {
|
||||||
public let header: String
|
public let header: String
|
||||||
public let headerStatic: String?
|
public let headerStatic: String?
|
||||||
public let locked: Bool
|
public let locked: Bool
|
||||||
public let emojis: [Emoji]?
|
public let emojis: [Emoji]
|
||||||
public let discoverable: Bool?
|
public let discoverable: Bool?
|
||||||
|
|
||||||
// Statistical
|
// Statistical
|
||||||
|
@ -52,7 +52,7 @@ extension Mastodon.Entity {
|
||||||
public let suspended: Bool?
|
public let suspended: Bool?
|
||||||
public let muteExpiresAt: Date?
|
public let muteExpiresAt: Date?
|
||||||
|
|
||||||
internal init(id: Mastodon.Entity.Account.ID, username: String, acct: String, url: String, displayName: String, note: String, avatar: String, avatarStatic: String? = nil, header: String, headerStatic: String? = nil, locked: Bool, emojis: [Mastodon.Entity.Emoji]? = nil, discoverable: Bool? = nil, createdAt: Date, lastStatusAt: Date? = nil, statusesCount: Int, followersCount: Int, followingCount: Int, moved: Mastodon.Entity.Account? = nil, fields: [Mastodon.Entity.Field]? = nil, bot: Bool? = nil, source: Mastodon.Entity.Source? = nil, suspended: Bool? = nil, muteExpiresAt: Date? = nil) {
|
internal init(id: Mastodon.Entity.Account.ID, username: String, acct: String, url: String, displayName: String, note: String, avatar: String, avatarStatic: String? = nil, header: String, headerStatic: String? = nil, locked: Bool, emojis: [Mastodon.Entity.Emoji] = [], discoverable: Bool? = nil, createdAt: Date, lastStatusAt: Date? = nil, statusesCount: Int, followersCount: Int, followingCount: Int, moved: Mastodon.Entity.Account? = nil, fields: [Mastodon.Entity.Field]? = nil, bot: Bool? = nil, source: Mastodon.Entity.Source? = nil, suspended: Bool? = nil, muteExpiresAt: Date? = nil) {
|
||||||
self.id = id
|
self.id = id
|
||||||
self.username = username
|
self.username = username
|
||||||
self.acct = acct
|
self.acct = acct
|
||||||
|
|
|
@ -37,8 +37,8 @@ extension Mastodon.Entity {
|
||||||
|
|
||||||
// Rendering
|
// Rendering
|
||||||
public let mentions: [Mention]?
|
public let mentions: [Mention]?
|
||||||
public let tags: [Tag]?
|
public let tags: [Tag]
|
||||||
public let emojis: [Emoji]?
|
public let emojis: [Emoji]
|
||||||
|
|
||||||
// Informational
|
// Informational
|
||||||
public let reblogsCount: Int
|
public let reblogsCount: Int
|
||||||
|
|
|
@ -36,7 +36,7 @@ extension Mastodon.Entity {
|
||||||
public let account: Account
|
public let account: Account
|
||||||
public let poll: Poll?
|
public let poll: Poll?
|
||||||
public let mediaAttachments: [Attachment]?
|
public let mediaAttachments: [Attachment]?
|
||||||
public let emojis: [Emoji]?
|
public let emojis: [Emoji]
|
||||||
|
|
||||||
enum CodingKeys: String, CodingKey {
|
enum CodingKeys: String, CodingKey {
|
||||||
case content
|
case content
|
||||||
|
|
|
@ -127,7 +127,7 @@ public class CondensedUserView: UIView {
|
||||||
public func configure(with account: Mastodon.Entity.Account, showFollowers: Bool = true) {
|
public func configure(with account: Mastodon.Entity.Account, showFollowers: Bool = true) {
|
||||||
let displayNameMetaContent: MetaContent
|
let displayNameMetaContent: MetaContent
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: account.displayNameWithFallback, emojis: account.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: account.displayNameWithFallback, emojis: account.emojis.asDictionary)
|
||||||
displayNameMetaContent = try MastodonMetaContent.convert(document: content)
|
displayNameMetaContent = try MastodonMetaContent.convert(document: content)
|
||||||
} catch {
|
} catch {
|
||||||
displayNameMetaContent = PlaintextMetaContent(string: account.displayNameWithFallback)
|
displayNameMetaContent = PlaintextMetaContent(string: account.displayNameWithFallback)
|
||||||
|
|
|
@ -157,7 +157,7 @@ extension StatusView {
|
||||||
statusID: inReplyToID,
|
statusID: inReplyToID,
|
||||||
authorization: authenticationBox.userAuthorization
|
authorization: authenticationBox.userAuthorization
|
||||||
).singleOutput().value {
|
).singleOutput().value {
|
||||||
let header = createHeader(name: replyTo.account.displayNameWithFallback, emojis: replyTo.account.emojis?.asDictionary ?? [:])
|
let header = createHeader(name: replyTo.account.displayNameWithFallback, emojis: replyTo.account.emojis.asDictionary)
|
||||||
viewModel.header = header
|
viewModel.header = header
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -200,7 +200,7 @@ extension StatusView {
|
||||||
|
|
||||||
// author avatar
|
// author avatar
|
||||||
viewModel.authorAvatarImageURL = author.avatarImageURL()
|
viewModel.authorAvatarImageURL = author.avatarImageURL()
|
||||||
let emojis = author.emojis?.asDictionary ?? [:]
|
let emojis = author.emojis.asDictionary
|
||||||
|
|
||||||
// author name
|
// author name
|
||||||
viewModel.authorName = {
|
viewModel.authorName = {
|
||||||
|
@ -282,7 +282,7 @@ extension StatusView {
|
||||||
|
|
||||||
// content
|
// content
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: translatedContent, emojis: status.entity.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: translatedContent, emojis: status.entity.emojis.asDictionary)
|
||||||
let metaContent = try MastodonMetaContent.convert(document: content)
|
let metaContent = try MastodonMetaContent.convert(document: content)
|
||||||
viewModel.content = metaContent
|
viewModel.content = metaContent
|
||||||
viewModel.isCurrentlyTranslating = false
|
viewModel.isCurrentlyTranslating = false
|
||||||
|
@ -301,7 +301,7 @@ extension StatusView {
|
||||||
viewModel.language = (status.reblog ?? status).entity.language
|
viewModel.language = (status.reblog ?? status).entity.language
|
||||||
// content
|
// content
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: statusEdit.content, emojis: statusEdit.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: statusEdit.content, emojis: statusEdit.emojis.asDictionary)
|
||||||
let metaContent = try MastodonMetaContent.convert(document: content)
|
let metaContent = try MastodonMetaContent.convert(document: content)
|
||||||
viewModel.content = metaContent
|
viewModel.content = metaContent
|
||||||
viewModel.isCurrentlyTranslating = false
|
viewModel.isCurrentlyTranslating = false
|
||||||
|
@ -321,7 +321,7 @@ extension StatusView {
|
||||||
// spoilerText
|
// spoilerText
|
||||||
if let spoilerText = status.entity.spoilerText, !spoilerText.isEmpty {
|
if let spoilerText = status.entity.spoilerText, !spoilerText.isEmpty {
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: spoilerText, emojis: status.entity.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: spoilerText, emojis: status.entity.emojis.asDictionary)
|
||||||
let metaContent = try MastodonMetaContent.convert(document: content)
|
let metaContent = try MastodonMetaContent.convert(document: content)
|
||||||
viewModel.spoilerContent = metaContent
|
viewModel.spoilerContent = metaContent
|
||||||
} catch {
|
} catch {
|
||||||
|
@ -335,7 +335,7 @@ extension StatusView {
|
||||||
viewModel.language = (status.reblog ?? status).entity.language
|
viewModel.language = (status.reblog ?? status).entity.language
|
||||||
// content
|
// content
|
||||||
do {
|
do {
|
||||||
let content = MastodonContent(content: status.entity.content ?? "", emojis: status.entity.emojis?.asDictionary ?? [:])
|
let content = MastodonContent(content: status.entity.content ?? "", emojis: status.entity.emojis.asDictionary)
|
||||||
let metaContent = try MastodonMetaContent.convert(document: content)
|
let metaContent = try MastodonMetaContent.convert(document: content)
|
||||||
viewModel.content = metaContent
|
viewModel.content = metaContent
|
||||||
viewModel.isCurrentlyTranslating = false
|
viewModel.isCurrentlyTranslating = false
|
||||||
|
|
Loading…
Reference in New Issue