diff --git a/lib/widgets/activities/activity_view.dart b/lib/widgets/activities/activity_view.dart index 1a96e31..b15770d 100644 --- a/lib/widgets/activities/activity_view.dart +++ b/lib/widgets/activities/activity_view.dart @@ -22,6 +22,20 @@ class ActivityView extends StatefulWidget { } class _ActivityViewState extends State { + List activity_muscle(Activity activity) { + List muscles = []; + + if (activity.primaryMuscles != null) { + muscles.add(activity.primaryMuscles!); + } + + if (activity.secondaryMuscles != null) { + muscles.add(activity.secondaryMuscles!); + } + + return muscles; + } + List action(actions) { if (actions.isNotEmpty) { return [ @@ -163,46 +177,58 @@ class _ActivityViewState extends State { fontSize: 25, fontWeight: FontWeight.bold), activity.title.toTitleCase())), - Padding( - padding: const EdgeInsets.fromLTRB(10, 0, 0, 10), - child: - Flex(direction: Axis.horizontal, children: [ - ActivityViewCategories>( - icon: Icon(Icons.stairs_rounded), - text: "Activity Level", - object: activity.level != null - ? [activity.level!] - : []), - // ActivityViewCategories>( - // icon: Icon(Icons.), - // text: 'Activity Mechanic', - // object: activity.mechanic != null - // ? [activity.mechanic!] - // : []), - ActivityViewCategories>( - icon: Icon(Icons.fitness_center_rounded), - text: 'Activity Equipments', - object: activity.equipment != null - ? [activity.equipment!] - : []), - ActivityViewCategories>( - icon: Icon(Icons.type_specimen_rounded), - text: 'Activity Type', - object: activity.type != null - ? [activity.type!] - : []), - ])), + SizedBox( + height: 40, + child: ListView( + scrollDirection: Axis.horizontal, + padding: + const EdgeInsets.fromLTRB(10, 0, 10, 0), + shrinkWrap: true, + children: [ + ActivityViewCategories>( + icon: Icon(Icons.stairs_rounded), + text: "Activity Level", + object: activity.level != null + ? [activity.level!] + : []), + // ActivityViewCategories>( + // icon: Icon(Icons.), + // text: 'Activity Mechanic', + // object: activity.mechanic != null + // ? [activity.mechanic!] + // : []), + ActivityViewCategories< + List>( + icon: + Icon(Icons.fitness_center_rounded), + text: 'Equipment Used', + object: activity.equipment != null + ? [activity.equipment!] + : []), + ActivityViewCategories>( + icon: Icon(Icons.type_specimen_rounded), + text: 'Activity Type', + object: activity.type != null + ? [activity.type!] + : []), + ActivityViewCategories< + List>( + icon: Icon(Icons.person), + text: 'Muscles used', + object: activity_muscle(activity)) + ])), Padding( padding: const EdgeInsets.only( - top: 0, bottom: 0, left: 15, right: 15), + top: 10, bottom: 0, left: 15, right: 15), child: Text( maxLines: 4, overflow: TextOverflow.ellipsis, // softWrap: true, textAlign: TextAlign.left, style: const TextStyle(fontSize: 15), - jsonToDescription([json - .decode(activity.description ?? "")[0]]))), + jsonToDescription([ + json.decode(activity.description ?? "")[0] + ]))), Padding( padding: EdgeInsets.only(right: 15), child: Align( diff --git a/lib/widgets/activities/activity_view_categories.dart b/lib/widgets/activities/activity_view_categories.dart index 57f51e6..97d8ee6 100644 --- a/lib/widgets/activities/activity_view_categories.dart +++ b/lib/widgets/activities/activity_view_categories.dart @@ -2,7 +2,11 @@ import 'package:flutter/material.dart'; import 'package:sendtrain/extensions/string_extensions.dart'; class ActivityViewCategories> extends StatelessWidget { - const ActivityViewCategories({super.key, required this.object, required this.icon, required this.text}); + const ActivityViewCategories( + {super.key, + required this.object, + required this.icon, + required this.text}); final T object; final Icon icon; @@ -10,22 +14,22 @@ class ActivityViewCategories> extends StatelessWidget { @override Widget build(BuildContext context) { - return SizedBox( - height: 40, - child: ListView.builder( - shrinkWrap: true, - scrollDirection: Axis.horizontal, - padding: const EdgeInsets.only(right: 10), - itemCount: object.length, - itemBuilder: (BuildContext context, int index) { - return ActionChip( + return ListView.builder( + shrinkWrap: true, + scrollDirection: Axis.horizontal, + // padding: const EdgeInsets.only(right: 10, left: 10), + itemCount: object.length, + itemBuilder: (BuildContext context, int index) { + return Padding( + padding: EdgeInsets.only(right: 10), + child: ActionChip( visualDensity: VisualDensity.compact, avatar: icon, label: Text(maxLines: 1, object[index].name.toTitleCase()), tooltip: text, onPressed: () {}, - ); - }, - )); + )); + }, + ); } }