mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 07:14:28 +01:00
fix & opt.: prefer temperature dev
This commit is contained in:
@@ -1,28 +1,42 @@
|
||||
part of 'server.dart';
|
||||
|
||||
extension ServerX on Server {
|
||||
String get topRightStr {
|
||||
String getTopRightStr(ServerPrivateInfo spi) {
|
||||
switch (state) {
|
||||
case ServerState.disconnected:
|
||||
return l10n.disconnected;
|
||||
case ServerState.finished:
|
||||
// Highest priority of temperature display
|
||||
final cmdTemp = status.customCmds['server_card_top_right'];
|
||||
final temp = status.temps.first;
|
||||
final sensorTemp = SensorItem.findPreferTempVal(status.sensors);
|
||||
final temperatureVal = () {
|
||||
// Second priority
|
||||
final preferTempDev = spi.custom?.preferTempDev;
|
||||
if (preferTempDev != null) {
|
||||
final preferTemp = status.sensors
|
||||
.firstWhereOrNull(
|
||||
(e) => e.device == preferTempDev,
|
||||
)
|
||||
?.props
|
||||
.values
|
||||
.firstOrNull
|
||||
?.current;
|
||||
if (preferTemp != null) return preferTemp;
|
||||
}
|
||||
// Last priority
|
||||
final temp = status.temps.first;
|
||||
if (temp != null) {
|
||||
return temp;
|
||||
}
|
||||
if (sensorTemp != null) {
|
||||
return sensorTemp;
|
||||
}
|
||||
return null;
|
||||
}();
|
||||
final tempVal = temperatureVal != null
|
||||
? '${temperatureVal.toStringAsFixed(1)}°C'
|
||||
: null;
|
||||
final upTime = status.more[StatusCmdType.uptime];
|
||||
final items = [tempVal ?? cmdTemp, upTime];
|
||||
final items = [
|
||||
cmdTemp ??
|
||||
(temperatureVal != null
|
||||
? '${temperatureVal.toStringAsFixed(1)}°C'
|
||||
: null),
|
||||
upTime
|
||||
];
|
||||
final str = items.where((e) => e != null && e.isNotEmpty).join(' | ');
|
||||
if (str.isEmpty) return l10n.noResult;
|
||||
return str;
|
||||
|
||||
Reference in New Issue
Block a user