import 'package:flutter/material.dart'; class ContentListTile extends StatelessWidget { const ContentListTile( {super.key, this.name, this.location, this.title, this.description, this.startDate, this.endDate}); final String? name; final String? location; final String? title; final String? description; final String? startDate; final String? endDate; @override Widget build(BuildContext context) { return ListTile( contentPadding: const EdgeInsets.all(0), title: Row( mainAxisAlignment: MainAxisAlignment.start, children: [ if (name != null) Text(name!), if (location != null) Text(', $location'), if (title != null) Text(' - $title'), ], ), titleAlignment: ListTileTitleAlignment.titleHeight, subtitle: description != null ? Text(description!) : null, trailing: startDate != null && endDate != null ? Text(_getTimeString(startDate!, endDate!)) : null, ); } String _getTimeString(String startDate, String endDate) { final firstDate = DateTime.parse('$startDate-01'); final secondDate = DateTime.parse('$endDate-01'); return '${months[firstDate.month - 1]} ${firstDate.year} - ${months[secondDate.month - 1]} ${secondDate.year}'; } static const months = [ 'January', 'February', 'March', 'April', 'May', 'June', 'July', 'August', 'September', 'October', 'November', 'December' ]; }