exec method

  1. @override
Future<void> exec()
override

Implementation

@override
Future<void> exec() async {
  List<PopupMenuItem> items = [
    // PopupMenuItem(
    //   child: Text(tr("menu.translate")),
    //   onTap: () => debugPrint("menu.translate"),
    // ),
    PopupMenuItem(
      child: Text(tr("copy.text")),
      onTap: () async => await saveToclipboard(post),
    ),
    // PopupMenuItem(
    //   child: Text(tr("menu.share")),
    //   onTap: () => debugPrint("menu.share"),
    // ),
  ];
  if (post.author.did == plugin.api.session.did) {
    items.add(PopupMenuItem(
      child: Text(tr("delete.post")),
      onTap: () async => await PostUtil.delete(context, post),
    ));
  } else {
    // TODO #165
    // items.add(PopupMenuItem(
    //   child: Text(tr("mute.thread")),
    //   onTap: () async => debugPrint("menu.mute.thread"),
    // ));
    items.add(PopupMenuItem(
      child: Text(tr("report.post")),
      onTap: () async => await PostUtil.report(context, post),
    ));
  }
  await popupMenu(context, items);
}