generateInfoDetails method

dynamic generateInfoDetails(
  1. VgkCardHorizontaWithSubDetailModel data,
  2. dynamic context,
  3. int divider,
  4. dynamic primaryColor,
)

Implementation

generateInfoDetails(VgkCardHorizontaWithSubDetailModel data, context,
    int divider, primaryColor) {
  var result = <Widget>[];
  result.add(Padding(
    padding: VgkProGamingTheme.edgeInsetsPaddingDoubleExtraLarge,
    child: Row(
      children: <Widget>[
        Expanded(
          child: Text(
            data.key.toUpperCase(),
            textAlign: TextAlign.left,
            style: MediaQuery.of(context).size.width >= 375
                ? VgkProGamingTheme.h2(primaryColor)
                : VgkProGamingTheme.h3(primaryColor),
          ),
        ),
      ],
    ),
  ));
  result.add(
    Padding(
      padding: VgkProGamingTheme.edgeInsetsPaddingDoubleExtraLarge,
      child: Row(
        children: <Widget>[
          Expanded(
            child: Padding(
              padding: const EdgeInsets.only(
                right: VgkProGamingTheme.paddingDoubleExtraLarge,
              ),
              child: Column(children: rangeInfo(data.range, primaryColor)),
            ),
          ),
          Center(
            child: Stack(
              children: <Widget>[
                Container(
                  width: 100,
                  height: 120,
                  decoration: BoxDecoration(
                    color: VgkProGamingTheme.grey.withOpacity(0.1),
                    borderRadius: const BorderRadius.all(
                      Radius.circular(16.0),
                    ),
                  ),
                  child: Column(
                    mainAxisAlignment: MainAxisAlignment.center,
                    crossAxisAlignment: CrossAxisAlignment.center,
                    children: <Widget>[
                      Padding(
                        padding: const EdgeInsets.all(8.0),
                        child: VgkCommonUtils.imageloader(data.src),
                        // child: Image.network(data.src),
                      ),
                    ],
                  ),
                ),
              ],
            ),
          ),
        ],
      ),
    ),
  );
  result.add(
    Padding(
      padding: VgkProGamingTheme.edgeInsetsPaddingDoubleExtraLarge,
      child: Container(
        height: 2,
        decoration: BoxDecoration(
          color: VgkProGamingTheme.background,
          borderRadius: const BorderRadius.all(Radius.circular(4.0)),
        ),
      ),
    ),
  );
  if (divider == 1 && data.info.isNotEmpty) {
    for (var element in data.info) {
      result.add(
        VgkCommonWidget.vgkRangeInfo(
            element.key, element.value, 100, primaryColor),
      );
    }
  }
  if (divider == 2 && data.info.isNotEmpty) {
    int index = (data.info.length ~/ divider).toInt();
    if (data.info.length == 1) {
      index = 1;
    }
    int currentData = 0;
    for (var i = 0; i < index; i++) {
      var firstElement = data.info[currentData];
      VgkHeadModel? secondElement;
      if (currentData + 1 < data.info.length) {
        secondElement = data.info[currentData + 1];
      }
      currentData = currentData + 2;
      result.add(
        widgetForDamageDetails(
            firstElement.key,
            firstElement.value,
            secondElement != null ? secondElement.key : "",
            secondElement != null ? secondElement.value : "",
            primaryColor),
      );
    }
  }
  return result;
}