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), ); }