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/extensions/extensions_widget.dart'; class DegradePackageSheet extends StatelessWidget { const DegradePackageSheet({super.key}); @override Widget build(BuildContext context) { return Container( width: double.infinity, padding: const EdgeInsets.all(12), child: Column( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ "Deactivate the branches & users ".toText( fontSize: 18, isBold: true, ), "To select this subscription you need to deactivate your branches and users as this package only supports 1 branch and 2 users per branch. You can reactivate these branches later after upgrading the package" .toText( fontSize: 14, color: MyColors.lightTextColor, ), 12.height, showBranchList(), 12.height, ], ), ); } Widget showBranchList() { return ListView.separated( itemBuilder: (context, index) { return Column( children: [ Row( crossAxisAlignment: CrossAxisAlignment.start, mainAxisAlignment: MainAxisAlignment.start, children: [ customCheckBox(true), 12.width, Expanded( child: Column( crossAxisAlignment: CrossAxisAlignment.start, children: [ "Olaya Branch".toText( fontSize: 16, isBold: true, ), "3 Users".toText( fontSize: 10, color: MyColors.lightTextColor, ), ], ), ), IconButton( onPressed: () {}, icon: const Icon( Icons.keyboard_arrow_down, ), ) ], ), showUser("Mirza"), 12.height, showUser("Shafique"), ], ).toContainer( isShadowEnabled: true, borderRadius: 0, paddingAll: 12, ); }, separatorBuilder: (context, index) { return 12.height; }, physics: const NeverScrollableScrollPhysics(), shrinkWrap: true, itemCount: 2, ); } Widget showUser(String user) { return Row( children: [ const SizedBox( width: 24, ), customCheckBox(false), 12.width, user.toText(fontSize: 14), ], ); } Widget customCheckBox(bool isChecked) { return SizedBox( height: 18, width: 18, child: isChecked ? const Icon( Icons.done, color: Colors.white, size: 14, ) : const SizedBox(), ).toContainer( isEnabledBorder: true, paddingAll: 0, borderRadius: 0, borderWidget: 1, borderColor: MyColors.primaryColor, backgroundColor: isChecked ? MyColors.primaryColor : Colors.transparent, ); } }