diff --git a/lib/widgets/activity_view.dart b/lib/widgets/activity_view.dart index eeff698..6d13c3a 100644 --- a/lib/widgets/activity_view.dart +++ b/lib/widgets/activity_view.dart @@ -7,6 +7,7 @@ import 'package:sendtrain/models/activity_timer_model.dart'; import 'package:sendtrain/widgets/activity_action_view.dart'; import 'package:sendtrain/widgets/activity_view_categories.dart'; import 'package:sendtrain/widgets/activity_view_media.dart'; +import 'package:sendtrain/widgets/activity_view_types.dart'; class ActivityView extends StatefulWidget { const ActivityView( @@ -66,15 +67,25 @@ class _ActivityViewState extends State { maxLines: 1, style: const TextStyle( fontSize: 25, fontWeight: FontWeight.bold), - activityModel.title)), - ActivityViewCategories(categories: activityModel.categories), + activity.title)), + Padding( + padding: const EdgeInsets.fromLTRB(10, 0, 0, 10), + child: Flex(direction: Axis.horizontal, children: [ + ActivityViewCategories(categories: [activity.category]), + ActivityViewTypes(types: [activity.type]) + ])), Padding( padding: const EdgeInsets.only( - top: 0, bottom: 20, left: 15, right: 15), + top: 0, bottom: 10, left: 15, right: 15), child: Text( textAlign: TextAlign.left, style: const TextStyle(fontSize: 15), - activityModel.description)), + activity.description)), + const Padding( + padding: EdgeInsets.fromLTRB(15, 20, 0, 10), + child: Text( + style: TextStyle(fontSize: 20, fontWeight: FontWeight.bold), + 'Media:')), ActivityViewMedia(activity: activity), const Padding( padding: EdgeInsets.fromLTRB(15, 30, 0, 10), diff --git a/lib/widgets/activity_view_categories.dart b/lib/widgets/activity_view_categories.dart index 7bfb744..9df2113 100644 --- a/lib/widgets/activity_view_categories.dart +++ b/lib/widgets/activity_view_categories.dart @@ -1,35 +1,29 @@ import 'package:flutter/material.dart'; +import 'package:sendtrain/database/database.dart'; class ActivityViewCategories extends StatelessWidget { - const ActivityViewCategories({super.key, this.categories}); + const ActivityViewCategories({super.key, required this.categories}); - final List? categories; + final List categories; @override Widget build(BuildContext context) { - return Column( - children: [ - Padding( - padding: const EdgeInsets.only(bottom: 10), - child: SizedBox( - height: 40, - child: ListView.builder( - shrinkWrap: true, - scrollDirection: Axis.horizontal, - padding: const EdgeInsets.fromLTRB(10, 0, 10, 0), - itemCount: categories?.length, - itemBuilder: (BuildContext context, int index) { - return Padding( - padding: const EdgeInsets.only(right: 5), - child: ActionChip( - visualDensity: VisualDensity.compact, - avatar: const Icon(Icons.check_circle_outline), - label: Text(maxLines: 1, '${categories?[index]}'), - onPressed: () {}, - )); - }, - ))), - ], - ); + return SizedBox( + height: 40, + child: ListView.builder( + shrinkWrap: true, + scrollDirection: Axis.horizontal, + padding: const EdgeInsets.only(right: 10), + itemCount: categories.length, + itemBuilder: (BuildContext context, int index) { + return ActionChip( + visualDensity: VisualDensity.compact, + avatar: const Icon(Icons.category_rounded), + label: Text(maxLines: 1, categories[index].name), + tooltip: "Activity Category", + onPressed: () {}, + ); + }, + )); } -} \ No newline at end of file +} diff --git a/lib/widgets/activity_view_types.dart b/lib/widgets/activity_view_types.dart new file mode 100644 index 0000000..a13816c --- /dev/null +++ b/lib/widgets/activity_view_types.dart @@ -0,0 +1,29 @@ +import 'package:flutter/material.dart'; +import 'package:sendtrain/database/database.dart'; + +class ActivityViewTypes extends StatelessWidget { + const ActivityViewTypes({super.key, required this.types}); + + final List types; + + @override + Widget build(BuildContext context) { + return SizedBox( + height: 40, + child: ListView.builder( + shrinkWrap: true, + scrollDirection: Axis.horizontal, + padding: const EdgeInsets.only(right: 10), + itemCount: types.length, + itemBuilder: (BuildContext context, int index) { + return ActionChip( + visualDensity: VisualDensity.compact, + avatar: const Icon(Icons.fitness_center_rounded), + label: Text(maxLines: 1, types[index].name), + tooltip: "Activity Type", + onPressed: () {}, + ); + }, + )); + } +}