From 732b97e5818fd82189c6d927024ee0a8a6acf7f7 Mon Sep 17 00:00:00 2001 From: Hamza-Ayed Date: Mon, 25 May 2026 01:12:09 +0300 Subject: [PATCH] Deploy: 2026-05-25 01:12:09 --- .../presentation/widgets/channels_view.dart | 32 +++++++++++++++++++ 1 file changed, 32 insertions(+) diff --git a/mobile/lib/features/dashboard/presentation/widgets/channels_view.dart b/mobile/lib/features/dashboard/presentation/widgets/channels_view.dart index 5ef20f1..1ff7c35 100644 --- a/mobile/lib/features/dashboard/presentation/widgets/channels_view.dart +++ b/mobile/lib/features/dashboard/presentation/widgets/channels_view.dart @@ -510,6 +510,38 @@ class _ChannelsViewState extends State with SingleTickerProviderSt } Widget _buildStep(String text) { + const String linkText = 'developers.facebook.com'; + if (text.contains(linkText)) { + final List parts = text.split(linkText); + return Padding( + padding: const EdgeInsets.symmetric(vertical: 2.0), + child: RichText( + text: TextSpan( + style: const TextStyle(color: Colors.white70, fontSize: 11, height: 1.4, fontFamily: 'Outfit'), // or default font family + children: [ + TextSpan(text: parts[0]), + TextSpan( + text: linkText, + style: const TextStyle( + color: Colors.purpleAccent, + decoration: TextDecoration.underline, + fontWeight: FontWeight.bold, + ), + recognizer: TapGestureRecognizer() + ..onTap = () async { + final Uri url = Uri.parse('https://developers.facebook.com'); + if (await canLaunchUrl(url)) { + await launchUrl(url, mode: LaunchMode.externalApplication); + } + }, + ), + if (parts.length > 1) TextSpan(text: parts[1]), + ], + ), + ), + ); + } + return Padding( padding: const EdgeInsets.symmetric(vertical: 2.0), child: Text(