From 5b61f6ecf4eb260f60ad8206d4b9559cc51e80d7 Mon Sep 17 00:00:00 2001 From: neon443 <69979447+neon443@users.noreply.github.com> Date: Sun, 19 Oct 2025 14:13:51 +0100 Subject: [PATCH] switched back to asynimage :cry --- StickerSlack/Emoji/Emoji.swift | 18 ------------------ StickerSlack/EmojiHoarder.swift | 5 +---- StickerSlack/Views/ContentView.swift | 2 +- 3 files changed, 2 insertions(+), 23 deletions(-) diff --git a/StickerSlack/Emoji/Emoji.swift b/StickerSlack/Emoji/Emoji.swift index 5a496b9..6a88fd4 100644 --- a/StickerSlack/Emoji/Emoji.swift +++ b/StickerSlack/Emoji/Emoji.swift @@ -21,9 +21,6 @@ struct Emoji: EmojiProtocol { return URL(string: urlString) ?? URL(string: "https://")! } - var image: Image { Image(uiImage: uiImage) } - private var uiImage: UIImage = UIImage() - init(from decoder: any Decoder) throws { let container = try decoder.container(keyedBy: CodingKeys.self) self.init( @@ -39,7 +36,6 @@ struct Emoji: EmojiProtocol { ) { self.name = name self.urlString = url - self.uiImage = UIImage() } enum CodingKeys: CodingKey { @@ -52,19 +48,5 @@ struct Emoji: EmojiProtocol { try container.encode(self.name, forKey: .name) try container.encode(self.urlString, forKey: .urlString) } - - func grabImage() async -> Emoji { - let req = URLRequest(url: url, cachePolicy: .reloadRevalidatingCacheData, timeoutInterval: 10) - guard let response = try? await URLSession.shared.data(for: req) else { - return self - } - print(UIImage(data: response.0)) - return Emoji(name: name, url: urlString, image: UIImage(data: response.0)!) - } - - mutating func grabImageSync() { - let data = try! Data(contentsOf: url) - uiImage = UIImage(data: data)! - } } diff --git a/StickerSlack/EmojiHoarder.swift b/StickerSlack/EmojiHoarder.swift index bce4a34..61f10ba 100644 --- a/StickerSlack/EmojiHoarder.swift +++ b/StickerSlack/EmojiHoarder.swift @@ -29,10 +29,7 @@ class EmojiHoarder: ObservableObject { let data = try! Data(contentsOf: endpoint) let decoded: [SlackResponse] = try! JSONDecoder().decode([SlackResponse].self, from: data) - var emojis = decoded.prefix(100).map { Emoji(name: $0.name, url: $0.imageUrl) } - for i in emojis.indices { - emojis[i].grabImageSync() - } + var emojis = decoded.map { Emoji(name: $0.name, url: $0.imageUrl) } self.emojis = emojis // Task { // for i in emojis.indices { diff --git a/StickerSlack/Views/ContentView.swift b/StickerSlack/Views/ContentView.swift index e0382d7..6c9ce4c 100644 --- a/StickerSlack/Views/ContentView.swift +++ b/StickerSlack/Views/ContentView.swift @@ -16,7 +16,7 @@ struct ContentView: View { List { ForEach(hoarder.emojis, id: \.self) { emoji in Text(emoji.name) - emoji.image + AsyncImage(url: emoji.url) } } .tabItem {