From 95cecbed9c48ed11d96aa5930192625e55f6908c Mon Sep 17 00:00:00 2001 From: zoe Date: Sat, 1 Oct 2022 13:34:42 +0200 Subject: [PATCH] open profiles when clicking a link that starts with @ --- lib/partials/post_text_renderer.dart | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/lib/partials/post_text_renderer.dart b/lib/partials/post_text_renderer.dart index f244c3b..31e74be 100644 --- a/lib/partials/post_text_renderer.dart +++ b/lib/partials/post_text_renderer.dart @@ -1,7 +1,10 @@ import 'package:flutter/material.dart'; import 'package:flutter_markdown/flutter_markdown.dart'; import 'package:html2md/html2md.dart' as html2md; +import 'package:localization/localization.dart'; +import 'package:loris/dialogues/profile_view.dart'; import 'package:url_launcher/url_launcher.dart'; +import '../business_logic/account/account.dart' as account; class PostTextRenderer extends StatelessWidget { const PostTextRenderer({ @@ -42,8 +45,18 @@ class PostTextRenderer extends StatelessWidget { String s = html2md.convert(input); return MarkdownBody( - onTapLink: ((text, href, title) { + onTapLink: ((text, href, title) async { if (href != null) { + if (text.startsWith("@")) { + final result = await account.searchModel(identityName, href); + if (result.keys.first == 200) { + showDialog( + context: context, + builder: (context) => ProfileView(model: result.values.first!), + ); + return; + } + } launchUrl(Uri.parse(href)); } }),