callout & in-app links

This commit is contained in:
MohammadTaha Basiri 2022-04-14 13:33:39 +04:30
parent bba9e2d364
commit 4d77442337
1 changed files with 32 additions and 1 deletions

View File

@ -2,10 +2,13 @@ import 'package:carousel_slider/carousel_slider.dart';
import 'package:didvan/config/design_config.dart'; import 'package:didvan/config/design_config.dart';
import 'package:didvan/config/theme_data.dart'; import 'package:didvan/config/theme_data.dart';
import 'package:didvan/constants/app_icons.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/utils/date_time.dart';
import 'package:didvan/views/home/widgets/overview/multitype.dart'; import 'package:didvan/views/home/widgets/overview/multitype.dart';
import 'package:didvan/views/home/widgets/tag_item.dart'; import 'package:didvan/views/home/widgets/tag_item.dart';
import 'package:didvan/views/widgets/animated_visibility.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/card.dart';
import 'package:didvan/views/widgets/didvan/divider.dart'; import 'package:didvan/views/widgets/didvan/divider.dart';
import 'package:didvan/views/widgets/didvan/text.dart'; import 'package:didvan/views/widgets/didvan/text.dart';
@ -190,7 +193,35 @@ class _DidvanPageViewState extends State<DidvanPageView> {
if (content.text != null) { if (content.text != null) {
return Html( return Html(
data: content.text, 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: {
'*': Style( '*': Style(
direction: TextDirection.rtl, direction: TextDirection.rtl,