new: detail page net sort

This commit is contained in:
lollipopkit
2023-10-31 20:13:57 +08:00
parent b4dbde9a80
commit 040cd6a29f
13 changed files with 69 additions and 6 deletions

View File

@@ -329,6 +329,11 @@ class _ServerDetailPageState extends State<ServerDetailPage>
Widget _buildDiskItem(Disk disk, ServerStatus ss) {
final (read, write) = ss.diskIO.getReadSpeed(disk.dev);
final text = () {
final use = '${disk.usedPercent}% of ${disk.size}';
if (read == null || write == null) return use;
return '$use\n$read | ↓ $write';
}();
return ListTile(
title: Text(
disk.dev,
@@ -337,7 +342,7 @@ class _ServerDetailPageState extends State<ServerDetailPage>
),
contentPadding: const EdgeInsets.symmetric(vertical: 3, horizontal: 17),
subtitle: Text(
'${disk.usedPercent}% of ${disk.size}\n$read | ↓ $write',
text,
style: UIs.textSize11,
textScaleFactor: _textFactor,
),
@@ -374,7 +379,27 @@ class _ServerDetailPageState extends State<ServerDetailPage>
build: () {
return CardX(
ExpandTile(
title: Text(l10n.net),
title: Row(
children: [
Text(l10n.net),
UIs.width13,
InkWell(
onTap: () {
_netSortType.value = _netSortType.value.next;
},
child: Row(
children: [
const Icon(Icons.sort, size: 17),
UIs.width7,
Text(
_netSortType.value.name,
style: UIs.textSize11Grey,
),
],
),
)
],
),
leading: const Icon(Icons.device_hub, size: 17),
initiallyExpanded: children.length <= 7,
children: children,
@@ -458,6 +483,17 @@ enum _NetSortType {
bool get isIn => this == _NetSortType.recv;
bool get isOut => this == _NetSortType.trans;
_NetSortType get next {
switch (this) {
case device:
return trans;
case _NetSortType.trans:
return recv;
case recv:
return device;
}
}
int Function(String, String) getSortFunc(NetSpeed ns) {
switch (this) {
case _NetSortType.device:

View File

@@ -212,7 +212,7 @@ class _SettingPageState extends State<SettingPage> {
return Column(
children: [
_buildMoveOutServerFuncBtns(),
_buildServerOrder(),
_buildSequence(),
_buildNetViewType(),
_buildUpdateInterval(),
_buildMaxRetry(),
@@ -934,11 +934,11 @@ class _SettingPageState extends State<SettingPage> {
);
}
Widget _buildServerOrder() {
Widget _buildSequence() {
return ExpandTile(
title: Text(l10n.serverOrder),
title: Text(l10n.sequence),
subtitle: Text(
'${l10n.serverOrder} / ${l10n.serverDetailOrder}',
'${l10n.serverOrder} / ${l10n.serverDetailOrder} ...',
style: UIs.textGrey,
),
children: [