diff --git a/Frontend/lib/mih_components/mih_package_components/mih_numeric_stepper.dart b/Frontend/lib/mih_components/mih_package_components/mih_numeric_stepper.dart index 30219f26..ea14b2a0 100644 --- a/Frontend/lib/mih_components/mih_package_components/mih_numeric_stepper.dart +++ b/Frontend/lib/mih_components/mih_package_components/mih_numeric_stepper.dart @@ -44,142 +44,161 @@ class _MihNumericStepperState extends State { @override Widget build(BuildContext context) { - return Row( - mainAxisSize: MainAxisSize.min, - crossAxisAlignment: CrossAxisAlignment.end, + return Column( children: [ - Column( + Row( children: [ - Container( - // color: Colors.white, - decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(25), // Optional: rounds the corners - boxShadow: const [ - BoxShadow( - color: Color.fromARGB( - 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) - spreadRadius: -2, - blurRadius: 10, - offset: Offset(0, 5), - ), - ], - ), - child: Padding( - padding: const EdgeInsets.only( - top: 2.0, - left: 5.0, - ), - child: SizedBox( - width: 40, - child: IconButton.filled( - style: ButtonStyle( - backgroundColor: - WidgetStateProperty.all(widget.fillColor), - ), - color: widget.inputColor, - iconSize: 20, - onPressed: () { - print("Current Value: $_currentValue"); - if (_currentValue >= (widget.minValue ?? 0)) { - setState(() { - widget.controller.text = - (_currentValue - 1).toString(); - _currentValue = int.tryParse(widget.controller.text)!; - }); - } - print("New Current Value: $_currentValue"); - }, - icon: const Icon( - Icons.remove, - ), - ), - ), - ), - ), - Visibility( - visible: _currentValue < (widget.minValue ?? 0), - child: const SizedBox( - height: 21, + Text( + widget.hintText, + style: TextStyle( + fontWeight: FontWeight.bold, + color: widget.fillColor, + fontSize: 15, ), ), ], ), - const SizedBox(width: 5), - Expanded( - child: MihTextFormField( - width: widget.width, - fillColor: widget.fillColor, - inputColor: widget.inputColor, - controller: widget.controller, - hintText: widget.hintText, - requiredText: widget.requiredText, - readOnly: true, - numberMode: true, - validator: (value) { - if (widget.validationOn) { - return MihValidationServices() - .validateNumber(value, widget.minValue, widget.maxValue); - } - return null; - }, - ), - ), - Column( + const SizedBox(height: 4), + Row( + mainAxisSize: MainAxisSize.min, + crossAxisAlignment: CrossAxisAlignment.end, children: [ - Container( - // color: Colors.white, - decoration: BoxDecoration( - borderRadius: - BorderRadius.circular(25), // Optional: rounds the corners - boxShadow: const [ - BoxShadow( - color: Color.fromARGB( - 60, 0, 0, 0), // 0.2 opacity = 51 in alpha (255 * 0.2) - spreadRadius: -2, - blurRadius: 10, - offset: Offset(0, 5), + Column( + children: [ + Container( + // color: Colors.white, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular( + 25), // Optional: rounds the corners + boxShadow: const [ + BoxShadow( + color: Color.fromARGB(60, 0, 0, + 0), // 0.2 opacity = 51 in alpha (255 * 0.2) + spreadRadius: -2, + blurRadius: 10, + offset: Offset(0, 5), + ), + ], ), - ], - ), - child: Padding( - padding: const EdgeInsets.only( - top: 2.0, - left: 5.0, - ), - child: SizedBox( - width: 40, - child: IconButton.filled( - style: ButtonStyle( - backgroundColor: - WidgetStateProperty.all(widget.fillColor), + child: Padding( + padding: const EdgeInsets.only( + top: 2.0, + left: 5.0, ), - color: widget.inputColor, - iconSize: 20, - onPressed: () { - print("Current Value: $_currentValue"); - if (widget.maxValue == null || - _currentValue <= widget.maxValue!) { - setState(() { - widget.controller.text = - (_currentValue + 1).toString(); - _currentValue = int.tryParse(widget.controller.text)!; - }); - } - print("New Current Value: $_currentValue"); - }, - icon: const Icon( - Icons.add, + child: SizedBox( + width: 40, + child: IconButton.filled( + style: ButtonStyle( + backgroundColor: + WidgetStateProperty.all(widget.fillColor), + ), + color: widget.inputColor, + iconSize: 20, + onPressed: () { + print("Current Value: $_currentValue"); + if (_currentValue >= (widget.minValue ?? 0)) { + setState(() { + widget.controller.text = + (_currentValue - 1).toString(); + _currentValue = + int.tryParse(widget.controller.text)!; + }); + } + print("New Current Value: $_currentValue"); + }, + icon: const Icon( + Icons.remove, + ), + ), ), ), ), + Visibility( + visible: _currentValue < (widget.minValue ?? 0), + child: const SizedBox( + height: 21, + ), + ), + ], + ), + const SizedBox(width: 5), + Expanded( + child: MihTextFormField( + width: widget.width, + fillColor: widget.fillColor, + inputColor: widget.inputColor, + controller: widget.controller, + hintText: null, + requiredText: widget.requiredText, + readOnly: true, + numberMode: true, + validator: (value) { + if (widget.validationOn) { + return MihValidationServices().validateNumber( + value, widget.minValue, widget.maxValue); + } + return null; + }, ), ), - Visibility( - visible: _currentValue < (widget.minValue ?? 0), - child: const SizedBox( - height: 20, - ), + Column( + children: [ + Container( + // color: Colors.white, + decoration: BoxDecoration( + borderRadius: BorderRadius.circular( + 25), // Optional: rounds the corners + boxShadow: const [ + BoxShadow( + color: Color.fromARGB(60, 0, 0, + 0), // 0.2 opacity = 51 in alpha (255 * 0.2) + spreadRadius: -2, + blurRadius: 10, + offset: Offset(0, 5), + ), + ], + ), + child: Padding( + padding: const EdgeInsets.only( + top: 2.0, + left: 5.0, + ), + child: SizedBox( + width: 40, + child: IconButton.filled( + style: ButtonStyle( + backgroundColor: + WidgetStateProperty.all(widget.fillColor), + ), + color: widget.inputColor, + iconSize: 20, + onPressed: () { + print("Current Value: $_currentValue"); + if (widget.maxValue == null || + _currentValue <= widget.maxValue!) { + setState(() { + widget.controller.text = + (_currentValue + 1).toString(); + _currentValue = + int.tryParse(widget.controller.text)!; + }); + } + print("New Current Value: $_currentValue"); + }, + icon: const Icon( + Icons.add, + ), + ), + ), + ), + ), + Visibility( + visible: _currentValue < (widget.minValue ?? 0), + child: const SizedBox( + height: 20, + ), + ), + ], ), ], ),