Files
Client/lib/widget/module_badge_icon.dart
T

32 lines
876 B
Dart

import 'package:badges/badges.dart' as badges;
import 'package:flutter/material.dart';
/// Module icon with an unread counter; the plain icon while [count] is zero.
class ModuleBadgeIcon extends StatelessWidget {
final IconData icon;
final int count;
const ModuleBadgeIcon({required this.icon, required this.count, super.key});
@override
Widget build(BuildContext context) => badges.Badge(
showBadge: count > 0,
position: badges.BadgePosition.topEnd(top: -3, end: -3),
stackFit: StackFit.loose,
badgeStyle: badges.BadgeStyle(
padding: const EdgeInsets.all(3),
badgeColor: Theme.of(context).primaryColor,
elevation: 1,
),
badgeContent: Text(
'$count',
style: const TextStyle(
color: Colors.white,
fontSize: 10,
fontWeight: FontWeight.bold,
),
),
child: Icon(icon),
);
}