pschelpdesk/HetznerServer/Views/ServerView.axaml.cs
2024-11-11 09:07:13 +01:00

38 lines
1.0 KiB
C#

using Avalonia.Controls;
using Avalonia.Input;
using Avalonia.Interactivity;
using Avalonia.Threading;
using PSCHelpdesk.Plugins.HetznerServer.Models;
using PSCHelpdesk.Plugins.HetznerServer.ViewModels;
namespace PSCHelpdesk.Plugins.HetznerServer.Views;
public partial class ServerView : UserControl
{
public ServerView()
{
InitializeComponent();
}
private void openSSH(object? sender, RoutedEventArgs e)
{
((ServerViewModel)DataContext).SSH(((Button)sender).DataContext as Server);
}
private void openSCP(object? sender, RoutedEventArgs e)
{
((ServerViewModel)DataContext).SCP(((Button)sender).DataContext as Server);
}
private void InputElement_OnDoubleTapped(object? sender, TappedEventArgs e)
{
Uri? uri = new Uri("https://" + ((TextBox)sender).Text);
if (uri is not null)
{
Dispatcher.UIThread.Post(async () =>
{
bool success = await TopLevel.GetTopLevel(this)!.Launcher.LaunchUriAsync(uri);
});
}
}
}