import SwiftUI struct ThemePickerView: View { @Binding var selectedTheme: GameTheme var body: some View { LazyVGrid(columns: [GridItem(.adaptive(minimum: 100))], spacing: 12) { ForEach(GameTheme.allThemes) { theme in Button { selectedTheme = theme } label: { VStack(spacing: 6) { RoundedRectangle(cornerRadius: 8) .fill(theme.backgroundColor) .frame(height: 50) .overlay { RoundedRectangle(cornerRadius: 8) .strokeBorder(theme.accentColor, lineWidth: 2) } Text(theme.displayName) .font(.caption2) .lineLimit(1) } .overlay { if theme == selectedTheme { RoundedRectangle(cornerRadius: 8) .stroke(Color.accentColor, lineWidth: 3) .padding(-4) } } } .buttonStyle(.plain) } } } }