detail page display memory exact value

This commit is contained in:
Junyuan Feng
2021-12-31 18:51:33 +08:00
parent f480c49f1f
commit 7fb8c88ab8
2 changed files with 17 additions and 5 deletions

View File

@@ -184,6 +184,16 @@ class _ServerDetailPageState extends State<ServerDetailPage>
)); ));
} }
String convertMB(int mb) {
const suffix = ['MB', 'GB', 'TB'];
double value = mb.toDouble();
int squareTimes = 0;
for (; value / 1024 > 1 && squareTimes < 3; squareTimes++) {
value /= 1024;
}
return '${value.toStringAsFixed(1)} ${suffix[squareTimes]}';
}
Widget _buildMemView(ServerStatus ss) { Widget _buildMemView(ServerStatus ss) {
final pColor = primaryColor; final pColor = primaryColor;
final used = ss.memory.used / ss.memory.total; final used = ss.memory.used / ss.memory.total;
@@ -197,9 +207,11 @@ class _ServerDetailPageState extends State<ServerDetailPage>
Row( Row(
mainAxisAlignment: MainAxisAlignment.spaceBetween, mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: [ children: [
_buildMemExplain('Used', pColor), _buildMemExplain(convertMB(ss.memory.used), pColor),
_buildMemExplain('Cache', pColor.withAlpha(77)), _buildMemExplain(
_buildMemExplain('Avail', progressColor.resolve(context)) convertMB(ss.memory.cache), pColor.withAlpha(77)),
_buildMemExplain(
convertMB(ss.memory.total - ss.memory.avail), progressColor.resolve(context))
], ],
), ),
const SizedBox( const SizedBox(

View File

@@ -67,9 +67,9 @@ class _ServerPageState extends State<ServerPage>
child: AnimationLimiter( child: AnimationLimiter(
child: Column( child: Column(
children: AnimationConfiguration.toStaggeredList( children: AnimationConfiguration.toStaggeredList(
duration: const Duration(milliseconds: 377), duration: const Duration(milliseconds: 777),
childAnimationBuilder: (widget) => SlideAnimation( childAnimationBuilder: (widget) => SlideAnimation(
verticalOffset: 50.0, verticalOffset: 77.0,
child: FadeInAnimation( child: FadeInAnimation(
child: widget, child: widget,
), ),