diff --git a/lib/components/SiteItem.dart b/lib/components/SiteItem.dart index 9bf11f2..165b9dc 100644 --- a/lib/components/SiteItem.dart +++ b/lib/components/SiteItem.dart @@ -14,7 +14,7 @@ class SiteItem extends StatelessWidget { @override Widget build(BuildContext context) { final borderColor = - site.errors.length > 0 + site.errors.isNotEmpty ? CupertinoColors.systemRed.resolveFrom(context) : site.connected ? CupertinoColors.systemGreen.resolveFrom(context) diff --git a/lib/components/SpecialTextField.dart b/lib/components/SpecialTextField.dart index c1632b0..c3e3682 100644 --- a/lib/components/SpecialTextField.dart +++ b/lib/components/SpecialTextField.dart @@ -64,7 +64,7 @@ class _SpecialTextFieldState extends State { @override void initState() { - if (widget.inputFormatters == null || formatters.length == 0) { + if (widget.inputFormatters == null || formatters.isEmpty) { formatters = [FilteringTextInputFormatter.allow(RegExp(r'[^\t]'))]; } else { formatters = widget.inputFormatters!; diff --git a/lib/screens/HostInfoScreen.dart b/lib/screens/HostInfoScreen.dart index 7fb85b3..5d394e8 100644 --- a/lib/screens/HostInfoScreen.dart +++ b/lib/screens/HostInfoScreen.dart @@ -108,7 +108,7 @@ class _HostInfoScreenState extends State { } Widget _buildRemotes() { - if (hostInfo.remoteAddresses.length == 0) { + if (hostInfo.remoteAddresses.isEmpty) { return ConfigSection( label: 'REMOTES', children: [ConfigItem(content: Text('No remote addresses yet'), labelWidth: 0)], @@ -150,7 +150,7 @@ class _HostInfoScreenState extends State { ); }); - return ConfigSection(label: items.length > 0 ? 'Tap to change the active address' : null, children: items); + return ConfigSection(label: items.isNotEmpty ? 'Tap to change the active address' : null, children: items); } Widget _buildStaticRemotes() { @@ -171,7 +171,7 @@ class _HostInfoScreenState extends State { ); }); - return ConfigSection(label: items.length > 0 ? 'REMOTES' : null, children: items); + return ConfigSection(label: items.isNotEmpty ? 'REMOTES' : null, children: items); } Widget _buildClose() { diff --git a/lib/screens/MainScreen.dart b/lib/screens/MainScreen.dart index 3ac91f3..f39f4b7 100644 --- a/lib/screens/MainScreen.dart +++ b/lib/screens/MainScreen.dart @@ -202,7 +202,7 @@ class _MainScreenState extends State { } Widget _buildSites() { - if (sites == null || sites!.length == 0) { + if (sites == null || sites!.isEmpty) { return _buildNoSites(); } diff --git a/lib/screens/SiteDetailScreen.dart b/lib/screens/SiteDetailScreen.dart index ba71481..58bf3d9 100644 --- a/lib/screens/SiteDetailScreen.dart +++ b/lib/screens/SiteDetailScreen.dart @@ -112,7 +112,7 @@ class _SiteDetailScreenState extends State { } Widget _buildErrors() { - if (site.errors.length == 0) { + if (site.errors.isEmpty) { return Container(); } @@ -165,7 +165,7 @@ class _SiteDetailScreenState extends State { Switch.adaptive( value: widget.site.connected, materialTapTargetSize: MaterialTapTargetSize.shrinkWrap, - onChanged: widget.site.errors.length > 0 && !widget.site.connected ? null : handleChange, + onChanged: widget.site.errors.isNotEmpty && !widget.site.connected ? null : handleChange, ), ], ), diff --git a/lib/screens/siteConfig/AddCertificateScreen.dart b/lib/screens/siteConfig/AddCertificateScreen.dart index 34b7b2c..3dde5ec 100644 --- a/lib/screens/siteConfig/AddCertificateScreen.dart +++ b/lib/screens/siteConfig/AddCertificateScreen.dart @@ -245,7 +245,7 @@ class _AddCertificateScreenState extends State { var rawCerts = await platform.invokeMethod("nebula.parseCerts", {"certs": rawCert}); List certs = jsonDecode(rawCerts); - if (certs.length > 0) { + if (certs.isNotEmpty) { var tryCertInfo = CertificateInfo.fromJson(certs.first); if (tryCertInfo.cert.details.isCa) { return Utils.popError( diff --git a/lib/screens/siteConfig/CAListScreen.dart b/lib/screens/siteConfig/CAListScreen.dart index 8be49c7..22d4fb4 100644 --- a/lib/screens/siteConfig/CAListScreen.dart +++ b/lib/screens/siteConfig/CAListScreen.dart @@ -51,7 +51,7 @@ class _CAListScreenState extends State { List items = []; final caItems = _buildCAs(); - if (caItems.length > 0) { + if (caItems.isNotEmpty) { items.add(ConfigSection(children: caItems)); } diff --git a/lib/screens/siteConfig/CertificateDetailsScreen.dart b/lib/screens/siteConfig/CertificateDetailsScreen.dart index 5770c06..9a9c9b5 100644 --- a/lib/screens/siteConfig/CertificateDetailsScreen.dart +++ b/lib/screens/siteConfig/CertificateDetailsScreen.dart @@ -120,19 +120,19 @@ class _CertificateDetailsScreenState extends State { Widget _buildFilters() { List items = []; - if (certInfo.cert.details.groups.length > 0) { + if (certInfo.cert.details.groups.isNotEmpty) { items.add(ConfigItem(label: Text('Groups'), content: SelectableText(certInfo.cert.details.groups.join(', ')))); } - if (certInfo.cert.details.ips.length > 0) { + if (certInfo.cert.details.ips.isNotEmpty) { items.add(ConfigItem(label: Text('IPs'), content: SelectableText(certInfo.cert.details.ips.join(', ')))); } - if (certInfo.cert.details.subnets.length > 0) { + if (certInfo.cert.details.subnets.isNotEmpty) { items.add(ConfigItem(label: Text('Subnets'), content: SelectableText(certInfo.cert.details.subnets.join(', ')))); } - return items.length > 0 + return items.isNotEmpty ? ConfigSection(label: certInfo.cert.details.isCa ? 'FILTERS' : 'DETAILS', children: items) : Container(); } diff --git a/lib/screens/siteConfig/SiteConfigScreen.dart b/lib/screens/siteConfig/SiteConfigScreen.dart index 3363370..dcb6d57 100644 --- a/lib/screens/siteConfig/SiteConfigScreen.dart +++ b/lib/screens/siteConfig/SiteConfigScreen.dart @@ -161,7 +161,7 @@ class _SiteConfigScreenState extends State { final certError = site.certInfo == null || site.certInfo!.validity == null || !site.certInfo!.validity!.valid; var caError = false; if (!site.managed) { - caError = site.ca.length == 0; + caError = site.ca.isEmpty; if (!caError) { site.ca.forEach((ca) { if (ca.validity == null || !ca.validity!.valid) { @@ -272,13 +272,13 @@ class _SiteConfigScreenState extends State { alignment: WrapAlignment.end, crossAxisAlignment: WrapCrossAlignment.center, children: [ - site.staticHostmap.length == 0 + site.staticHostmap.isEmpty ? Padding( padding: EdgeInsets.only(right: 5), child: Icon(Icons.error, color: CupertinoColors.systemRed.resolveFrom(context), size: 20), ) : Container(), - site.staticHostmap.length == 0 + site.staticHostmap.isEmpty ? Text('Needs attention') : Text(Utils.itemCountFormat(site.staticHostmap.length)), ], diff --git a/lib/screens/siteConfig/StaticHostmapScreen.dart b/lib/screens/siteConfig/StaticHostmapScreen.dart index 3cb6d74..83f122b 100644 --- a/lib/screens/siteConfig/StaticHostmapScreen.dart +++ b/lib/screens/siteConfig/StaticHostmapScreen.dart @@ -54,7 +54,7 @@ class _StaticHostmapScreenState extends State { _destinations[UniqueKey()] = _IPAndPort(focusNode: FocusNode(), destination: dest); }); - if (_destinations.length == 0) { + if (_destinations.isEmpty) { _addDestination(); }