switched to cachet.dunkirk.sh

had to prefix 10 or itd softlock 😭😭
This commit is contained in:
neon443
2025-10-17 21:41:34 +01:00
parent fb254ecb9e
commit 7c798a8e55
3 changed files with 36 additions and 34 deletions

View File

@@ -8,23 +8,24 @@
import Foundation import Foundation
struct SlackResponse: Codable { struct SlackResponse: Codable {
var ok: Bool var name: String
var emoji: [String:String] var imageUrl: String
var alias: String?
func toEmojis() -> [Emoji] { // func toEmojis() -> [Emoji] {
let initialMap = emoji.map { // let initialMap = emoji.map {
Emoji(name: $0.key, url: $0.value) // Emoji(name: $0.key, url: $0.value)
} // }
return initialMap.map { // return initialMap.map {
var ret = $0 // var ret = $0
if ret.urlString.prefix(6) == "alias:" { // if ret.urlString.prefix(6) == "alias:" {
if let orig = initialMap.first(where: { // if let orig = initialMap.first(where: {
$0.name == "\(ret.urlString.dropFirst(6))" // $0.name == "\(ret.urlString.dropFirst(6))"
}) { // }) {
ret.urlString = orig.urlString // ret.urlString = orig.urlString
} // }
} // }
return ret // return ret
} // }
} // }
} }

View File

@@ -10,24 +10,25 @@ import SwiftUI
import Combine import Combine
class EmojiHoarder: ObservableObject { class EmojiHoarder: ObservableObject {
private let endpoint: URL = URL(string: "https://slack.com/api/emoji.list")! private let endpoint: URL = URL(string: "https://cachet.dunkirk.sh/emojis")!
@Published var kys = ""
@Published var testBundle: SlackResponse @Published var emojis: [Emoji] = []
init() { init() {
self.kys = "" // guard let testURL = Bundle.main.url(forResource: "testData", withExtension: "json") else {
// fatalError("")
// }
// guard let data = try? Data(contentsOf: testURL) else {
// self.testBundle = SlackResponse(ok: false, emoji: [:])
// return
// }
// guard let decoded = try? JSONDecoder().decode(SlackResponse.self, from: data) else {
// fatalError("couldnt decode :sob:")
// }
// self.testBundle = decoded
guard let testURL = Bundle.main.url(forResource: "testData", withExtension: "json") else { let data = try! Data(contentsOf: endpoint)
fatalError("") let decoded: [SlackResponse] = try! JSONDecoder().decode([SlackResponse].self, from: data)
} emojis = decoded.prefix(10).map { Emoji(name: $0.name, url: $0.imageUrl) }
guard let data = try? Data(contentsOf: testURL) else {
self.testBundle = SlackResponse(ok: false, emoji: [:])
return
}
guard let decoded = try? JSONDecoder().decode(SlackResponse.self, from: data) else {
fatalError("couldnt decode :sob:")
}
self.testBundle = decoded
} }
} }

View File

@@ -14,7 +14,7 @@ struct ContentView: View {
NavigationStack { NavigationStack {
TabView { TabView {
List { List {
ForEach(hoarder.testBundle.toEmojis(), id: \.self) { emoji in ForEach(hoarder.emojis, id: \.self) { emoji in
Text(emoji.name) Text(emoji.name)
emoji.image emoji.image
} }