import 'package:flutter/material.dart'; import 'package:mc_common_app/extensions/int_extensions.dart'; import 'package:mc_common_app/extensions/string_extensions.dart'; import 'package:mc_common_app/theme/colors.dart'; import 'package:mc_common_app/widgets/common_widgets/app_bar.dart'; import 'package:mc_common_app/widgets/extensions/extensions_widget.dart'; class SubscriptionsCard extends StatelessWidget { bool isSubscribed; Color? backgroundColor; late Color textColor; SubscriptionsCard({Key? key, this.isSubscribed = false, this.backgroundColor}) : super(key: key); @override Widget build(BuildContext context) { textColor = backgroundColor == null ? Colors.black : Colors.white; return Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ Row( children: [ Expanded( child: "Silver Plan".toText( fontSize: 18, color: textColor, ), ), if (isSubscribed) Row( children: [ Container( color: MyColors.white, padding: const EdgeInsets.all(2), child: const Icon( Icons.done, size: 8, color: MyColors.primaryColor, ), ).toCircle( borderRadius: 122, ), 6.width, "Subscribed".toText(color: Colors.white, isBold: true) ], ).toContainer( backgroundColor: MyColors.primaryColor, borderRadius: 20, padding: const EdgeInsets.symmetric( horizontal: 6, vertical: 3, ), ) ], ), 6.height, showItem("Ads:", "10"), showItem("Users:", "20"), showItem("Branches:", "5"), 14.height, Row( crossAxisAlignment: CrossAxisAlignment.center, mainAxisAlignment: MainAxisAlignment.center, children: [ Expanded( child: Row( mainAxisAlignment: MainAxisAlignment.start, crossAxisAlignment: CrossAxisAlignment.end, children: [ "30,000".toText( fontSize: 26, isBold: true, color: textColor, ), 2.width, "SAR/Month".toText( color: MyColors.lightTextColor, fontSize: 16, ), ], ), ), if (!isSubscribed) Row( children: [ "Upgrade".toText( fontSize: 14, color: textColor, ), 4.width, const Icon( Icons.arrow_forward, size: 16, ) ], ) ], ), if (isSubscribed) Row( children: [ "Expires on 3 Mar, 2023".toText( fontSize: 14, color: textColor, ), 6.width, "Renew".toText( color: MyColors.primaryColor, fontSize: 14, textDecoration: TextDecoration.underline, isBold: true, ), ], ) ], ).toWhiteContainer( width: double.infinity, allPading: 12, backgroundColor: backgroundColor, margin: const EdgeInsets.symmetric( horizontal: 21, ), ); } Widget showItem(String title, String value) { return Row( children: [ title.toText( fontSize: 14, color: textColor, ), 2.width, value.toText( fontSize: 14, color: textColor, ), ], ); } }