images for testdata, adding alias handling

This commit is contained in:
neon443
2025-10-16 20:33:39 +01:00
parent c5afd89222
commit a9a047ca6e
2 changed files with 14 additions and 3 deletions

View File

@@ -12,6 +12,14 @@ struct SlackResponse: Codable {
var emoji: [String:String] var emoji: [String:String]
func toEmojis() -> [Emoji] { func toEmojis() -> [Emoji] {
let initialMap = emoji.map {
Emoji(name: $0.key, url: $0.value)
}
initialMap.map {
var ret = $0
ret.urlString = ret.urlString.prefix(6) == "alias:" ? initialMap.first(where: { $0.name == ret.name })!.url : ret.urlString
return ret
}
return emoji.map { return emoji.map {
Emoji(name: $0.key, url: $0.value) Emoji(name: $0.key, url: $0.value)
} }
@@ -20,10 +28,13 @@ struct SlackResponse: Codable {
struct Emoji: Codable, Hashable { struct Emoji: Codable, Hashable {
var name: String var name: String
var url: String var urlString: String
var url: URL {
return URL(string: urlString) ?? URL(string: "https://")!
}
init(name: String, url: String) { init(name: String, url: String) {
self.name = name self.name = name
self.url = url self.urlString = url
} }
} }

View File

@@ -16,7 +16,7 @@ struct ContentView: View {
List { List {
ForEach(hoarder.testBundle.toEmojis(), id: \.self) { emoji in ForEach(hoarder.testBundle.toEmojis(), id: \.self) { emoji in
Text(emoji.name) Text(emoji.name)
Text(emoji.url) AsyncImage(url: emoji.url)
} }
} }
.tabItem { .tabItem {