import 'package:flutter/material.dart';
import 'package:tetrisdual/provider/data.dart';

class Board {
  static Container activePlayer(Widget playerBoard, bool active) {
    Color borderColor = active ? Colors.greenAccent : Colors.blueGrey;

    return Container(
      decoration: BoxDecoration(
        border: Border.all(
          color: borderColor,
          width: 15,
        ),
      ),
      child: playerBoard,
    );
  }

  static Container buildGameBoard(Data myProvider, double boardWidth) {
    Widget player1 = new RotatedBox(
      quarterTurns: 2,
      child: myProvider.getPlayer(1).buildPlayerBoard(myProvider, boardWidth),
    );
    Widget player2 = myProvider.getPlayer(2).buildPlayerBoard(myProvider, boardWidth);

    Widget togglePlayerWidget = GestureDetector(
      onTapUp: (details) {
        myProvider.toggleCurrentPlayer();
        myProvider.getPlayer(myProvider.currentPlayer).pickRandomTetrimino();
      },
      child: Text(
        '🔄',
        style: TextStyle(
          fontSize: 50,
        ),
      ),
    );

    return Container(
      child: Column(
        mainAxisAlignment: MainAxisAlignment.spaceBetween,
        crossAxisAlignment: CrossAxisAlignment.center,
        children: [
          activePlayer(player1, myProvider.currentPlayer == 1),
          togglePlayerWidget,
          activePlayer(player2, myProvider.currentPlayer == 2),
        ],
      ),
    );
  }
}