metatext/ViewModels/Sources/ViewModels/View Models/EmojiViewModel.swift
2021-02-27 12:27:49 -08:00

33 lines
873 B
Swift

// Copyright © 2021 Metabolist. All rights reserved.
import Foundation
public struct EmojiViewModel {
let identityContext: IdentityContext
private let emoji: PickerEmoji
public init(emoji: PickerEmoji, identityContext: IdentityContext) {
self.emoji = emoji.applyingDefaultSkinTone(identityContext: identityContext)
self.identityContext = identityContext
}
}
public extension EmojiViewModel {
var name: String { emoji.name }
var system: Bool { emoji.system }
var url: URL? {
guard case let .custom(emoji, _) = emoji else { return nil }
if identityContext.appPreferences.animateCustomEmojis, let urlString = emoji.url {
return URL(string: urlString)
} else if let staticURLString = emoji.staticUrl {
return URL(string: staticURLString)
}
return nil
}
}