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
struct SlackResponse: Codable {
var ok: Bool
var emoji: [String:String]
var name: String
var imageUrl: String
var alias: String?
func toEmojis() -> [Emoji] {
let initialMap = emoji.map {
Emoji(name: $0.key, url: $0.value)
}
return initialMap.map {
var ret = $0
if ret.urlString.prefix(6) == "alias:" {
if let orig = initialMap.first(where: {
$0.name == "\(ret.urlString.dropFirst(6))"
}) {
ret.urlString = orig.urlString
}
}
return ret
}
}
// func toEmojis() -> [Emoji] {
// let initialMap = emoji.map {
// Emoji(name: $0.key, url: $0.value)
// }
// return initialMap.map {
// var ret = $0
// if ret.urlString.prefix(6) == "alias:" {
// if let orig = initialMap.first(where: {
// $0.name == "\(ret.urlString.dropFirst(6))"
// }) {
// ret.urlString = orig.urlString
// }
// }
// return ret
// }
// }
}

View File

@@ -10,24 +10,25 @@ import SwiftUI
import Combine
class EmojiHoarder: ObservableObject {
private let endpoint: URL = URL(string: "https://slack.com/api/emoji.list")!
@Published var kys = ""
private let endpoint: URL = URL(string: "https://cachet.dunkirk.sh/emojis")!
@Published var testBundle: SlackResponse
@Published var emojis: [Emoji] = []
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 {
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
let data = try! Data(contentsOf: endpoint)
let decoded: [SlackResponse] = try! JSONDecoder().decode([SlackResponse].self, from: data)
emojis = decoded.prefix(10).map { Emoji(name: $0.name, url: $0.imageUrl) }
}
}

View File

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