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 animation, Animation secondaryAnimation, Widget child) { Animation custom = Tween( 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)), )); } }