From f57348e5cda17a30d7fb79d431d6ba533238e9da Mon Sep 17 00:00:00 2001 From: Faris Armoush Date: Tue, 15 Apr 2025 15:13:47 +0300 Subject: [PATCH] converted to using expressions wherever possible in `TagChipDisplay`. --- .../widgets/tag_chips_display_widget.dart | 86 +++++++++---------- 1 file changed, 43 insertions(+), 43 deletions(-) diff --git a/lib/pages/spaces_management/space_model/widgets/tag_chips_display_widget.dart b/lib/pages/spaces_management/space_model/widgets/tag_chips_display_widget.dart index 1eaa3425..1472a05b 100644 --- a/lib/pages/spaces_management/space_model/widgets/tag_chips_display_widget.dart +++ b/lib/pages/spaces_management/space_model/widgets/tag_chips_display_widget.dart @@ -38,6 +38,11 @@ class TagChipDisplay extends StatelessWidget { super.key, }); + Map get _groupedTags => TagHelper.groupTags([ + ...?spaceModel?.tags, + ...?spaceModel?.subspaceModels?.expand((e) => e.tags ?? []) + ]); + @override Widget build(BuildContext context) { final hasTags = spaceModel?.tags?.isNotEmpty ?? false; @@ -61,36 +66,33 @@ class TagChipDisplay extends StatelessWidget { spacing: 8.0, runSpacing: 8.0, children: [ - ...TagHelper.groupTags([ - ...?spaceModel?.tags, - ...?spaceModel?.subspaceModels?.expand((e) => e.tags ?? []) - ]).entries.map( - (entry) => Chip( - avatar: SizedBox( - width: 24, - height: 24, - child: SvgPicture.asset( - entry.key.icon ?? 'assets/icons/gateway.svg', - fit: BoxFit.contain, - ), - ), - label: Text( - 'x${entry.value}', - style: context.textTheme.bodySmall!.copyWith( - color: ColorsManager.spaceColor, - ), - ), - backgroundColor: ColorsManager.whiteColors, - shape: RoundedRectangleBorder( - borderRadius: BorderRadius.circular(16), - side: const BorderSide( - color: ColorsManager.spaceColor, - ), - ), + ..._groupedTags.entries.map((entry) { + return Chip( + avatar: SizedBox( + width: 24, + height: 24, + child: SvgPicture.asset( + entry.key.icon ?? 'assets/icons/gateway.svg', + fit: BoxFit.contain, ), ), + label: Text( + 'x${entry.value}', + style: context.textTheme.bodySmall!.copyWith( + color: ColorsManager.spaceColor, + ), + ), + backgroundColor: ColorsManager.whiteColors, + shape: RoundedRectangleBorder( + borderRadius: BorderRadius.circular(16), + side: const BorderSide( + color: ColorsManager.spaceColor, + ), + ), + ); + }), EditChip( - onTap: () => showDialog( + onTap: () => showDialog( context: context, builder: (context) => AssignTagModelsDialog( products: products, @@ -119,22 +121,20 @@ class TagChipDisplay extends StatelessWidget { ); } else { return TextButton( - onPressed: () { - showDialog( - context: context, - builder: (context) => AddDeviceTypeModelWidget( - products: products, - subspaces: subspaces, - allTags: allTags, - spaceName: spaceNameController.text, - pageContext: pageContext, - isCreate: true, - spaceModel: spaceModel, - otherSpaceModels: otherSpaceModels, - projectTags: projectTags, - ), - ); - }, + onPressed: () => showDialog( + context: context, + builder: (context) => AddDeviceTypeModelWidget( + products: products, + subspaces: subspaces, + allTags: allTags, + spaceName: spaceNameController.text, + pageContext: pageContext, + isCreate: true, + spaceModel: spaceModel, + otherSpaceModels: otherSpaceModels, + projectTags: projectTags, + ), + ), style: TextButton.styleFrom( padding: EdgeInsets.zero, ),