import 'package:flutter/material.dart';
import 'package:kuralit_sdk/kuralit.dart';
class HomeScreen extends StatefulWidget {
const HomeScreen({super.key});
@override
State<HomeScreen> createState() => _HomeScreenState();
}
class _HomeScreenState extends State<HomeScreen> {
String? _sessionId;
bool _isInitialized = false;
@override
void initState() {
super.initState();
_initializeSDK();
}
void _initializeSDK() {
Kuralit.init(KuralitConfig(
serverUrl: 'ws://localhost:8000/ws',
apiKey: 'demo-api-key',
appId: 'my-app',
debug: true,
));
_sessionId = Kuralit.generateSessionId();
_connect();
setState(() => _isInitialized = true);
}
Future<void> _connect() async {
try {
await Kuralit.connect();
} catch (e) {
print('Connection failed: $e');
}
}
void _openOverlay() {
if (_sessionId == null) return;
// Open agent overlay - just one line!
KuralitAgentOverlay.show(
context,
sessionId: _sessionId!,
);
}
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: const Text('Agent Overlay Example')),
body: Center(
child: ElevatedButton(
onPressed: _isInitialized ? _openOverlay : null,
child: const Text('Open Agent Overlay'),
),
),
);
}
}