Signed-off-by: Matt Bruce <mbrucedogs@gmail.com>

This commit is contained in:
Matt Bruce 2026-01-19 13:20:27 -06:00
parent adf0064b49
commit ade1eb342a

View File

@ -9,8 +9,8 @@ import SwiftUI
import CasinoKit import CasinoKit
struct GameTableView: View, SherpaDelegate { struct GameTableView: View, SherpaDelegate {
@State private var settings = GameSettings() @State private var settings: GameSettings
@State private var gameState: GameState? @State private var gameState: GameState
@State private var selectedChip: ChipDenomination = .twentyFive @State private var selectedChip: ChipDenomination = .twentyFive
// MARK: - Sheet State // MARK: - Sheet State
@ -48,19 +48,20 @@ struct GameTableView: View, SherpaDelegate {
return .infinity return .infinity
} }
/// Provides the current game state, creating one if needed (fallback for initial render). /// Provides the current game state.
private var state: GameState { private var state: GameState { gameState }
gameState ?? GameState(settings: settings)
}
// MARK: - Body // MARK: - Body
init() {
let settings = GameSettings()
self._settings = State(initialValue: settings)
self._gameState = State(initialValue: GameState(settings: settings))
}
var body: some View { var body: some View {
mainGameView(state: state) mainGameView(state: state)
.onAppear { .onAppear {
if gameState == nil {
gameState = GameState(settings: settings)
}
checkForWelcomeSheet() checkForWelcomeSheet()
} }
.sheet(isPresented: $showSettings) { .sheet(isPresented: $showSettings) {
@ -355,4 +356,3 @@ struct GameTableView: View, SherpaDelegate {
#Preview { #Preview {
GameTableView() GameTableView()
} }