This commit is contained in:
neon443
2025-10-17 21:21:34 +01:00
parent f1fd056c60
commit fb254ecb9e

View File

@@ -16,20 +16,13 @@ protocol EmojiProtocol: Codable, Hashable {
struct Emoji: EmojiProtocol { struct Emoji: EmojiProtocol {
var name: String var name: String
var urlString: String var urlString: String
var url: URL { var url: URL {
return URL(string: urlString) ?? URL(string: "https://")! return URL(string: urlString) ?? URL(string: "https://")!
} }
var image: Image { Image(uiImage: uiImage) } var image: Image { Image(uiImage: uiImage) }
private var uiImage: UIImage private var uiImage: UIImage = UIImage()
// var image: Image {
// if let data = try? Data(contentsOf: url),
// let uiimage = UIImage(data: data) {
// return Image(uiImage: uiimage)
// }
// return Image(uiImage: UIImage())
// }
init(from decoder: any Decoder) throws { init(from decoder: any Decoder) throws {
let container = try decoder.container(keyedBy: CodingKeys.self) let container = try decoder.container(keyedBy: CodingKeys.self)
@@ -42,10 +35,11 @@ struct Emoji: EmojiProtocol {
init(name: String, url: String) { init(name: String, url: String) {
self.name = name self.name = name
self.urlString = url self.urlString = url
self.uiImage = Emoji.grabImage(for: url) grabImage()
} }
enum CodingKeys: CodingKey { enum CodingKeys: CodingKey {
case name case name
case urlString case urlString
} }
@@ -56,9 +50,8 @@ struct Emoji: EmojiProtocol {
try container.encode(self.urlString, forKey: .urlString) try container.encode(self.urlString, forKey: .urlString)
} }
static func grabImage(for url: String) -> UIImage { mutating func grabImage() {
let url = URL(string: url)! uiImage = UIImage(data: try! Data(contentsOf: url))!
return UIImage(data: try! Data(contentsOf: url))!
} }
} }