import 'dart:html' as html; import 'package:flutter/material.dart'; import 'package:flutter/services.dart'; import 'package:manager_app/Components/common_loader.dart'; import 'package:manager_app/app_context.dart'; import 'package:provider/provider.dart'; class PolicyScreen extends StatefulWidget { final String? param; PolicyScreen({this.param}); @override _PolicyScreenState createState() => _PolicyScreenState(); } class _PolicyScreenState extends State { final html.IFrameElement _iframeElement = html.IFrameElement(); String filePath2 = 'assets/files/policy_page.html'; String filePath = 'assets/files/policy_text.text'; String filePathMDLF = 'assets/files/policy_text_mdlf.text'; String filePathFort = 'assets/files/policy_text_fort.text'; @override Widget build(BuildContext context) { final appContext = Provider.of(context); Size size = MediaQuery.of(context).size; return Scaffold( body: FutureBuilder( future: getHTML(), builder: (context, AsyncSnapshot snapshot) { if (snapshot.connectionState == ConnectionState.done) { return Container( width: size.width * 0.9, height: size.height, child: SingleChildScrollView( child: Padding( padding: const EdgeInsets.all(8.0), child: Column( children: [ Center(child: Text(snapshot.data)), ], ), ), ) /*child: WebView(htmlText: snapshot.data))*/ ); } else if (snapshot.connectionState == ConnectionState.none) { return Text("No data"); } else { return Center( child: Container( height: size.height * 0.2, child: CommonLoader() ) ); } } )); } _loadHtmlFromAssets() async { String fileHtmlContents = await rootBundle.loadString(filePath); /*if(kIsWeb) { _iframeElement.src = fileHtmlContents; _iframeElement.style.border = 'none'; //ignore: undefined_prefixed_name ui.platformViewRegistry.registerViewFactory( _loadHtmlFromAssets(), //use source as registered key to ensure uniqueness (int viewId) => _iframeElement, ); }*/ return fileHtmlContents; } Future getHTML() async { switch(widget.param) { case "mdlf": return await rootBundle.loadString(filePathMDLF); case "fort": return await rootBundle.loadString(filePathFort); } return await rootBundle.loadString(filePath); } }