Files
NebulaLauncher/Nebula.Launcher/ViewModels/Popup/AddFavoriteViewModel.cs

50 lines
1.3 KiB
C#

using System;
using CommunityToolkit.Mvvm.ComponentModel;
using Nebula.Launcher.ViewModels.Pages;
using Nebula.Launcher.Views.Pages;
using Nebula.Shared.Services;
using Nebula.Shared.Services.Logging;
using Nebula.Shared.Utils;
using AddFavoriteView = Nebula.Launcher.Views.Popup.AddFavoriteView;
namespace Nebula.Launcher.ViewModels.Popup;
[ViewModelRegister(typeof(AddFavoriteView), false)]
[ConstructGenerator]
public partial class AddFavoriteViewModel : PopupViewModelBase
{
private ILogger _logger;
protected override void InitialiseInDesignMode()
{
}
protected override void Initialise()
{
_logger = DebugService.GetLogger(this);
}
[GenerateProperty]
public override PopupMessageService PopupMessageService { get; }
[GenerateProperty] private ServerOverviewModel ServerOverviewModel { get; }
[GenerateProperty] private DebugService DebugService { get; }
public override string Title => "Add to favorite";
public override bool IsClosable => true;
[ObservableProperty] private string _ipInput;
[ObservableProperty] private string _error = "";
public void OnEnter()
{
try
{
var uri = IpInput.ToRobustUrl();
Dispose();
}
catch (Exception e)
{
Error = e.Message;
_logger.Error(e);
}
}
}