mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-18 07:44:26 +01:00
new: VersionRelated
This commit is contained in:
56
lib/data/model/app/server_detail_card.dart
Normal file
56
lib/data/model/app/server_detail_card.dart
Normal file
@@ -0,0 +1,56 @@
|
||||
import 'package:toolbox/core/extension/context/locale.dart';
|
||||
import 'package:toolbox/core/extension/listx.dart';
|
||||
import 'package:toolbox/data/model/app/version_related.dart';
|
||||
import 'package:toolbox/data/res/store.dart';
|
||||
|
||||
enum ServerDetailCards implements VersionRelated {
|
||||
about,
|
||||
cpu,
|
||||
mem,
|
||||
swap,
|
||||
gpu,
|
||||
disk,
|
||||
net,
|
||||
sensor,
|
||||
temp,
|
||||
battery,
|
||||
pve(sinceBuild: 818),
|
||||
;
|
||||
|
||||
@override
|
||||
final int? sinceBuild;
|
||||
|
||||
const ServerDetailCards({this.sinceBuild});
|
||||
|
||||
static ServerDetailCards? fromName(String str) =>
|
||||
ServerDetailCards.values.firstWhereOrNull((e) => e.name == str);
|
||||
|
||||
static final names = values.map((e) => e.name).toList();
|
||||
|
||||
String get toStr => switch (this) {
|
||||
about => l10n.about,
|
||||
cpu => 'CPU',
|
||||
mem => 'RAM',
|
||||
swap => 'Swap',
|
||||
gpu => 'GPU',
|
||||
disk => l10n.disk,
|
||||
net => l10n.net,
|
||||
sensor => l10n.sensors,
|
||||
temp => l10n.temperature,
|
||||
battery => l10n.battery,
|
||||
pve => 'PVE',
|
||||
};
|
||||
|
||||
/// If:
|
||||
/// Version 1 => user set [about], default is [about, cpu]
|
||||
/// Version 2 => default is [about, cpu, mem] => auto add [mem] to user's setting
|
||||
static void autoAddNewCards(int cur) {
|
||||
if (cur >= pve.sinceBuild!) {
|
||||
final prop = Stores.setting.detailCardOrder;
|
||||
final list = prop.fetch();
|
||||
if (list.contains(pve.name)) return;
|
||||
list.add(pve.name);
|
||||
prop.put(list);
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user