getSecondaryDetailsTemplate static method

CometChatDetailsTemplate? getSecondaryDetailsTemplate(
  1. BuildContext context,
  2. User? loggedInUser,
  3. User? user,
  4. Group? group, {
  5. CometChatTheme? theme,
})

Implementation

static CometChatDetailsTemplate? getSecondaryDetailsTemplate(
    BuildContext context, User? loggedInUser, User? user, Group? group,
    {CometChatTheme? theme}) {
  if (user != null) {
    return CometChatDetailsTemplate(
        id: DetailsTemplateConstants.secondaryActions,
        title: Translations.of(context).privacyAndSecurity,
        hideItemSeparator: true,
        hideSectionSeparator: false,
        options: (user, group, context, theme) => [
              getBlockUserOption(context!, theme: theme),
              getUnBlockUserOption(context, theme: theme)
            ]
                .where((option) =>
                    validateUserOptions(loggedInUser, user, option.id))
                .toList());
  } else if (group != null) {
    return CometChatDetailsTemplate(
        id: DetailsTemplateConstants.secondaryActions,
        title: Translations.of(context).more,
        hideItemSeparator: true,
        hideSectionSeparator: false,
        options: (user, group, context, theme) => [
              getLeaveGroupOption(context!, theme: theme),
              getDeleteGroupOption(context, theme: theme)
            ]
                .where((option) => validateDetailOptions(
                    loggedInUserScope: loggedInUser?.uid == group?.owner
                        ? GroupMemberScope.owner
                        : group?.scope ?? GroupMemberScope.participant,
                    optionId: option.id))
                .toList());
  }
  return null;
}