mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
opt.: server card seq page
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
|
||||
@@ -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(
|
||||
|
||||
@@ -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),
|
||||
),
|
||||
);
|
||||
},
|
||||
|
||||
@@ -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),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user