Files
SpecterOps-pass-the-passkey/Src/SpecterOps.Passkeys.Injector/Views/MainWindow/MainWindow.xaml
T

99 lines
6.1 KiB
XML

<Window x:Class="SpecterOps.Passkeys.Injector.MainWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:local="clr-namespace:SpecterOps.Passkeys.Injector"
xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
mc:Ignorable="d"
Title="Passkey Injector" Height="768" Width="1024" MinHeight="600" MinWidth="800"
Closed="OnWindowClosed"
Icon="pack://application:,,,/Lock.ico">
<Window.Resources>
<DataTemplate x:Key="AuthClientMenuItemTemplate">
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe Fluent Icons" Text="{Binding IconGlyph}" Margin="0,0,8,0" />
<TextBlock Text="{Binding DisplayName}" />
</StackPanel>
</DataTemplate>
<DataTemplate x:Key="BookmarkMenuItemTemplate">
<StackPanel Orientation="Horizontal">
<Image Source="{Binding FaviconImageSource}" Width="16" Height="16" Margin="0,0,8,0" />
<TextBlock Text="{Binding Name}" />
</StackPanel>
</DataTemplate>
</Window.Resources>
<DockPanel>
<StackPanel DockPanel.Dock="Top">
<DockPanel>
<Button x:Name="menuButton" DockPanel.Dock="Left" ToolTip="Menu" Click="OnMenuButtonClick"
FontFamily="Segoe Fluent Icons" Content="&#xE700;" Padding="8,4"
Height="{Binding ActualHeight, ElementName=addressBar}" VerticalAlignment="Stretch"
TabIndex="0">
<Button.ContextMenu>
<ContextMenu FontFamily="Segoe UI"
DataContext="{Binding PlacementTarget.DataContext, RelativeSource={RelativeSource Self}}">
<MenuItem ItemsSource="{Binding Bookmarks}"
ItemTemplate="{StaticResource BookmarkMenuItemTemplate}">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe Fluent Icons" Text="&#xE728;" Margin="0,0,8,0" />
<TextBlock Text="Bookmarks" />
</StackPanel>
</MenuItem.Header>
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem" BasedOn="{StaticResource {x:Type MenuItem}}">
<EventSetter Event="Click" Handler="OnBookmarkClick" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
<Separator />
<MenuItem ItemsSource="{Binding MicrosoftApps}"
ItemTemplate="{StaticResource AuthClientMenuItemTemplate}">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe Fluent Icons" Text="&#xE77B;" Margin="0,0,8,0" />
<TextBlock Text="Request Tokens" />
</StackPanel>
</MenuItem.Header>
<MenuItem.ItemContainerStyle>
<Style TargetType="MenuItem" BasedOn="{StaticResource {x:Type MenuItem}}">
<EventSetter Event="Click" Handler="OnAuthenticateAsClick" />
</Style>
</MenuItem.ItemContainerStyle>
</MenuItem>
<Separator />
<MenuItem Click="OnOpenDevToolsClick">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe Fluent Icons" Text="&#xEC7A;" Margin="0,0,8,0" />
<TextBlock Text="Developer Tools" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
<MenuItem Click="OnClearBrowsingDataClick">
<MenuItem.Header>
<StackPanel Orientation="Horizontal">
<TextBlock FontFamily="Segoe Fluent Icons" Text="&#xE74D;" Margin="0,0,8,0" />
<TextBlock Text="Clear Browsing Data" />
</StackPanel>
</MenuItem.Header>
</MenuItem>
</ContextMenu>
</Button.ContextMenu>
</Button>
<Button x:Name="goButton" DockPanel.Dock="Right" ToolTip="GO" IsEnabled="False" IsDefault="True" Click="OnNavigateClick"
FontFamily="Segoe Fluent Icons" Content="&#xE72A;" Padding="8,4"
Height="{Binding ActualHeight, ElementName=addressBar}" VerticalAlignment="Stretch"
TabIndex="2" />
<ComboBox x:Name="addressBar" IsEditable="True" Text="{Binding DefaultAddressBarText, Mode=OneTime}"
ItemsSource="{Binding Bookmarks}" DisplayMemberPath="Url" TextSearch.TextPath="Url"
IsTextSearchEnabled="True"
VerticalAlignment="Stretch" VerticalContentAlignment="Center"
TabIndex="1" DropDownClosed="OnAddressBarSuggestionsClosed" />
</DockPanel>
</StackPanel>
<wv2:WebView2 x:Name="webView" />
</DockPanel>
</Window>