opt.: server card seq page

This commit is contained in:
lollipopkit
2024-04-13 00:45:48 +08:00
parent b989953b7a
commit a28fabedef
4 changed files with 26 additions and 5 deletions

View File

@@ -1,3 +1,5 @@
import 'package:flutter/material.dart';
import 'package:icons_plus/icons_plus.dart';
import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/core/extension/listx.dart';
import 'package:toolbox/data/model/app/version_related.dart';
@@ -65,4 +67,19 @@ enum ServerDetailCards implements VersionRelated {
}
}
}
IconData get icon => switch (this) {
about => Icons.info,
cpu => Icons.memory,
mem => Bootstrap.memory,
swap => Icons.swap_horiz,
gpu => Bootstrap.gpu_card,
disk => Icons.storage,
net => ZondIcons.network,
sensor => MingCute.dashboard_4_line,
temp => FontAwesome.temperature_empty_solid,
battery => Icons.battery_full,
pve => BoxIcons.bxs_dashboard,
custom => Icons.code,
};
}

View File

@@ -247,7 +247,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
final idx = i * kMaxColumn + j + 1;
if (idx >= cs.coresCount) break;
if (Stores.setting.displayCpuIndex.fetch()) {
rowChildren.add(Text('${idx + 1}', style: UIs.text13Grey));
rowChildren.add(Text('$idx', style: UIs.text13Grey));
}
rowChildren.add(
Expanded(

View File

@@ -1,7 +1,6 @@
import 'package:flutter/material.dart';
import 'package:toolbox/core/extension/context/locale.dart';
import 'package:toolbox/core/extension/context/snackbar.dart';
import 'package:toolbox/core/utils/platform/base.dart';
import 'package:toolbox/data/model/app/server_detail_card.dart';
import 'package:toolbox/data/res/store.dart';
@@ -38,14 +37,16 @@ class _ServerDetailOrderPageState extends State<ServerDetailOrderPage> {
final allKeys = [...keys, ...disabled];
return ReorderableListView.builder(
padding: const EdgeInsets.all(7),
buildDefaultDragHandles: false,
itemBuilder: (_, idx) {
final key = allKeys[idx];
return CardX(
key: ValueKey(idx),
child: ListTile(
contentPadding: const EdgeInsets.only(left: 23, right: 11),
leading: Icon(ServerDetailCards.fromName(key)?.icon),
title: Text(key),
leading: _buildCheckBox(keys, key, idx, idx < keys.length),
trailing: isDesktop ? null : const Icon(Icons.drag_handle),
trailing: _buildCheckBox(keys, key, idx, idx < keys.length),
),
);
},

View File

@@ -16,10 +16,13 @@ class ChoiceChipX<T> extends StatelessWidget {
@override
Widget build(BuildContext context) {
return Padding(
padding: const EdgeInsets.symmetric(vertical: 3, horizontal: 3),
padding: const EdgeInsets.symmetric(horizontal: 5),
child: ChoiceChip(
label: Text(label),
side: BorderSide.none,
showCheckmark: true,
padding: const EdgeInsets.symmetric(horizontal: 9, vertical: 8),
labelPadding: const EdgeInsets.symmetric(horizontal: 10, vertical: 0),
selected: state.selected(value),
onSelected: state.onSelected(value),
),