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

@@ -1190,6 +1190,12 @@ abstract class S {
/// **'s'**
String get second;
/// No description provided for @sequence.
///
/// In en, this message translates to:
/// **'Sequence'**
String get sequence;
/// No description provided for @server.
///
/// In en, this message translates to:

View File

@@ -576,6 +576,9 @@ class SDe extends S {
@override
String get second => 's';
@override
String get sequence => 'Sequenz';
@override
String get server => 'Server';

View File

@@ -576,6 +576,9 @@ class SEn extends S {
@override
String get second => 's';
@override
String get sequence => 'Sequence';
@override
String get server => 'Server';

View File

@@ -576,6 +576,9 @@ class SId extends S {
@override
String get second => 'S';
@override
String get sequence => 'Urutan';
@override
String get server => 'Server';

View File

@@ -576,6 +576,9 @@ class SZh extends S {
@override
String get second => '';
@override
String get sequence => '顺序';
@override
String get server => '服务器';
@@ -1347,6 +1350,9 @@ class SZhTw extends SZh {
@override
String get second => '';
@override
String get sequence => '順序';
@override
String get server => '服務器';

View File

@@ -23,6 +23,7 @@ class Defaults {
'overlay',
'run',
'none',
'shm',
];
static const sshVirtKeys = [

View File

@@ -182,6 +182,7 @@
"save": "Speichern",
"saved": "Gerettet",
"second": "s",
"sequence": "Sequenz",
"server": "Server",
"serverDetailOrder": "Reihenfolge der Widgets auf der Detailseite",
"serverOrder": "Server-Bestellung",

View File

@@ -182,6 +182,7 @@
"save": "Save",
"saved": "Saved",
"second": "s",
"sequence": "Sequence",
"server": "Server",
"serverDetailOrder": "Detail page widget order",
"serverOrder": "Server order",

View File

@@ -182,6 +182,7 @@
"save": "Menyimpan",
"saved": "Diselamatkan",
"second": "S",
"sequence": "Urutan",
"server": "Server",
"serverDetailOrder": "Detail pesanan widget halaman",
"serverOrder": "Pesanan server",

View File

@@ -182,6 +182,7 @@
"save": "保存",
"saved": "已保存",
"second": "秒",
"sequence": "顺序",
"server": "服务器",
"serverDetailOrder": "详情页部件顺序",
"serverOrder": "服务器顺序",

View File

@@ -182,6 +182,7 @@
"save": "保存",
"saved": "已保存",
"second": "秒",
"sequence": "順序",
"server": "服務器",
"serverDetailOrder": "詳情頁部件順序",
"serverOrder": "服務器順序",

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: [