webView link
This commit is contained in:
parent
eef1acc601
commit
043f03f9e5
|
|
@ -6,6 +6,7 @@ import 'package:didvan/models/requests/radar.dart';
|
||||||
import 'package:didvan/models/requests/studio.dart';
|
import 'package:didvan/models/requests/studio.dart';
|
||||||
import 'package:didvan/routes/routes.dart';
|
import 'package:didvan/routes/routes.dart';
|
||||||
import 'package:didvan/services/media/media.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/podcasts/studio_details/studio_details_state.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/card.dart';
|
import 'package:didvan/views/widgets/didvan/card.dart';
|
||||||
import 'package:didvan/views/widgets/didvan/text.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:flutter/material.dart';
|
||||||
import 'package:persian_number_utility/persian_number_utility.dart';
|
import 'package:persian_number_utility/persian_number_utility.dart';
|
||||||
import 'package:provider/provider.dart';
|
import 'package:provider/provider.dart';
|
||||||
|
import 'package:url_launcher/url_launcher_string.dart';
|
||||||
|
|
||||||
class SearchResultItem extends StatelessWidget {
|
class SearchResultItem extends StatelessWidget {
|
||||||
final OverviewData item;
|
final OverviewData item;
|
||||||
|
|
@ -33,14 +35,20 @@ class SearchResultItem extends StatelessWidget {
|
||||||
return StudioRequestArgs(page: 0, type: item.type);
|
return StudioRequestArgs(page: 0, type: item.type);
|
||||||
}
|
}
|
||||||
|
|
||||||
String get _targetPageRouteName {
|
String? get _targetPageRouteName {
|
||||||
if (item.type == 'radar') {
|
if (item.type == 'radar') {
|
||||||
return Routes.radarDetails;
|
return Routes.radarDetails;
|
||||||
}
|
}
|
||||||
if (item.type == 'news') {
|
if (item.type == 'news') {
|
||||||
return Routes.newsDetails;
|
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 {
|
IconData get _icon {
|
||||||
|
|
@ -80,8 +88,17 @@ class SearchResultItem extends StatelessWidget {
|
||||||
);
|
);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (_targetPageRouteName == null && item.link != null) {
|
||||||
|
launchUrlString(
|
||||||
|
'${item.link!}?accessToken=${RequestService.token}',
|
||||||
|
mode: LaunchMode.inAppWebView,
|
||||||
|
);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
Navigator.of(context).pushNamed(
|
Navigator.of(context).pushNamed(
|
||||||
_targetPageRouteName,
|
_targetPageRouteName!,
|
||||||
arguments: {
|
arguments: {
|
||||||
'id': item.id,
|
'id': item.id,
|
||||||
'args': _targetPageArgs,
|
'args': _targetPageArgs,
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue