action prep, activity association removal, activity ui tweaks

This commit is contained in:
Joshua Burman
2025-01-06 10:10:08 -05:00
parent 7ead6ba631
commit ebca90e69a
7 changed files with 278 additions and 153 deletions

View File

@ -1,7 +1,7 @@
import 'package:flutter/material.dart';
import 'package:provider/provider.dart';
import 'package:sendtrain/daos/activities_dao.dart';
import 'package:sendtrain/daos/media_items_dao.dart';
import 'package:sendtrain/daos/session_activities_dao.dart';
import 'package:sendtrain/database/database.dart';
import 'package:sendtrain/extensions/string_extensions.dart';
import 'package:sendtrain/helpers/date_time_helpers.dart';
@ -14,9 +14,14 @@ import 'package:sendtrain/widgets/generic/elements/generic_progress_indicator.da
class ActivityCard extends StatefulWidget {
final Activity activity;
final Session session;
final Function? callback;
const ActivityCard({super.key, required this.activity, this.callback});
const ActivityCard(
{super.key,
required this.activity,
required this.session,
this.callback});
@override
State<ActivityCard> createState() => ActivityCardState();
@ -62,8 +67,8 @@ class ActivityCardState extends State<ActivityCard> {
}
},
),
subtitle:
Text(maxLines: 2, widget.activity.description ?? ""),
subtitle: Text(
maxLines: 2, widget.activity.description ?? ""),
contentPadding: EdgeInsets.only(left: 13),
trailing: Flex(
direction: Axis.vertical,
@ -79,10 +84,11 @@ class ActivityCardState extends State<ActivityCard> {
'Activity Removal',
'Would you like to permanently remove this activity from the current session?',
context, () {
ActivitiesDao(Provider.of<AppDatabase>(
context,
listen: false))
.remove(widget.activity);
SessionActivitiesDao(
Provider.of<AppDatabase>(context,
listen: false))
.removeAssociation(widget.activity.id,
widget.session.id);
}).then((result) {
setState(() {});
});