diff --git a/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml b/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml
new file mode 100644
index 00000000..49f2267c
--- /dev/null
+++ b/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml
@@ -0,0 +1,115 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml.cs b/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml.cs
new file mode 100644
index 00000000..6357b5f5
--- /dev/null
+++ b/LANCommander.Launcher.Avalonia/Views/Components/CoverButton.axaml.cs
@@ -0,0 +1,44 @@
+using System.Windows.Input;
+using Avalonia;
+using Avalonia.Controls;
+using Avalonia.Input;
+
+namespace LANCommander.Launcher.Avalonia.Views.Components;
+
+public partial class CoverButton : UserControl
+{
+ public static readonly StyledProperty CommandProperty =
+ AvaloniaProperty.Register(nameof(Command));
+
+ public static readonly StyledProperty