- Introdotto il pre-caricamento di WebView2 per ridurre i tempi di attesa. - Implementato il pattern TaskCompletionSource per attendere l'inizializzazione di WebView2 (timeout 60s). - Centralizzata la logica di verifica e importazione automatica dei cookie. - Mostrate istruzioni di login solo se necessario, migliorando l'UX. - Risolti problemi di timeout e threading durante l'inizializzazione di WebView2. - Puliti e ottimizzati i log per maggiore chiarezza. - Rimossa la gestione manuale dei cookie, ora automatizzata.
129 lines
5.9 KiB
XML
129 lines
5.9 KiB
XML
<UserControl x:Class="AutoBidder.Controls.BrowserControl"
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
|
xmlns:wv2="clr-namespace:Microsoft.Web.WebView2.Wpf;assembly=Microsoft.Web.WebView2.Wpf"
|
|
mc:Ignorable="d"
|
|
d:DesignHeight="800" d:DesignWidth="1200"
|
|
Background="#1E1E1E">
|
|
|
|
<UserControl.Resources>
|
|
<Style x:Key="RoundedButton" TargetType="Button">
|
|
<Setter Property="Template">
|
|
<Setter.Value>
|
|
<ControlTemplate TargetType="Button">
|
|
<Border Background="{TemplateBinding Background}"
|
|
CornerRadius="4"
|
|
Padding="{TemplateBinding Padding}">
|
|
<ContentPresenter HorizontalAlignment="Center" VerticalAlignment="Center"/>
|
|
</Border>
|
|
</ControlTemplate>
|
|
</Setter.Value>
|
|
</Setter>
|
|
<Setter Property="Foreground" Value="White"/>
|
|
<Setter Property="FontWeight" Value="SemiBold"/>
|
|
<Setter Property="BorderThickness" Value="0"/>
|
|
<Setter Property="Cursor" Value="Hand"/>
|
|
</Style>
|
|
|
|
<!-- Nav Button Style (text only) -->
|
|
<Style x:Key="NavButton" TargetType="Button" BasedOn="{StaticResource RoundedButton}">
|
|
<Setter Property="MinWidth" Value="50"/>
|
|
<Setter Property="Height" Value="30"/>
|
|
<Setter Property="FontSize" Value="11"/>
|
|
<Setter Property="Padding" Value="8,0"/>
|
|
</Style>
|
|
</UserControl.Resources>
|
|
|
|
<Grid>
|
|
<Grid.RowDefinitions>
|
|
<RowDefinition Height="Auto"/>
|
|
<RowDefinition Height="*"/>
|
|
</Grid.RowDefinitions>
|
|
|
|
<!-- Browser Toolbar -->
|
|
<Border Grid.Row="0" Background="#2D2D30" Padding="10" BorderBrush="#3E3E42" BorderThickness="0,0,0,1">
|
|
<Grid>
|
|
<Grid.ColumnDefinitions>
|
|
<ColumnDefinition Width="Auto"/>
|
|
<ColumnDefinition Width="*"/>
|
|
<ColumnDefinition Width="Auto"/>
|
|
</Grid.ColumnDefinitions>
|
|
|
|
<!-- Navigation Buttons (TEXT ONLY - NO SYMBOLS) -->
|
|
<StackPanel Grid.Column="0" Orientation="Horizontal">
|
|
<Button x:Name="BrowserBackButton"
|
|
Content="Indietro"
|
|
Margin="0,0,5,0"
|
|
Background="#3E3E42"
|
|
Style="{StaticResource NavButton}"
|
|
Click="BrowserBackButton_Click"
|
|
ToolTip="Torna alla pagina precedente"/>
|
|
|
|
<Button x:Name="BrowserForwardButton"
|
|
Content="Avanti"
|
|
Margin="0,0,5,0"
|
|
Background="#3E3E42"
|
|
Style="{StaticResource NavButton}"
|
|
Click="BrowserForwardButton_Click"
|
|
ToolTip="Vai alla pagina successiva"/>
|
|
|
|
<Button x:Name="BrowserRefreshButton"
|
|
Content="Ricarica"
|
|
Margin="0,0,5,0"
|
|
Background="#3E3E42"
|
|
Style="{StaticResource NavButton}"
|
|
Click="BrowserRefreshButton_Click"
|
|
ToolTip="Ricarica la pagina corrente"/>
|
|
|
|
<Button x:Name="BrowserHomeButton"
|
|
Content="Home"
|
|
Margin="0,0,10,0"
|
|
Background="#3E3E42"
|
|
Style="{StaticResource NavButton}"
|
|
Click="BrowserHomeButton_Click"
|
|
ToolTip="Vai alla homepage Bidoo"/>
|
|
</StackPanel>
|
|
|
|
<!-- Address Bar -->
|
|
<Border Grid.Column="1"
|
|
Background="#1E1E1E"
|
|
BorderBrush="#3E3E42"
|
|
BorderThickness="1"
|
|
CornerRadius="4"
|
|
Margin="10,0">
|
|
<TextBox x:Name="BrowserAddress"
|
|
VerticalAlignment="Center"
|
|
BorderThickness="0"
|
|
Background="Transparent"
|
|
Foreground="#CCCCCC"
|
|
Padding="10,0"
|
|
FontSize="13"
|
|
IsReadOnly="True"
|
|
Cursor="Arrow"
|
|
ToolTip="Indirizzo della pagina corrente (non editabile)"/>
|
|
</Border>
|
|
|
|
<!-- Action Buttons -->
|
|
<StackPanel Grid.Column="2" Orientation="Horizontal" Margin="10,0,0,0">
|
|
<Button x:Name="BrowserAddAuctionButton"
|
|
Content="Aggiungi Asta"
|
|
Padding="20,7"
|
|
FontSize="13"
|
|
Background="#00D800"
|
|
Style="{StaticResource RoundedButton}"
|
|
Click="BrowserAddAuctionButton_Click"
|
|
ToolTip="Aggiungi l'asta corrente al monitoraggio"/>
|
|
</StackPanel>
|
|
</Grid>
|
|
</Border>
|
|
|
|
<!-- WebView2 -->
|
|
<Border Grid.Row="1" Background="#1E1E1E">
|
|
<wv2:WebView2 x:Name="EmbeddedWebView"
|
|
PreviewMouseRightButtonUp="EmbeddedWebView_PreviewMouseRightButtonUp"/>
|
|
</Border>
|
|
</Grid>
|
|
</UserControl>
|