buildPeopleItem function
Widget buildPeopleItem(
- BuildContext context,
- People item
)
Implementation
Widget buildPeopleItem(BuildContext context, timeline_api.People item) {
String? url = '';
if (item.thumbnail != null && item.thumbnail!.url != null) {
url = item.thumbnail!.url;
}
List<TextSpan> spans = [];
if (item.dateOfBirth != null && item.dateOfBirth!.isNotEmpty) {
spans.add(TextSpan(text: formatDate(item.dateOfBirth!)));
}
if (item.dateOfDeath != null && item.dateOfDeath!.isNotEmpty) {
if (spans.isNotEmpty) {
spans.add(const TextSpan(text: " - "));
}
spans.add(TextSpan(text: formatDate(item.dateOfDeath!)));
}
Widget widget = ListCell(
semanticLabel: "People, ${item.firstName} ${item.lastName}",
thumbnailUrl: url,
title: Text(
"${item.firstName ?? ""} ${item.lastName ?? ""}",
textAlign: TextAlign.center,
style: const TextStyle(fontWeight: FontWeight.bold),
),
subtitle: RichText(
textAlign: TextAlign.center,
text: TextSpan(
// Note: Styles for TextSpans must be explicitly defined.
// Child text spans will inherit styles from parent
style: const TextStyle(
color: Colors.black,
),
children: spans,
),
),
subtitle2: Text(
item.summary ?? '',
textAlign: TextAlign.center,
maxLines: 2,
),
);
return widget;
}