#30 fix: parse mem

This commit is contained in:
lollipopkit
2023-05-10 13:25:46 +08:00
parent c1d1af8c01
commit 4f82eb09d8
11 changed files with 111 additions and 60 deletions

View File

@@ -191,7 +191,7 @@ class BackupPage extends StatelessWidget {
);
} catch (e) {
showSnackBar(context, Text(e.toString()));
return;
rethrow;
}
}
}

View File

@@ -85,6 +85,7 @@ class _PingPageState extends State<PingPage>
doPing();
} catch (e) {
showSnackBar(context, Text('Error: \n$e'));
rethrow;
}
},
child: const Icon(Icons.play_arrow),
@@ -154,18 +155,14 @@ class _PingPageState extends State<PingPage>
return;
}
try {
await Future.wait(_serverProvider.servers.values.map((e) async {
if (e.client == null) {
return;
}
final result = await e.client!.run('ping -c 3 $target').string;
_results.add(PingResult.parse(e.spi.name, result));
setState(() {});
}));
} catch (e) {
showSnackBar(context, Text(e.toString()));
}
await Future.wait(_serverProvider.servers.values.map((e) async {
if (e.client == null) {
return;
}
final result = await e.client!.run('ping -c 3 $target').string;
_results.add(PingResult.parse(e.spi.name, result));
setState(() {});
}));
}
@override

View File

@@ -105,18 +105,16 @@ class _PrivateKeyEditPageState extends State<PrivateKeyEditPage>
);
});
final info = PrivateKeyInfo(name, key, '');
bool haveErr = false;
try {
info.privateKey = await compute(decyptPem, [key, pwd]);
} catch (e) {
showSnackBar(context, Text(e.toString()));
haveErr = true;
rethrow;
} finally {
setState(() {
_loading = const SizedBox();
});
}
if (haveErr) return;
if (widget.info != null) {
_provider.updateInfo(widget.info!, info);
} else {

View File

@@ -204,9 +204,9 @@ class _ServerDetailPageState extends State<ServerDetailPage>
}
Widget _buildMemView(ServerStatus ss) {
final used = ss.mem.used / ss.mem.total * 100;
final free = ss.mem.free / ss.mem.total * 100;
final avail = ss.mem.avail / ss.mem.total * 100;
final avail = ss.mem.availPercent * 100;
final used = ss.mem.usedPercent * 100;
return RoundRectCard(
Padding(
@@ -245,7 +245,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
Widget _buildSwapView(ServerStatus ss) {
if (ss.swap.total == 0) return const SizedBox();
final used = ss.swap.used / ss.swap.total * 100;
final used = ss.swap.usedPercent * 100;
final cached = ss.swap.cached / ss.swap.total * 100;
return RoundRectCard(
Padding(

View File

@@ -205,7 +205,7 @@ class _ServerPageState extends State<ServerPage>
mainAxisAlignment: MainAxisAlignment.spaceAround,
children: [
_buildPercentCircle(ss.cpu.usedPercent()),
_buildPercentCircle(ss.mem.used / ss.mem.total * 100),
_buildPercentCircle(ss.mem.usedPercent * 100),
_buildIOData('Conn:\n${ss.tcp.maxConn}', 'Fail:\n${ss.tcp.fail}'),
_buildIOData(
'Total:\n${rootDisk.size}', 'Used:\n${rootDisk.usedPercent}%')