build method

  1. @override
DetailParams build(
  1. BuildContext context,
  2. HistoricEvent item,
  3. {dynamic relatedEntities,
  4. dynamic shareButtonHeroTag,
  5. Map queryParams = const {}}
)
override

Implementation

@override
DetailParams build(BuildContext context, timeline_api.HistoricEvent item,
    {relatedEntities, shareButtonHeroTag, Map queryParams = const {}}) {
  return DetailParams(
      shareButtonHeroTag: shareButtonHeroTag,
      item: item,
      relatedContent: relatedEntities,
      imageUrl: item.banner?.url ?? item.thumbnail?.url,
      isAppBarExpandable: (item.banner != null || item.thumbnail != null),
      itemType: "HistoricEvent",
      screenTitle: "Historic Event",
      shareText: formatShareText(item),
      shareSubject: formatShareSubject(item, "Historic Event", item.title),
      title: (context) {
        return item.title;
      },
      afterTitleBuilder: (BuildContext context) {
        return Column(
          children: [
            DateIndicator<timeline_api.HistoricEvent>(
              item: item,
              searchTypes: const [
                timeline_api.People,
                timeline_api.HistoricEvent
              ],
              resolver: (item, [start = false]) {
                if (start) {
                  return item.startDate!;
                } else {
                  return item.endDate!;
                }
              },
            ),
          ],
        );
      },
      content: (forceRefresh) {
        return Future<String>.value((item.content?.isNotEmpty ?? false)
            ? item.content
            : item.summary);
      },
      tagsBuilder: (BuildContext context) {
        return Padding(
          padding: const EdgeInsets.only(top: 18.0),
          child: TagsSearchWidget(
            tags: item.tags ?? [],
          ),
        );
      });
}