|
|
|
@ -9,7 +9,10 @@ import SwiftUI
|
|
|
|
|
|
|
|
|
|
struct ScoreboardView: View {
|
|
|
|
|
@Environment(\.horizontalSizeClass)
|
|
|
|
|
private var horizontalSizeClass
|
|
|
|
|
private var horizontalSizeClass: UserInterfaceSizeClass?
|
|
|
|
|
|
|
|
|
|
private let playerRelatedColumnKey: LocalizedStringKey
|
|
|
|
|
private let localizedKeyProvider: (Result) -> LocalizedStringKey
|
|
|
|
|
|
|
|
|
|
@State private var unsinished = [
|
|
|
|
|
Result(date: Date.now, player1: "P1", player2: "P2", rules: "Rule1"),
|
|
|
|
@ -24,7 +27,7 @@ struct ScoreboardView: View {
|
|
|
|
|
if horizontalSizeClass == .compact {
|
|
|
|
|
List(self.unsinished) { result in
|
|
|
|
|
VStack(alignment: .center) {
|
|
|
|
|
Text("\(result.player1) scoreboard.column.players.entry \(result.player2)")
|
|
|
|
|
Text(localizedKeyProvider(result))
|
|
|
|
|
HStack {
|
|
|
|
|
Text(result.date, style: .date)
|
|
|
|
|
Spacer()
|
|
|
|
@ -37,15 +40,22 @@ struct ScoreboardView: View {
|
|
|
|
|
TableColumn("scoreboard.table.column.date") { result in
|
|
|
|
|
Text(result.date, style: .date)
|
|
|
|
|
}
|
|
|
|
|
TableColumn("scoreboard.table.column.players") { result in
|
|
|
|
|
Text("\(result.player1) scoreboard.column.players.entry \(result.player2)")
|
|
|
|
|
TableColumn(playerRelatedColumnKey) { result in
|
|
|
|
|
Text(localizedKeyProvider(result))
|
|
|
|
|
}
|
|
|
|
|
TableColumn("scoreboard.table.column.rules", value: \.rules)
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
public init(_ playerRelatedColumnKey: LocalizedStringKey, localizedKeyProvider: @escaping (Result) -> LocalizedStringKey) {
|
|
|
|
|
self.playerRelatedColumnKey = playerRelatedColumnKey
|
|
|
|
|
self.localizedKeyProvider = localizedKeyProvider
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
#Preview {
|
|
|
|
|
ScoreboardView()
|
|
|
|
|
ScoreboardView("scoreboard.table.column.players") { result in
|
|
|
|
|
"\(result.player1) savedGames.section.unfinished.entry \(result.player2)"
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|