made it work for new format
This commit is contained in:
Lncvrt committed 2025-06-22 12:55:08 -07:00
1 parent 5ea2fabae8
commit 7828d258e7
3 files changed
+6 -13

No files matched your search

+2 -2
View File
@@ -393,7 +393,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 13.5; MACOSX_DEPLOYMENT_TARGET = 13.5;
MARKETING_VERSION = 1.0.1; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards"; PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
REGISTER_APP_GROUPS = YES; REGISTER_APP_GROUPS = YES;
@@ -432,7 +432,7 @@
LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks"; LD_RUNPATH_SEARCH_PATHS = "@executable_path/Frameworks";
"LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks"; "LD_RUNPATH_SEARCH_PATHS[sdk=macosx*]" = "@executable_path/../Frameworks";
MACOSX_DEPLOYMENT_TARGET = 13.5; MACOSX_DEPLOYMENT_TARGET = 13.5;
MARKETING_VERSION = 1.0.1; MARKETING_VERSION = 1.0.2;
PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards"; PRODUCT_BUNDLE_IDENTIFIER = "xyz.lncvrt.Berry-Leaderboards";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
REGISTER_APP_GROUPS = YES; REGISTER_APP_GROUPS = YES;
+1 -1
View File
@@ -40,7 +40,7 @@ struct ContentView: View {
.padding() .padding()
} }
List(players) { player in List(players, id: \.username) { player in
HStack { HStack {
Text(player.username) Text(player.username)
Spacer() Spacer()
+3 -10
View File
@@ -7,19 +7,12 @@
import Foundation import Foundation
struct Player: Identifiable { struct Player: Codable {
let id = UUID()
let username: String let username: String
let score: Int let score: Int
} }
func parseLeaderboard(_ raw: String) -> [Player] { func parseLeaderboard(_ raw: String) -> [Player] {
raw.split(separator: ";").compactMap { entry in guard let data = raw.data(using: .utf8) else { return [] }
let parts = entry.split(separator: ":") return (try? JSONDecoder().decode([Player].self, from: data)) ?? []
guard parts.count == 2,
let nameData = Data(base64Encoded: String(parts[0])),
let username = String(data: nameData, encoding: .utf8),
let score = Int(parts[1]) else { return nil }
return Player(username: username, score: score)
}
} }