You cannot select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
	
	
		
			41 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
			
		
		
	
	
			41 lines
		
	
	
		
			1.9 KiB
		
	
	
	
		
			Dart
		
	
| import 'package:flutter/material.dart';
 | |
| import 'package:test_sa/extensions/context_extension.dart';
 | |
| import 'package:test_sa/extensions/text_extensions.dart';
 | |
| 
 | |
| class StatusLabel extends StatelessWidget {
 | |
|   String? label;
 | |
|   final int? id;
 | |
|   final Color? backgroundColor;
 | |
|   final Color? textColor;
 | |
|   final bool isPriority;
 | |
|   final double radius;
 | |
|   final bool labelInCenter;
 | |
| 
 | |
|   StatusLabel({Key? key, this.id = 0, this.label, this.backgroundColor, this.textColor, this.isPriority = false, this.radius = 4, this.labelInCenter = false}) : super(key: key);
 | |
| 
 | |
|   @override
 | |
|   Widget build(BuildContext context) {
 | |
|     if (label?.toLowerCase() == 'In progress'.toLowerCase()) label = context.translation.inProgress;
 | |
|     if (label?.toLowerCase() == 'Completed'.toLowerCase()) label = context.translation.completed;
 | |
|     if (label?.toLowerCase() == 'Open'.toLowerCase()) label = context.translation.open;
 | |
|     if (label?.toLowerCase() == 'Closed'.toLowerCase()) label = context.translation.closed;
 | |
|     if (label?.toLowerCase() == 'Low'.toLowerCase()) label = context.translation.lowPriority;
 | |
|     if (label?.toLowerCase() == 'No'.toLowerCase()) label = context.translation.lowPriority;
 | |
|     if (label?.toLowerCase() == 'High'.toLowerCase()) label = context.translation.highPriority;
 | |
|     if (label?.toLowerCase() == 'Yes'.toLowerCase()) label = context.translation.highPriority;
 | |
|     if (label?.toLowerCase() == 'Waiting for quotation'.toLowerCase()) label = context.translation.waitingForQuotation;
 | |
| 
 | |
|     return Container(
 | |
|       padding: const EdgeInsets.symmetric(vertical: 6, horizontal: 10),
 | |
|       alignment: labelInCenter ? Alignment.center : null,
 | |
|       decoration: ShapeDecoration(
 | |
|         color: backgroundColor,
 | |
|         shape: RoundedRectangleBorder(
 | |
|           borderRadius: BorderRadius.circular(radius),
 | |
|         ),
 | |
|       ),
 | |
|       child: Text(label ?? "", style: AppTextStyles.overline.copyWith(color: textColor)),
 | |
|     );
 | |
|   }
 | |
| }
 |