post_enrollment_app/lib/pages/postEnrollment/botman_widget_app.dart
2025-07-11 18:00:55 +05:30

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),
);
}
}