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)
            }
        }
    }
}
