mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 10:01:27 -07:00
Add option to copy invite deeplink in context menu
This commit is contained in:
parent
72f034c498
commit
01ea138e02
@ -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 @@
|
||||
<MenuItem x:Name="VersionMenuItem" IsEnabled="False" />
|
||||
<Separator />
|
||||
<MenuItem x:Name="RichPresenceMenuItem" Header="Discord Rich Presence" IsCheckable="True" IsChecked="True" Visibility="Collapsed" Click="RichPresenceMenuItem_Click" />
|
||||
<MenuItem x:Name="InviteDeeplinkMenuItem" Header="Copy invite deeplink" Visibility="Collapsed" Click="InviteDeeplinkMenuItem_Click" />
|
||||
<MenuItem x:Name="ServerDetailsMenuItem" Header="See server details" Visibility="Collapsed" Click="ServerDetailsMenuItem_Click" />
|
||||
<MenuItem x:Name="LogTracerMenuItem" Header="Open log tracer" Visibility="Collapsed" Click="LogTracerMenuItem_Click" />
|
||||
</ContextMenu>
|
||||
|
@ -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();
|
||||
});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user