import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:flutter_inappwebview/flutter_inappwebview.dart'; import 'package:news/utils/internetConnectivity.dart'; class NewsDetailsVideo extends StatefulWidget { String? src; String type; NewsDetailsVideo({super.key, this.src, required this.type}); @override State createState() => StateNewsDetailsVideo(); } class StateNewsDetailsVideo extends State { final GlobalKey _scaffoldKey = GlobalKey(); bool _isNetworkAvail = true; var iframe; @override void initState() { super.initState(); checkNetwork(); if ((widget.type == "1") || (widget.type == "3")) { iframe = ''' '''; } else { iframe = ''' '''; } } checkNetwork() async { if (await InternetConnectivity.isNetworkAvailable()) { setState(() { _isNetworkAvail = true; }); } else { setState(() { _isNetworkAvail = false; }); } } @override void dispose() { // set screen back to portrait mode SystemChrome.setPreferredOrientations([DeviceOrientation.portraitUp, DeviceOrientation.portraitDown]); super.dispose(); } @override Widget build(BuildContext context) { // set screen to landscape mode bydefault return SafeArea(child: Scaffold(key: _scaffoldKey, body: _isNetworkAvail ? viewVideo() : const SizedBox.shrink())); } //news video link set viewVideo() { WebUri frm; frm = WebUri.uri(Uri.dataFromString(iframe, mimeType: 'text/html')); return Center( child: InAppWebView(initialUrlRequest: URLRequest(url: frm)), ); } }