mirror of
https://github.com/achiez/NebulaAuth-Steam-Desktop-Authenticator-by-Achies.git
synced 2026-07-25 06:14:31 +00:00
8ff960189e
- Update: Added "Copy Password" to Mafile context menu (if available) - Update: "Save Password" now pre-fills the current password in the "Login Again" dialog when encryption is enabled - Fix: Prevented overlapping confirmation cycles in AutoConfirmer - Fix: Added a Snackbar notification when a confirmation cycle is skipped due to a too frequent timer interval - Fix: Fixed a rare bug where the previous proxy was used instead of the current one during session refresh - Fix: Corrected "Session Permanently Expired" message showing on unrelated errors (e.g. network issues) - UI-Fix: Fixed visual glitch where proxy input appeared non-empty when switching to a mafile-specific proxy - Cleanup: Refactored and cleaned up codebase, improved styling and formatting via ReSharper
210 lines
13 KiB
XML
210 lines
13 KiB
XML
<ResourceDictionary xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:confirmations="clr-namespace:SteamLib.SteamMobile.Confirmations;assembly=SteamLibForked"
|
|
xmlns:materialDesign="http://materialdesigninxaml.net/winfx/xaml/themes"
|
|
xmlns:theme="clr-namespace:NebulaAuth.Theme"
|
|
xmlns:converters="clr-namespace:NebulaAuth.Converters"
|
|
xmlns:entities="clr-namespace:NebulaAuth.Model.Entities"
|
|
xmlns:vm="clr-namespace:NebulaAuth.ViewModel">
|
|
|
|
|
|
<DataTemplate DataType="{x:Type confirmations:Confirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" DockPanel.Dock="Left"
|
|
Kind="QuestionMark" Margin="0,0,10,0" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="1" Text="{Binding TypeName}" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="2" HorizontalAlignment="Right"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="4" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type confirmations:TradeConfirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon VerticalAlignment="Center" Width="20" Height="20" Kind="AccountArrowRight"
|
|
Margin="0,0,10,0" />
|
|
<Image Grid.Column="1" VerticalAlignment="Center" DockPanel.Dock="Left" Width="24" Height="24"
|
|
Source="{Binding UserAvatarUri}" Margin="0,0,10,0" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="2" TextWrapping="WrapWithOverflow">
|
|
<Run Text="{Tr MainWindow.ConfirmationTemplates.TradeWith, IsDynamic=False}" />
|
|
<Run Text="{Binding UserName}" FontWeight="Bold" />
|
|
</TextBlock>
|
|
<materialDesign:PackIcon Grid.Column="3" HorizontalAlignment="Right" VerticalAlignment="Center"
|
|
Margin="5,0,5,0" Kind="Gift"
|
|
Visibility="{Binding IsReceiveNothing, Converter={StaticResource BooleanToVisibilityConverter}}" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="4" HorizontalAlignment="Right"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="5"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="6" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type confirmations:AccountRecoveryConfirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" DockPanel.Dock="Left"
|
|
Kind="LockOutline" Margin="0,0,10,0" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="1" Text="{Tr MainWindow.ConfirmationTemplates.Recovery}" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="2" HorizontalAlignment="Right"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="4" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type confirmations:MarketConfirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon VerticalAlignment="Center" Width="20" Height="20" Kind="ShoppingCart"
|
|
Margin="0,0,10,0" />
|
|
<Border Grid.Column="1" Background="{DynamicResource MaterialDesignPaper}" MaxHeight="36"
|
|
HorizontalAlignment="Center" BorderBrush="{DynamicResource PrimaryHueMidBrush}"
|
|
BorderThickness="0.6" Margin="0,0,10,0">
|
|
<Image HorizontalAlignment="Center" VerticalAlignment="Center" MaxWidth="32" MaxHeight="32"
|
|
Source="{Binding ItemImageUri}" />
|
|
</Border>
|
|
<Grid Grid.Column="2">
|
|
<TextBlock VerticalAlignment="Center" x:Name="ItemName" theme:FontScaleWindow.ResizeFont="True"
|
|
TextWrapping="WrapWithOverflow" Text="{Binding ItemName}" />
|
|
|
|
<TextBlock Foreground="LightGray" Text="{Binding PriceString}">
|
|
<TextBlock.FontSize>
|
|
<Binding ElementName="ItemName" Path="FontSize" ConverterParameter="0.7">
|
|
<Binding.Converter>
|
|
<converters:CoefficientConverter />
|
|
</Binding.Converter>
|
|
</Binding>
|
|
</TextBlock.FontSize>
|
|
</TextBlock>
|
|
</Grid>
|
|
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="4" HorizontalAlignment="Left" Margin="5,0,0,0"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="5"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="6" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type confirmations:RegisterApiKeyConfirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon Width="20" Height="20" VerticalAlignment="Center" DockPanel.Dock="Left"
|
|
Kind="KeyLink" Margin="0,0,10,0" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="1" Text="{Tr MainWindow.ConfirmationTemplates.ApiKey}" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="2" HorizontalAlignment="Right"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="4" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
<DataTemplate DataType="{x:Type entities:MarketMultiConfirmation}">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="*" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
<ColumnDefinition Width="Auto" />
|
|
</Grid.ColumnDefinitions>
|
|
<materialDesign:PackIcon VerticalAlignment="Center" Width="20" Height="20" Kind="ShoppingCartPlus"
|
|
Margin="0,0,10,0" />
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="1">
|
|
<Run Text="{Tr MainWindow.ConfirmationTemplates.Market, IsDynamic=False}" />
|
|
<Run Text="{Binding Confirmations.Count, Mode=OneWay}" />
|
|
<Run Text="{Tr Common.Abbreviations.Count.Items, IsDynamic=False}" />
|
|
</TextBlock>
|
|
|
|
<TextBlock VerticalAlignment="Center" Grid.Column="2" HorizontalAlignment="Left" Margin="5,0,0,0"
|
|
Text="{Binding Time, StringFormat=t}" />
|
|
<Button Margin="5,0,0,0" VerticalAlignment="Center" Grid.Column="3"
|
|
Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.ConfirmCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Check" />
|
|
</Button>
|
|
<Button Grid.Column="4" Style="{StaticResource MaterialDesignIconButton}"
|
|
Command="{Binding RelativeSource={RelativeSource AncestorType=Window}, Path=DataContext.(vm:MainVM.CancelCommand)}"
|
|
CommandParameter="{Binding }">
|
|
<materialDesign:PackIcon Kind="Close" />
|
|
</Button>
|
|
</Grid>
|
|
</DataTemplate>
|
|
</ResourceDictionary> |