import 'package:flutter/material.dart'; // import 'package:flutter_overlay_window/flutter_overlay_window.dart'; @pragma("vm:entry-point") void overlayMain() { runApp(const MaterialApp( debugShowCheckedModeBanner: false, home: OverlayBubble(), )); } class OverlayBubble extends StatefulWidget { const OverlayBubble({super.key}); @override State createState() => _OverlayBubbleState(); } class _OverlayBubbleState extends State { bool expanded = false; final TextEditingController controller = TextEditingController(); @override Widget build(BuildContext context) { return Material( color: Colors.transparent, child: Stack( children: [ if (expanded) Positioned( right: 80, bottom: 50, child: Container( width: 250, padding: const EdgeInsets.all(12), decoration: BoxDecoration( color: Colors.white, borderRadius: BorderRadius.circular(16), boxShadow: const [BoxShadow(color: Colors.black26, blurRadius: 8)], ), child: Column( mainAxisSize: MainAxisSize.min, children: [ const Text( 'Salin / Tulis Alamat', style: TextStyle(fontWeight: FontWeight.bold), ), const SizedBox(height: 8), TextField( controller: controller, maxLines: 3, decoration: const InputDecoration( hintText: 'Masukkan alamat di sini...', border: OutlineInputBorder(), ), ), const SizedBox(height: 8), Row( mainAxisAlignment: MainAxisAlignment.end, children: [ TextButton( onPressed: () => setState(() => expanded = false), child: const Text('Tutup')), ElevatedButton( onPressed: () async { // await FlutterOverlayWindow.shareData(controller.text); controller.clear(); }, child: const Text('Kirim'), ), ], ) ], ), ), ), Positioned( right: 10, bottom: 10, child: GestureDetector( onTap: () => setState(() => expanded = !expanded), child: Container( width: 70, height: 70, decoration: const BoxDecoration( color: Colors.blueAccent, shape: BoxShape.circle, boxShadow: [BoxShadow(color: Colors.black26, blurRadius: 8)], ), child: const Icon(Icons.message, color: Colors.white, size: 32), ), ), ) ], ), ); } }