import SwiftUI

struct LayoutTwoView: View {
    @EnvironmentObject var orientation: DeviceOrientation
    var player1: PlayerModel
    var player2: PlayerModel

    private let portraitColumns = [
        GridItem(.flexible())
    ]
    private let landscapeColumns = [
        GridItem(.flexible()),
        GridItem(.flexible())
    ]

    private var videoSize: CGFloat {
        let padding: CGFloat = 24
        var size = orientation.isPortrait ? UIScreen.main.bounds.width - padding : UIScreen.main.bounds.height - padding
        while size * 2 + padding > (orientation.isPortrait ? UIScreen.main.bounds.height : UIScreen.main.bounds.width) {
            size -= padding
        }
        return size
    }

    var body: some View {
        LazyVGrid(columns: orientation.isPortrait ? portraitColumns : landscapeColumns, spacing: 12, content: {
            PlayerView(playerModel: player1)
                .frame(width: videoSize, height: videoSize)
            PlayerView(playerModel: player2)
                .frame(width: videoSize, height: videoSize)
        })
    }
}