SendTrain/lib/widgets/activity_card.dart
2024-11-27 00:32:01 -05:00

49 lines
1.8 KiB
Dart

import 'package:flutter/material.dart';
import 'package:sendtrain/models/activity_model.dart';
import 'package:sendtrain/widgets/activity_view.dart';
class ActivityCard extends StatelessWidget {
const ActivityCard({super.key, required this.activity});
final ActivityModel activity;
@override
Widget build(BuildContext context) {
return Card(
color: const Color(0xff3A5FB6),
child: ListTile(
// dense: true,
focusColor: const Color(0xff3A5FB6),
shape: const RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.elliptical(10, 10))),
onTap: () => showGeneralDialog(
barrierColor: Colors.black.withOpacity(0.5),
transitionDuration: const Duration(milliseconds: 220),
transitionBuilder: (BuildContext context,
Animation<double> animation,
Animation<double> secondaryAnimation,
Widget child) {
Animation<Offset> custom = Tween<Offset>(
begin: const Offset(0.0, 1.0),
end: const Offset(0.0, 0.0))
.animate(animation);
return SlideTransition(
position: custom,
child: Dialog.fullscreen(
child: ActivityView(activity: activity)));
},
barrierDismissible: true,
barrierLabel: '',
context: context,
pageBuilder: (context, animation1, animation2) {
return Container();
}),
enableFeedback: true,
title: Text(maxLines: 1, activity.title),
subtitle: Padding(
padding: const EdgeInsets.only(bottom: 3),
child: Text(maxLines: 2, activity.description)),
));
}
}