mirror of
				https://gitlab.com/comunic/comunicmobile
				synced 2025-10-27 08:14:51 +00:00 
			
		
		
		
	Add active mode
This commit is contained in:
		| @@ -10,41 +10,47 @@ class IconButtonWithBadge extends StatelessWidget { | ||||
|   final Widget icon; | ||||
|   final void Function() onPressed; | ||||
|   final int number; | ||||
|   final bool active; | ||||
|  | ||||
|   const IconButtonWithBadge({ | ||||
|     Key key, | ||||
|     @required this.icon, | ||||
|     @required this.onPressed, | ||||
|     this.number = 0, | ||||
|     this.active = false, | ||||
|   })  : assert(icon != null), | ||||
|         assert(number != null), | ||||
|         assert(active != null), | ||||
|         super(key: key); | ||||
|  | ||||
|   @override | ||||
|   Widget build(BuildContext context) { | ||||
|     return Stack( | ||||
|       alignment: AlignmentDirectional.center, | ||||
|       children: <Widget>[ | ||||
|         IconButton(icon: icon, onPressed: onPressed), | ||||
|         number != 0 | ||||
|             ? Positioned( | ||||
|                 right: 6, | ||||
|                 top: 6, | ||||
|                 child: Container( | ||||
|                   padding: EdgeInsets.all(2), | ||||
|                   decoration: BoxDecoration( | ||||
|                     color: Colors.red, | ||||
|                     borderRadius: BorderRadius.circular(6), | ||||
|                   ), | ||||
|                   constraints: BoxConstraints(minWidth: 14, minHeight: 14), | ||||
|                   child: Text( | ||||
|                     "$number", | ||||
|                     style: TextStyle(color: Colors.white, fontSize: 12), | ||||
|                     textAlign: TextAlign.center, | ||||
|                   ), | ||||
|                 )) | ||||
|             : Container() | ||||
|       ], | ||||
|     return Container( | ||||
|       color: active ? Color(0x55000000) : null, | ||||
|       child: Stack( | ||||
|         alignment: AlignmentDirectional.center, | ||||
|         children: <Widget>[ | ||||
|           IconButton(icon: icon, onPressed: onPressed), | ||||
|           number != 0 | ||||
|               ? Positioned( | ||||
|                   right: 6, | ||||
|                   top: 6, | ||||
|                   child: Container( | ||||
|                     padding: EdgeInsets.all(2), | ||||
|                     decoration: BoxDecoration( | ||||
|                       color: Colors.red, | ||||
|                       borderRadius: BorderRadius.circular(6), | ||||
|                     ), | ||||
|                     constraints: BoxConstraints(minWidth: 14, minHeight: 14), | ||||
|                     child: Text( | ||||
|                       "$number", | ||||
|                       style: TextStyle(color: Colors.white, fontSize: 12), | ||||
|                       textAlign: TextAlign.center, | ||||
|                     ), | ||||
|                   )) | ||||
|               : Container() | ||||
|         ], | ||||
|       ), | ||||
|     ); | ||||
|   } | ||||
| } | ||||
|   | ||||
		Reference in New Issue
	
	Block a user