titleBar method

Widget titleBar()

Implementation

Widget titleBar() {
  var validatorOutput = widget.validator!(selectedResult);

  Widget validatorOutputWidget = valid
      ? const SizedBox.shrink()
      : validatorOutput is String
          ? Text(
              validatorOutput,
              style: const TextStyle(color: Colors.red, fontSize: 13),
            )
          : validatorOutput;

  Widget doneButtonWidget =
      widget.multipleSelection || widget.doneButton != null
          ? prepareWidget(widget.doneButton,
              parameter: selectedResult,
              context: context, stringToWidgetFunction: (string) {
              return (ElevatedButton.icon(
                  onPressed: !valid
                      ? null
                      : () {
                          pop();
                          setState(() {});
                        },
                  icon: const Icon(Icons.close),
                  label: Text(string)));
            })
          : const SizedBox.shrink();
  return widget.hint != null
      ? Container(
          margin: const EdgeInsets.only(bottom: 8),
          child: Row(
              mainAxisAlignment: MainAxisAlignment.spaceBetween,
              children: [
                prepareWidget(widget.hint),
                Column(
                  children: <Widget>[doneButtonWidget, validatorOutputWidget],
                ),
              ]),
        )
      : Column(
          children: <Widget>[doneButtonWidget, validatorOutputWidget],
        );
}