mirror of
https://github.com/JGeek00/adguard-home-manager.git
synced 2025-05-17 07:22:49 +00:00
Changed dns addresses modal
This commit is contained in:
parent
dcad63fe5c
commit
7a89aea3a5
2 changed files with 76 additions and 44 deletions
|
@ -1,16 +1,22 @@
|
||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
import 'package:flutter_gen/gen_l10n/app_localizations.dart';
|
||||||
|
|
||||||
|
import 'package:adguard_home_manager/widgets/custom_list_tile.dart';
|
||||||
|
import 'package:adguard_home_manager/widgets/list_bottom_sheet.dart';
|
||||||
|
|
||||||
class DnsAddressesModal extends StatelessWidget {
|
class DnsAddressesModal extends StatelessWidget {
|
||||||
|
final bool isDialog;
|
||||||
final List<String> dnsAddresses;
|
final List<String> dnsAddresses;
|
||||||
|
|
||||||
const DnsAddressesModal({
|
const DnsAddressesModal({
|
||||||
Key? key,
|
super.key,
|
||||||
|
required this.isDialog,
|
||||||
required this.dnsAddresses,
|
required this.dnsAddresses,
|
||||||
}) : super(key: key);
|
});
|
||||||
|
|
||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
|
if (isDialog == true) {
|
||||||
return AlertDialog(
|
return AlertDialog(
|
||||||
title: Column(
|
title: Column(
|
||||||
children: [
|
children: [
|
||||||
|
@ -27,11 +33,10 @@ class DnsAddressesModal extends StatelessWidget {
|
||||||
)
|
)
|
||||||
],
|
],
|
||||||
),
|
),
|
||||||
content: SizedBox(
|
content: ConstrainedBox(
|
||||||
height: dnsAddresses.length*56 < 500
|
constraints: const BoxConstraints(maxWidth: 500),
|
||||||
? dnsAddresses.length*56 : 500,
|
child: SingleChildScrollView(
|
||||||
width: double.minPositive,
|
child: Wrap(
|
||||||
child: ListView(
|
|
||||||
children: dnsAddresses.map((address) => ListTile(
|
children: dnsAddresses.map((address) => ListTile(
|
||||||
title: Text(
|
title: Text(
|
||||||
address,
|
address,
|
||||||
|
@ -43,6 +48,7 @@ class DnsAddressesModal extends StatelessWidget {
|
||||||
)).toList(),
|
)).toList(),
|
||||||
),
|
),
|
||||||
),
|
),
|
||||||
|
),
|
||||||
actions: [
|
actions: [
|
||||||
TextButton(
|
TextButton(
|
||||||
onPressed: () => Navigator.pop(context),
|
onPressed: () => Navigator.pop(context),
|
||||||
|
@ -51,4 +57,15 @@ class DnsAddressesModal extends StatelessWidget {
|
||||||
],
|
],
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
else {
|
||||||
|
return ListBottomSheet(
|
||||||
|
icon: Icons.route_rounded,
|
||||||
|
title: AppLocalizations.of(context)!.dnsAddresses,
|
||||||
|
children: dnsAddresses.map((address) => CustomListTile(
|
||||||
|
title: address,
|
||||||
|
padding: const EdgeInsets.symmetric(horizontal: 24, vertical: 16),
|
||||||
|
)).toList(),
|
||||||
|
);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
|
@ -86,12 +86,27 @@ class _ServerInformationState extends State<ServerInformation> {
|
||||||
title: AppLocalizations.of(context)!.dnsAddresses,
|
title: AppLocalizations.of(context)!.dnsAddresses,
|
||||||
subtitle: AppLocalizations.of(context)!.seeDnsAddresses,
|
subtitle: AppLocalizations.of(context)!.seeDnsAddresses,
|
||||||
onTap: () {
|
onTap: () {
|
||||||
showModal(
|
if (width > 700) {
|
||||||
|
showDialog(
|
||||||
context: context,
|
context: context,
|
||||||
builder: (context) => DnsAddressesModal(
|
builder: (context) => DnsAddressesModal(
|
||||||
dnsAddresses: serverInfo.data!.dnsAddresses
|
dnsAddresses: serverInfo.data!.dnsAddresses,
|
||||||
|
isDialog: true,
|
||||||
)
|
)
|
||||||
);
|
);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
showModalBottomSheet(
|
||||||
|
context: context,
|
||||||
|
builder: (context) => DnsAddressesModal(
|
||||||
|
dnsAddresses: serverInfo.data!.dnsAddresses,
|
||||||
|
isDialog: false,
|
||||||
|
),
|
||||||
|
isScrollControlled: true,
|
||||||
|
backgroundColor: Colors.transparent,
|
||||||
|
useSafeArea: true
|
||||||
|
);
|
||||||
|
}
|
||||||
},
|
},
|
||||||
),
|
),
|
||||||
CustomListTile(
|
CustomListTile(
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue