diff --git a/SS14.Launcher/Utility/HubUtility.cs b/SS14.Launcher/Utility/HubUtility.cs new file mode 100644 index 00000000..5e4089d0 --- /dev/null +++ b/SS14.Launcher/Utility/HubUtility.cs @@ -0,0 +1,13 @@ +using System; + +namespace SS14.Launcher.Utility; + +public static class HubUtility +{ + public static string GetHubShortName(string hubAddress) + { + return Uri.TryCreate(hubAddress, UriKind.Absolute, out var uri) + ? uri.Host + : hubAddress; + } +} diff --git a/SS14.Launcher/ViewModels/HubSettingsViewModel.cs b/SS14.Launcher/ViewModels/HubSettingsViewModel.cs index 40bc0534..afb4b007 100644 --- a/SS14.Launcher/ViewModels/HubSettingsViewModel.cs +++ b/SS14.Launcher/ViewModels/HubSettingsViewModel.cs @@ -13,7 +13,7 @@ public class HubSettingsViewModel : ViewModelBase { public ObservableCollection HubList { get; set; } = new(); - private readonly DataManager _dataManager = Locator.Current.GetRequiredService(); + private readonly DataManager _dataManager = Locator.Current.GetRequiredService(); public void Save() { diff --git a/SS14.Launcher/ViewModels/MainWindowTabs/ServerEntryViewModel.cs b/SS14.Launcher/ViewModels/MainWindowTabs/ServerEntryViewModel.cs index 1f6da6c6..18851e12 100644 --- a/SS14.Launcher/ViewModels/MainWindowTabs/ServerEntryViewModel.cs +++ b/SS14.Launcher/ViewModels/MainWindowTabs/ServerEntryViewModel.cs @@ -4,6 +4,7 @@ using Microsoft.Toolkit.Mvvm.Messaging; using SS14.Launcher.Models.Data; using SS14.Launcher.Models.ServerStatus; +using static SS14.Launcher.Utility.HubUtility; namespace SS14.Launcher.ViewModels.MainWindowTabs; @@ -132,6 +133,20 @@ public string FallbackName public ServerStatusData CacheData => _cacheData; + public string? FetchedFrom + { + get + { + if (_cfg.Hubs.Count > 1) + { + return _cacheData.HubAddress == null ? null : $"Fetched from {GetHubShortName(_cacheData.HubAddress)}"; + } + + return null; + } + } + public bool ShowFetchedFrom => _cfg.Hubs.Count > 1 && !ViewedInFavoritesPane; + public void FavoriteButtonPressed() { if (IsFavorite) diff --git a/SS14.Launcher/ViewModels/MainWindowTabs/ServerListFiltersViewModel.cs b/SS14.Launcher/ViewModels/MainWindowTabs/ServerListFiltersViewModel.cs index be95c2cf..51a9f887 100644 --- a/SS14.Launcher/ViewModels/MainWindowTabs/ServerListFiltersViewModel.cs +++ b/SS14.Launcher/ViewModels/MainWindowTabs/ServerListFiltersViewModel.cs @@ -9,6 +9,7 @@ using SS14.Launcher.Models.ServerStatus; using SS14.Launcher.Utility; using static SS14.Launcher.Api.ServerApi; +using static SS14.Launcher.Utility.HubUtility; namespace SS14.Launcher.ViewModels.MainWindowTabs; @@ -159,11 +160,7 @@ public void UpdatePresentFilters(IEnumerable servers) if (!alreadyAdded.Add(filter)) continue; - var shortName = Uri.TryCreate(hub, UriKind.Absolute, out var uri) - ? uri.Host - : hub; - - var vm = new ServerFilterViewModel(hub, shortName, filter, this); + var vm = new ServerFilterViewModel(hub, GetHubShortName(hub), filter, this); filtersHub.Add(vm); } } diff --git a/SS14.Launcher/Views/MainWindowTabs/ServerEntryView.xaml b/SS14.Launcher/Views/MainWindowTabs/ServerEntryView.xaml index b69bd3ab..1221395c 100644 --- a/SS14.Launcher/Views/MainWindowTabs/ServerEntryView.xaml +++ b/SS14.Launcher/Views/MainWindowTabs/ServerEntryView.xaml @@ -27,8 +27,19 @@ - + + + + +