webView link

This commit is contained in:
Amir Hossein Mousavi 2023-10-12 18:01:21 +03:30
parent eef1acc601
commit 043f03f9e5
1 changed files with 20 additions and 3 deletions

View File

@ -6,6 +6,7 @@ import 'package:didvan/models/requests/radar.dart';
import 'package:didvan/models/requests/studio.dart';
import 'package:didvan/routes/routes.dart';
import 'package:didvan/services/media/media.dart';
import 'package:didvan/services/network/request.dart';
import 'package:didvan/views/podcasts/studio_details/studio_details_state.dart';
import 'package:didvan/views/widgets/didvan/card.dart';
import 'package:didvan/views/widgets/didvan/text.dart';
@ -14,6 +15,7 @@ import 'package:didvan/views/widgets/skeleton_image.dart';
import 'package:flutter/material.dart';
import 'package:persian_number_utility/persian_number_utility.dart';
import 'package:provider/provider.dart';
import 'package:url_launcher/url_launcher_string.dart';
class SearchResultItem extends StatelessWidget {
final OverviewData item;
@ -33,14 +35,20 @@ class SearchResultItem extends StatelessWidget {
return StudioRequestArgs(page: 0, type: item.type);
}
String get _targetPageRouteName {
String? get _targetPageRouteName {
if (item.type == 'radar') {
return Routes.radarDetails;
}
if (item.type == 'news') {
return Routes.newsDetails;
}
return Routes.studioDetails;
if (item.type == 'podcast') {
return Routes.podcasts;
}
if (item.type == 'video') {
return Routes.videocasts;
}
return null;
}
IconData get _icon {
@ -80,8 +88,17 @@ class SearchResultItem extends StatelessWidget {
);
return;
}
if (_targetPageRouteName == null && item.link != null) {
launchUrlString(
'${item.link!}?accessToken=${RequestService.token}',
mode: LaunchMode.inAppWebView,
);
return;
}
Navigator.of(context).pushNamed(
_targetPageRouteName,
_targetPageRouteName!,
arguments: {
'id': item.id,
'args': _targetPageArgs,