156 lines
7.0 KiB
XML
156 lines
7.0 KiB
XML
<?xml version="1.0" encoding="utf-8" ?>
|
|
<ContentPage xmlns="http://schemas.microsoft.com/dotnet/2021/maui"
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2009/xaml"
|
|
x:Class="WebViewDemo.WebViewPage"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource PageBackgroundLight}, Dark={StaticResource PageBackgroundDark}}">
|
|
|
|
<Grid RowDefinitions="Auto,*,Auto">
|
|
|
|
<!-- Browser Toolbar -->
|
|
<Grid Grid.Row="0"
|
|
ColumnDefinitions="Auto,Auto,Auto,*,Auto,Auto,Auto,Auto"
|
|
ColumnSpacing="4"
|
|
Padding="8"
|
|
BackgroundColor="{AppThemeBinding Light={StaticResource CardBackgroundLight}, Dark={StaticResource CardBackgroundDark}}">
|
|
|
|
<!-- Back Button -->
|
|
<ImageButton Grid.Column="0"
|
|
x:Name="BackButton"
|
|
Source="{AppThemeBinding Light=arrow_back_light.svg, Dark=arrow_back_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnBackClicked"
|
|
ToolTipProperties.Text="Go Back" />
|
|
|
|
<!-- Forward Button -->
|
|
<ImageButton Grid.Column="1"
|
|
x:Name="ForwardButton"
|
|
Source="{AppThemeBinding Light=arrow_forward_light.svg, Dark=arrow_forward_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnForwardClicked"
|
|
ToolTipProperties.Text="Go Forward" />
|
|
|
|
<!-- Reload Button -->
|
|
<ImageButton Grid.Column="2"
|
|
x:Name="ReloadButton"
|
|
Source="{AppThemeBinding Light=refresh_light.svg, Dark=refresh_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnReloadClicked"
|
|
ToolTipProperties.Text="Reload Page" />
|
|
|
|
<!-- URL Bar -->
|
|
<Border Grid.Column="3"
|
|
BackgroundColor="{AppThemeBinding Light=#F0F0F0, Dark=#2A2A2A}"
|
|
StrokeThickness="1"
|
|
Stroke="{AppThemeBinding Light={StaticResource BorderLight}, Dark={StaticResource BorderDark}}"
|
|
Padding="8,4"
|
|
Margin="4,0"
|
|
VerticalOptions="Center">
|
|
<Border.StrokeShape>
|
|
<RoundRectangle CornerRadius="18" />
|
|
</Border.StrokeShape>
|
|
|
|
<Entry x:Name="UrlEntry"
|
|
Placeholder="Enter URL or search..."
|
|
Text="https://dotnet.microsoft.com"
|
|
FontSize="14"
|
|
TextColor="{AppThemeBinding Light={StaticResource TextPrimaryLight}, Dark={StaticResource TextPrimaryDark}}"
|
|
PlaceholderColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Completed="OnUrlSubmitted" />
|
|
</Border>
|
|
|
|
<!-- Go Button -->
|
|
<ImageButton Grid.Column="4"
|
|
x:Name="GoButton"
|
|
Source="{AppThemeBinding Light=send_light.svg, Dark=send_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="{StaticResource AccentColor}"
|
|
CornerRadius="18"
|
|
VerticalOptions="Center"
|
|
Clicked="OnGoClicked"
|
|
ToolTipProperties.Text="Navigate" />
|
|
|
|
<!-- Load HTML Demo Button -->
|
|
<ImageButton Grid.Column="5"
|
|
x:Name="LoadHtmlButton"
|
|
Source="{AppThemeBinding Light=code_light.svg, Dark=code_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnLoadHtmlClicked"
|
|
ToolTipProperties.Text="Load Demo HTML" />
|
|
|
|
<!-- Eval JS Demo Button -->
|
|
<ImageButton Grid.Column="6"
|
|
x:Name="EvalJsButton"
|
|
Source="{AppThemeBinding Light=play_arrow_light.svg, Dark=play_arrow_dark.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnEvalJsClicked"
|
|
ToolTipProperties.Text="Run JavaScript" />
|
|
|
|
<!-- Theme Toggle Button -->
|
|
<ImageButton Grid.Column="7"
|
|
x:Name="ThemeToggleButton"
|
|
Source="{AppThemeBinding Light=dark_mode.svg, Dark=light_mode.svg}"
|
|
WidthRequest="36"
|
|
HeightRequest="36"
|
|
Padding="8"
|
|
BackgroundColor="Transparent"
|
|
VerticalOptions="Center"
|
|
Clicked="OnThemeToggleClicked"
|
|
ToolTipProperties.Text="Toggle Theme" />
|
|
</Grid>
|
|
|
|
<!-- Loading Progress Bar -->
|
|
<ProgressBar Grid.Row="1"
|
|
x:Name="LoadingProgress"
|
|
VerticalOptions="Start"
|
|
HeightRequest="3"
|
|
ProgressColor="{StaticResource AccentColor}"
|
|
Progress="0"
|
|
IsVisible="False"
|
|
ZIndex="1" />
|
|
|
|
<!-- WebView - Main Content Area -->
|
|
<WebView Grid.Row="1"
|
|
x:Name="MainWebView"
|
|
VerticalOptions="Fill"
|
|
HorizontalOptions="Fill"
|
|
Navigating="OnNavigating"
|
|
Navigated="OnNavigated" />
|
|
|
|
<!-- Status Bar -->
|
|
<Grid Grid.Row="2"
|
|
Padding="8,4"
|
|
BackgroundColor="{AppThemeBinding Light=#E8E8E8, Dark=#1A1A1A}">
|
|
<Label x:Name="StatusLabel"
|
|
Text="Ready"
|
|
FontSize="12"
|
|
TextColor="{AppThemeBinding Light={StaticResource TextSecondaryLight}, Dark={StaticResource TextSecondaryDark}}"
|
|
VerticalOptions="Center" />
|
|
</Grid>
|
|
|
|
</Grid>
|
|
</ContentPage>
|