From 4d774423370c7962ebdd3a8bdf7f93690c0e216d Mon Sep 17 00:00:00 2001 From: MohammadTaha Basiri Date: Thu, 14 Apr 2022 13:33:39 +0430 Subject: [PATCH] callout & in-app links --- lib/views/widgets/didvan/page_view.dart | 33 ++++++++++++++++++++++++- 1 file changed, 32 insertions(+), 1 deletion(-) diff --git a/lib/views/widgets/didvan/page_view.dart b/lib/views/widgets/didvan/page_view.dart index a7cb236..54384af 100644 --- a/lib/views/widgets/didvan/page_view.dart +++ b/lib/views/widgets/didvan/page_view.dart @@ -2,10 +2,13 @@ import 'package:carousel_slider/carousel_slider.dart'; import 'package:didvan/config/design_config.dart'; import 'package:didvan/config/theme_data.dart'; import 'package:didvan/constants/app_icons.dart'; +import 'package:didvan/routes/routes.dart'; +import 'package:didvan/utils/action_sheet.dart'; import 'package:didvan/utils/date_time.dart'; import 'package:didvan/views/home/widgets/overview/multitype.dart'; import 'package:didvan/views/home/widgets/tag_item.dart'; import 'package:didvan/views/widgets/animated_visibility.dart'; +import 'package:didvan/views/widgets/didvan/button.dart'; import 'package:didvan/views/widgets/didvan/card.dart'; import 'package:didvan/views/widgets/didvan/divider.dart'; import 'package:didvan/views/widgets/didvan/text.dart'; @@ -190,7 +193,35 @@ class _DidvanPageViewState extends State { if (content.text != null) { return Html( data: content.text, - onAnchorTap: (href, context, map, element) => launch(href!), + onAnchorTap: (href, context, map, element) { + if (href!.contains('navigate-')) { + Navigator.of(ActionSheetUtils.context) + .pushNamed(Routes.statisticDetails, arguments: { + 'onMarkChanged': (value) {}, + 'label': href.split('-')[1], + 'title': href.split('-').last, + 'marked': false, + }); + } else if (href.contains('popup-')) { + showDialog( + context: ActionSheetUtils.context, + builder: (context) => DidvanCard( + child: Column( + children: [ + DidvanText(href.split('-').last), + const DidvanDivider(), + const DidvanButton( + title: 'بستن', + onPressed: ActionSheetUtils.pop, + ), + ], + ), + ), + ); + } else { + launch(href); + } + }, style: { '*': Style( direction: TextDirection.rtl,