mirror of
https://github.com/bloxstraplabs/bloxstrap.git
synced 2025-04-21 18:11: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:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
xmlns:ui="http://schemas.lepo.co/wpfui/2022/xaml"
|
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"
|
mc:Ignorable="d"
|
||||||
Title="ContextMenuContainer"
|
Title="ContextMenuContainer"
|
||||||
Background="{ui:ThemeResource ApplicationBackgroundBrush}"
|
|
||||||
MinWidth="0"
|
MinWidth="0"
|
||||||
MinHeight="0"
|
MinHeight="0"
|
||||||
Width="0"
|
Width="0"
|
||||||
@ -22,6 +21,7 @@
|
|||||||
<MenuItem x:Name="VersionMenuItem" IsEnabled="False" />
|
<MenuItem x:Name="VersionMenuItem" IsEnabled="False" />
|
||||||
<Separator />
|
<Separator />
|
||||||
<MenuItem x:Name="RichPresenceMenuItem" Header="Discord Rich Presence" IsCheckable="True" IsChecked="True" Visibility="Collapsed" Click="RichPresenceMenuItem_Click" />
|
<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="ServerDetailsMenuItem" Header="See server details" Visibility="Collapsed" Click="ServerDetailsMenuItem_Click" />
|
||||||
<MenuItem x:Name="LogTracerMenuItem" Header="Open log tracer" Visibility="Collapsed" Click="LogTracerMenuItem_Click" />
|
<MenuItem x:Name="LogTracerMenuItem" Header="Open log tracer" Visibility="Collapsed" Click="LogTracerMenuItem_Click" />
|
||||||
</ContextMenu>
|
</ContextMenu>
|
||||||
|
@ -65,6 +65,26 @@ namespace Bloxstrap.UI.Elements.ContextMenu
|
|||||||
_serverInformationWindow.Activate();
|
_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)
|
private void Window_Loaded(object? sender, RoutedEventArgs e)
|
||||||
{
|
{
|
||||||
// this is an awful hack lmao im so sorry to anyone who reads this
|
// 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 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 ServerDetailsMenuItem_Click(object sender, RoutedEventArgs e) => ShowServerInformationWindow();
|
||||||
|
|
||||||
private void LogTracerMenuItem_Click(object sender, RoutedEventArgs e)
|
private void LogTracerMenuItem_Click(object sender, RoutedEventArgs e)
|
||||||
@ -96,15 +118,5 @@ namespace Bloxstrap.UI.Elements.ContextMenu
|
|||||||
|
|
||||||
_logTracerWindow.Activate();
|
_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