diff --git a/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml b/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml
index 59c0fde..5c5bb7f 100644
--- a/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml
+++ b/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml
@@ -4,10 +4,9 @@
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
- xmlns:local="clr-namespace:Bloxstrap.UI.Elements"
+ xmlns:local="clr-namespace:Bloxstrap.UI.Elements.ContextMenu"
mc:Ignorable="d"
Title="ContextMenuContainer"
- Background="{ui:ThemeResource ApplicationBackgroundBrush}"
MinWidth="0"
MinHeight="0"
Width="0"
@@ -22,6 +21,7 @@
+
diff --git a/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml.cs b/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml.cs
index c687fc3..44bd1d0 100644
--- a/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml.cs
+++ b/Bloxstrap/UI/Elements/ContextMenu/MenuContainer.xaml.cs
@@ -65,6 +65,26 @@ namespace Bloxstrap.UI.Elements.ContextMenu
_serverInformationWindow.Activate();
}
+ private void ActivityWatcher_OnGameJoin(object? sender, EventArgs e)
+ {
+ Dispatcher.Invoke(() => {
+ if (_activityWatcher?.ActivityServerType == ServerType.Public)
+ InviteDeeplinkMenuItem.Visibility = Visibility.Visible;
+
+ ServerDetailsMenuItem.Visibility = Visibility.Visible;
+ });
+ }
+
+ private void ActivityWatcher_OnGameLeave(object? sender, EventArgs e)
+ {
+ Dispatcher.Invoke(() => {
+ InviteDeeplinkMenuItem.Visibility = Visibility.Collapsed;
+ ServerDetailsMenuItem.Visibility = Visibility.Collapsed;
+
+ _serverInformationWindow?.Close();
+ });
+ }
+
private void Window_Loaded(object? sender, RoutedEventArgs e)
{
// this is an awful hack lmao im so sorry to anyone who reads this
@@ -81,6 +101,8 @@ namespace Bloxstrap.UI.Elements.ContextMenu
private void RichPresenceMenuItem_Click(object sender, RoutedEventArgs e) => _richPresenceHandler?.SetVisibility(((MenuItem)sender).IsChecked);
+ private void InviteDeeplinkMenuItem_Click(object sender, RoutedEventArgs e) => Clipboard.SetText($"roblox://experiences/start?placeId={_activityWatcher?.ActivityPlaceId}&gameInstanceId={_activityWatcher?.ActivityJobId}");
+
private void ServerDetailsMenuItem_Click(object sender, RoutedEventArgs e) => ShowServerInformationWindow();
private void LogTracerMenuItem_Click(object sender, RoutedEventArgs e)
@@ -96,15 +118,5 @@ namespace Bloxstrap.UI.Elements.ContextMenu
_logTracerWindow.Activate();
}
-
- private void ActivityWatcher_OnGameJoin(object? sender, EventArgs e) => Dispatcher.Invoke(() => ServerDetailsMenuItem.Visibility = Visibility.Visible);
-
- private void ActivityWatcher_OnGameLeave(object? sender, EventArgs e)
- {
- Dispatcher.Invoke(() => {
- ServerDetailsMenuItem.Visibility = Visibility.Collapsed;
- _serverInformationWindow?.Close();
- });
- }
}
}