import 'package:aman_kassa_flutter/shared/app_colors.dart'; import 'package:auto_size_text/auto_size_text.dart'; import 'package:flutter/material.dart'; /// A button that shows a busy indicator in place of title class AmanIconButtonHorizontal extends StatefulWidget { final String title; final Function onPressed; final Color activeColor; final Color inactiveColor; final bool selected; final IconData icon; const AmanIconButtonHorizontal( {required this.title, required this.onPressed, this.activeColor = primaryColor, this.inactiveColor = Colors.black26, this.selected = false, required this.icon}); @override _AmanIconButtonHorizontalState createState() => _AmanIconButtonHorizontalState(); } class _AmanIconButtonHorizontalState extends State { @override Widget build(BuildContext context) { return GestureDetector( child: InkWell( borderRadius: BorderRadius.circular(3), onTap: () => widget.onPressed(), child: Row( mainAxisAlignment: MainAxisAlignment.center, children: [ Flexible( fit: FlexFit.loose, flex: 1, child: Icon(widget.icon, color: widget.selected ? widget.activeColor : widget.inactiveColor), ), SizedBox( width: 5, ), Flexible( fit: FlexFit.loose, flex: 5, child: AutoSizeText(widget.title, maxLines: 1, // textAlign: TextAlign.center, style: TextStyle( color: widget.selected ? widget.activeColor : widget.inactiveColor, fontWeight: FontWeight.w800)), ) ], ), ), ); } }