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/context/locale.dart';
|
||||||
import 'package:toolbox/core/extension/listx.dart';
|
import 'package:toolbox/core/extension/listx.dart';
|
||||||
import 'package:toolbox/data/model/app/version_related.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;
|
final idx = i * kMaxColumn + j + 1;
|
||||||
if (idx >= cs.coresCount) break;
|
if (idx >= cs.coresCount) break;
|
||||||
if (Stores.setting.displayCpuIndex.fetch()) {
|
if (Stores.setting.displayCpuIndex.fetch()) {
|
||||||
rowChildren.add(Text('${idx + 1}', style: UIs.text13Grey));
|
rowChildren.add(Text('$idx', style: UIs.text13Grey));
|
||||||
}
|
}
|
||||||
rowChildren.add(
|
rowChildren.add(
|
||||||
Expanded(
|
Expanded(
|
||||||
|
|||||||
@@ -1,7 +1,6 @@
|
|||||||
import 'package:flutter/material.dart';
|
import 'package:flutter/material.dart';
|
||||||
import 'package:toolbox/core/extension/context/locale.dart';
|
import 'package:toolbox/core/extension/context/locale.dart';
|
||||||
import 'package:toolbox/core/extension/context/snackbar.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/model/app/server_detail_card.dart';
|
||||||
import 'package:toolbox/data/res/store.dart';
|
import 'package:toolbox/data/res/store.dart';
|
||||||
|
|
||||||
@@ -38,14 +37,16 @@ class _ServerDetailOrderPageState extends State<ServerDetailOrderPage> {
|
|||||||
final allKeys = [...keys, ...disabled];
|
final allKeys = [...keys, ...disabled];
|
||||||
return ReorderableListView.builder(
|
return ReorderableListView.builder(
|
||||||
padding: const EdgeInsets.all(7),
|
padding: const EdgeInsets.all(7),
|
||||||
|
buildDefaultDragHandles: false,
|
||||||
itemBuilder: (_, idx) {
|
itemBuilder: (_, idx) {
|
||||||
final key = allKeys[idx];
|
final key = allKeys[idx];
|
||||||
return CardX(
|
return CardX(
|
||||||
key: ValueKey(idx),
|
key: ValueKey(idx),
|
||||||
child: ListTile(
|
child: ListTile(
|
||||||
|
contentPadding: const EdgeInsets.only(left: 23, right: 11),
|
||||||
|
leading: Icon(ServerDetailCards.fromName(key)?.icon),
|
||||||
title: Text(key),
|
title: Text(key),
|
||||||
leading: _buildCheckBox(keys, key, idx, idx < keys.length),
|
trailing: _buildCheckBox(keys, key, idx, idx < keys.length),
|
||||||
trailing: isDesktop ? null : const Icon(Icons.drag_handle),
|
|
||||||
),
|
),
|
||||||
);
|
);
|
||||||
},
|
},
|
||||||
|
|||||||
@@ -16,10 +16,13 @@ class ChoiceChipX<T> extends StatelessWidget {
|
|||||||
@override
|
@override
|
||||||
Widget build(BuildContext context) {
|
Widget build(BuildContext context) {
|
||||||
return Padding(
|
return Padding(
|
||||||
padding: const EdgeInsets.symmetric(vertical: 3, horizontal: 3),
|
padding: const EdgeInsets.symmetric(horizontal: 5),
|
||||||
child: ChoiceChip(
|
child: ChoiceChip(
|
||||||
label: Text(label),
|
label: Text(label),
|
||||||
side: BorderSide.none,
|
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),
|
selected: state.selected(value),
|
||||||
onSelected: state.onSelected(value),
|
onSelected: state.onSelected(value),
|
||||||
),
|
),
|
||||||
|
|||||||
Reference in New Issue
Block a user