returnActiveToolCard method

  1. @override
Widget returnActiveToolCard()
override

Implementation

@override
Widget returnActiveToolCard() {
  List<Widget> gridItems = [];

  for (var element in cardItems) {
    var cardItem = StandardSelectionCardElement(cardLabel: element);

    gridItems.add(GestureDetector(
        onTap: () => {
              if (cardItem.isCardSelected == true)
                {
                  selectedItems.add(element),
                }
              else if (cardItem.isCardSelected == false)
                {
                  selectedItems.remove(element),
                }
            },
        child: cardItem));
  }

  var row = Row(
      crossAxisAlignment: CrossAxisAlignment.center,
      mainAxisAlignment: MainAxisAlignment.center,
      children: [
        SmolButtonElement(
            decorationVariant: decorationPriority.standard,
            buttonTitle: 'Skip',
            buttonHint: 'Skips the current card.',
            buttonAction: () => {
                  onNextCard(),
                }),
        const Spacer(),
        SmolButtonElement(
            decorationVariant: gridItems.isEmpty
                ? decorationPriority.inactive
                : decorationPriority.important,
            buttonTitle: 'Next',
            buttonHint: 'Goes to the next card.',
            buttonAction: () => {
                  onNextCard(),
                }),
      ]);

  return BaseCardToolTemplate(
      isActive: true,
      cardIcon: badgeIcon,
      toolPrompt: templatePrompt,
      toolChildren: [
        Padding(
          padding: const EdgeInsets.all(8.0),
          child: Wrap(
            runAlignment: WrapAlignment.spaceEvenly,
            runSpacing: 10,
            spacing: 10,
            children: gridItems,
          ),
        ),
        const SizedBox(height: 10.0),
        const DividerElement(),
        const SizedBox(height: 20.0),
        row
      ]);
}