bloxstrap/Bloxstrap/UI/ViewModels/ContextMenu/ServerInformationViewModel.cs
pizzaboxer 3eeebc7a8b
Draft: bootstrapper refactoring
Roblox now installs to /Roblox/Player/ instead of /Versions/<version guid>

This is a checkpoint commit. No mod manager, no error checking, no fullscreen optimizations configuration. Only installing and launching Roblox.

THIS WORKED FIRST TRY BY THE WAY
2024-09-05 22:07:07 +01:00

39 lines
1.3 KiB
C#

using System.Windows;
using System.Windows.Input;
using Bloxstrap.Integrations;
using CommunityToolkit.Mvvm.Input;
namespace Bloxstrap.UI.ViewModels.ContextMenu
{
internal class ServerInformationViewModel : NotifyPropertyChangedViewModel
{
private readonly ActivityWatcher _activityWatcher;
public string InstanceId => _activityWatcher.Data.JobId;
public string ServerType => _activityWatcher.Data.ServerType.ToTranslatedString();
public string ServerLocation { get; private set; } = Strings.Common_Loading;
public Visibility ServerLocationVisibility => App.Settings.Prop.ShowServerDetails ? Visibility.Visible : Visibility.Collapsed;
public ICommand CopyInstanceIdCommand => new RelayCommand(CopyInstanceId);
public ServerInformationViewModel(Watcher watcher)
{
_activityWatcher = watcher.ActivityWatcher!;
if (ServerLocationVisibility == Visibility.Visible)
QueryServerLocation();
}
public async void QueryServerLocation()
{
ServerLocation = await _activityWatcher.Data.QueryServerLocation();
OnPropertyChanged(nameof(ServerLocation));
}
private void CopyInstanceId() => Clipboard.SetDataObject(InstanceId);
}
}