using Avalonia.Controls; using Avalonia.Input; using Avalonia.Interactivity; using Avalonia.Styling; using FluentAvalonia.UI.Controls; using Ryujinx.Ava.Common.Locale; using Ryujinx.Ava.UI.ViewModels; using Ryujinx.Ui.Common.Helper; using System.Threading.Tasks; using Button = Avalonia.Controls.Button; namespace Ryujinx.Ava.UI.Windows { public partial class AboutWindow : UserControl { public AboutWindow() { DataContext = new AboutWindowViewModel(); InitializeComponent(); } public static async Task Show() { var content = new AboutWindow(); ContentDialog contentDialog = new() { PrimaryButtonText = "", SecondaryButtonText = "", CloseButtonText = LocaleManager.Instance[LocaleKeys.UserProfilesClose], Content = content }; Style closeButton = new(x => x.Name("CloseButton")); closeButton.Setters.Add(new Setter(WidthProperty, 80d)); Style closeButtonParent = new(x => x.Name("CommandSpace")); closeButtonParent.Setters.Add(new Setter(HorizontalAlignmentProperty, Avalonia.Layout.HorizontalAlignment.Right)); contentDialog.Styles.Add(closeButton); contentDialog.Styles.Add(closeButtonParent); await contentDialog.ShowAsync(); } private void Button_OnClick(object sender, RoutedEventArgs e) { if (sender is Button button) { OpenHelper.OpenUrl(button.Tag.ToString()); } } private void AmiiboLabel_OnPointerPressed(object sender, PointerPressedEventArgs e) { if (sender is TextBlock) { OpenHelper.OpenUrl("https://amiiboapi.com"); } } } }