import 'package:flutter/material.dart'; import 'package:flutter_screenutil/flutter_screenutil.dart'; import 'package:ansu_ui/extension/num_extension.dart'; import 'package:velocity_x/velocity_x.dart'; class ASBadge extends StatelessWidget { final Widget child; final String tag; const ASBadge({Key key, @required this.child, this.tag}) : assert(child != null), super(key: key); @override Widget build(BuildContext context) { return (tag?.length ?? 0) == 0 ? child : Stack( overflow: Overflow.visible, children: [ child, Positioned( right: -16.w, top: -8.w, child: Container( constraints: BoxConstraints(minWidth: 16.w), alignment: Alignment.center, decoration: BoxDecoration( gradient: LinearGradient( colors: [ Color(0xFFE70F1F), Color(0xFFFF98A8), ], begin: Alignment.topCenter, end: Alignment.bottomCenter, ), borderRadius: 8.radius, ), height: 16.w, child: tag.text.white.size(10).make(), ), ), ], ); } }