borderContainer static method

Container borderContainer(
  1. Map<String, String> borderDetails,
  2. Widget child
)

Function for adding borders in containers

Implementation

static Container borderContainer(Map<String, String> borderDetails, Widget child) {
  BorderSide topBorder = const BorderSide(width: 0);
  BorderSide leftBorder = const BorderSide(width: 0);
  BorderSide bottomBorder = const BorderSide(width: 0);
  BorderSide rightBorder = const BorderSide(width: 0);
  if (borderDetails.isNotEmpty) {
    if (borderDetails["top-val"] != null) {
      topBorder = topBorder.copyWith(style: BorderStyle.solid);
    }
    if (borderDetails["top-sz"] != null) {
      topBorder = topBorder.copyWith(width: double.parse(borderDetails["top-sz"].toString()) / 2);
    }
    if (borderDetails["top-color"] != null && borderDetails["top-color"] != "auto") {
      topBorder = topBorder.copyWith(color: Color(int.parse("FF${borderDetails["top-color"]}", radix: 16)));
    }

    if (borderDetails["left-val"] != null) {
      leftBorder = leftBorder.copyWith(style: BorderStyle.solid);
    }
    if (borderDetails["left-sz"] != null) {
      leftBorder = leftBorder.copyWith(width: double.parse(borderDetails["left-sz"].toString()) / 2);
    }
    if (borderDetails["left-color"] != null) {
      leftBorder = leftBorder.copyWith(color: Color(int.parse("FF${borderDetails["left-color"]}", radix: 16)));
    }

    if (borderDetails["bottom-val"] != null) {
      bottomBorder = bottomBorder.copyWith(style: BorderStyle.solid);
    }
    if (borderDetails["bottom-sz"] != null) {
      bottomBorder = bottomBorder.copyWith(width: double.parse(borderDetails["bottom-sz"].toString()) / 2);
    }
    if (borderDetails["bottom-color"] != null && borderDetails["bottom-color"] != "auto") {
      bottomBorder = bottomBorder.copyWith(color: Color(int.parse("FF${borderDetails["bottom-color"]}", radix: 16)));
    }

    if (borderDetails["right-val"] != null) {
      rightBorder = rightBorder.copyWith(style: BorderStyle.solid);
    }
    if (borderDetails["right-sz"] != null) {
      rightBorder = rightBorder.copyWith(width: double.parse(borderDetails["right-sz"].toString()) / 2);
    }
    if (borderDetails["right-color"] != null && borderDetails["right-color"] != "auto") {
      rightBorder = rightBorder.copyWith(color: Color(int.parse("FF${borderDetails["right-color"]}", radix: 16)));
    }
  }
  return Container(
    decoration: BoxDecoration(
        border: Border(
      top: topBorder.width != 0 ? topBorder : BorderSide.none,
      right: rightBorder.width != 0 ? rightBorder : BorderSide.none,
      bottom: bottomBorder.width != 0 ? bottomBorder : BorderSide.none,
      left: leftBorder.width != 0 ? leftBorder : BorderSide.none,
    )),
    child: child,
  );
}