50 lines
1.3 KiB
Dart
50 lines
1.3 KiB
Dart
import 'dart:io';
|
|
import 'package:flutter/material.dart';
|
|
import 'package:webview_flutter/webview_flutter.dart';
|
|
import 'package:webview_flutter_android/webview_flutter_android.dart';
|
|
import 'package:flutter/services.dart' show rootBundle;
|
|
|
|
class ChatPage extends StatefulWidget {
|
|
const ChatPage({Key? key}) : super(key: key);
|
|
|
|
@override
|
|
State<ChatPage> createState() => _ChatPageState();
|
|
}
|
|
|
|
class _ChatPageState extends State<ChatPage> {
|
|
late final WebViewController _controller;
|
|
|
|
@override
|
|
void initState() {
|
|
super.initState();
|
|
|
|
if (Platform.isAndroid) {
|
|
WebViewPlatform.instance = AndroidWebViewPlatform();
|
|
}
|
|
|
|
_controller = WebViewController()
|
|
..setJavaScriptMode(JavaScriptMode.unrestricted)
|
|
..setNavigationDelegate(
|
|
NavigationDelegate(onPageFinished: (url) {
|
|
_controller.runJavaScript(
|
|
"if(typeof botmanChatWidget !== 'undefined') botmanChatWidget.open();");
|
|
}),
|
|
);
|
|
|
|
_loadBotmanHtml();
|
|
}
|
|
|
|
Future<void> _loadBotmanHtml() async {
|
|
final htmlContent = await rootBundle.loadString('assets/botman_chat.html');
|
|
_controller.loadHtmlString(htmlContent);
|
|
}
|
|
|
|
@override
|
|
Widget build(BuildContext context) {
|
|
return Scaffold(
|
|
appBar: AppBar(title: const Text("Ask ILA")),
|
|
body: WebViewWidget(controller: _controller),
|
|
);
|
|
}
|
|
}
|