showConnectWallet method
Future<bool?>
showConnectWallet(
- BuildContext context, {
- required String address,
- required InAppWebViewController ctrl,
- required String appName,
Implementation
Future<bool?> showConnectWallet(
BuildContext context, {
required String address,
required InAppWebViewController ctrl,
required String appName,
}) async {
final requestFrom = (await ctrl.getUrl())?.host ?? '';
return await _showDialog(
context: context,
builder: (context) => Container(
decoration: BoxDecoration(
color: _theme.backgroundColor,
borderRadius: BorderRadius.only(
topLeft: Radius.circular(_theme.borderRadius),
topRight: Radius.circular(_theme.borderRadius),
),
),
child: Column(
mainAxisSize: MainAxisSize.min,
children: [
// Handle bar
Container(
margin: const EdgeInsets.only(top: 12),
width: 40,
height: 4,
decoration: BoxDecoration(
color: _theme.borderColor,
borderRadius: BorderRadius.circular(2),
),
),
Flexible(
child: ListView(
shrinkWrap: true,
padding: _theme.contentPadding,
children: [
_buildDialogHeader('$appName wants to connect'),
SizedBox(height: _theme.itemSpacing),
_buildInfoRow('Request from', requestFrom),
SizedBox(height: _theme.itemSpacing),
_buildInfoRow(
'Wallet address', address.ellipsisMidWalletAddress()),
SizedBox(height: _theme.itemSpacing),
_buildPermissionsSection(),
SizedBox(height: _theme.itemSpacing * 2),
_buildActionButtons(
context: context,
cancelText: 'Cancel',
confirmText: 'Connect',
),
const SizedBox(height: 16),
],
),
),
],
),
),
);
}