From 5fa05fa0d16f3727240b5e12c74bf95479a40316 Mon Sep 17 00:00:00 2001 From: Jared Goodwin Date: Sun, 25 Apr 2021 17:05:23 -0700 Subject: [PATCH] Add warning on device card for outdated devices. --- Server/Components/Devices/DeviceCard.razor | 18 +++++++++++++++--- Server/Components/Devices/DeviceCard.razor.cs | 4 ++++ .../Components/Devices/DevicesFrame.razor.cs | 4 ++++ 3 files changed, 23 insertions(+), 3 deletions(-) diff --git a/Server/Components/Devices/DeviceCard.razor b/Server/Components/Devices/DeviceCard.razor index 5687ef10..3cc31196 100644 --- a/Server/Components/Devices/DeviceCard.razor +++ b/Server/Components/Devices/DeviceCard.razor @@ -10,9 +10,21 @@
- - + @if (Device.IsOnline) + { + if (IsOutdated) + { + + } + else + { + + } + } + else + { + + }
diff --git a/Server/Components/Devices/DeviceCard.razor.cs b/Server/Components/Devices/DeviceCard.razor.cs index 17196b87..bcd2fabe 100644 --- a/Server/Components/Devices/DeviceCard.razor.cs +++ b/Server/Components/Devices/DeviceCard.razor.cs @@ -52,6 +52,10 @@ namespace Remotely.Server.Components.Devices private bool IsSelected => AppState.DevicesFrameSelectedDevices.Contains(Device.ID); + private bool IsOutdated => + Version.TryParse(Device.AgentVersion, out var result) && + result < ParentFrame.HighestVersion; + [Inject] private IJsInterop JsInterop { get; set; } diff --git a/Server/Components/Devices/DevicesFrame.razor.cs b/Server/Components/Devices/DevicesFrame.razor.cs index 02256d0a..7e07f8e0 100644 --- a/Server/Components/Devices/DevicesFrame.razor.cs +++ b/Server/Components/Devices/DevicesFrame.razor.cs @@ -42,6 +42,8 @@ namespace Remotely.Server.Components.Devices private string _selectedSortProperty = "DeviceName"; private ListSortDirection _sortDirection; + public Version HighestVersion { get; private set; } + [Inject] private IClientAppState AppState { get; set; } @@ -222,6 +224,8 @@ namespace Remotely.Server.Components.Devices _allDevices.AddRange(devices); + HighestVersion = _allDevices.Max(x => Version.TryParse(x.AgentVersion, out var result) ? result : default); + FilterDevices(); }