import 'package:flutter/material.dart'; class LinkDialog extends StatefulWidget { const LinkDialog({Key? key}) : super(key: key); @override LinkDialogState createState() => LinkDialogState(); } class LinkDialogState extends State { String _link = ''; @override Widget build(BuildContext context) { return AlertDialog( content: TextField( decoration: const InputDecoration(labelText: 'Paste a link'), autofocus: true, onChanged: _linkChanged, ), actions: [ TextButton( onPressed: _link.isNotEmpty ? _applyLink : null, child: const Text('Ok'), ), ], ); } void _linkChanged(String value) { setState(() { _link = value; }); } void _applyLink() { Navigator.pop(context, _link); } }