Files
citypulse/lib/widgets/status_badge.dart

45 lines
1.1 KiB
Dart

import 'package:flutter/material.dart';
import '../models/enums.dart';
class StatusBadge extends StatelessWidget {
final Status status;
final bool small;
const StatusBadge({super.key, required this.status, this.small = false});
@override
Widget build(BuildContext context) {
final color = status.color;
return Chip(
backgroundColor: color.withOpacity(0.12),
avatar: CircleAvatar(
backgroundColor: color,
radius: small ? 10 : 12,
child: Icon(
_iconForStatus(status),
color: Colors.white,
size: small ? 12 : 14,
),
),
label: Text(
status.displayName,
style: TextStyle(
color: color,
fontSize: small ? 12 : 14,
),
),
padding: EdgeInsets.symmetric(horizontal: small ? 8 : 12, vertical: 0),
);
}
IconData _iconForStatus(Status s) {
switch (s) {
case Status.submitted:
return Icons.send;
case Status.inProgress:
return Icons.autorenew;
case Status.fixed:
return Icons.check;
}
}
}