Files
Wino-Mail/Wino.Mail.WinUI/ShellWindow.xaml
2026-04-29 01:32:51 +02:00

143 lines
7.1 KiB
XML

<?xml version="1.0" encoding="utf-8" ?>
<winuiex:WindowEx
x:Class="Wino.Mail.WinUI.ShellWindow"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:coreControls="using:Wino.Mail.WinUI.Controls"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:domain="using:Wino.Core.Domain"
xmlns:helpers="using:Wino.Helpers"
xmlns:local="using:Wino.Mail.WinUI"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:searchModels="using:Wino.Mail.WinUI.Models"
xmlns:syncModels="using:Wino.Core.Domain.Models.Synchronization"
xmlns:winuiex="using:WinUIEx"
Title="ShellWindow"
mc:Ignorable="d">
<!-- SystemBackdrop will be set by NewThemeService -->
<Grid>
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.RowSpan="2" Background="{ThemeResource WinoApplicationBackgroundColor}" />
<TitleBar
x:Name="ShellTitleBar"
Title="{x:Bind StatePersistanceService.AppModeTitle, Mode=OneWay}"
Margin="-2"
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
BackRequested="BackButtonClicked"
Background="Transparent"
IsPaneToggleButtonVisible="True"
PaneToggleRequested="PaneButtonClicked"
Subtitle="{x:Bind StatePersistanceService.CoreWindowTitle, Mode=OneWay}">
<!--<TitleBar.Resources>
<HorizontalAlignment x:Key="TitleBarContentHorizontalAlignment">Stretch</HorizontalAlignment>
<VerticalAlignment x:Key="TitleBarContentVerticalAlignment">Stretch</VerticalAlignment>
</TitleBar.Resources>-->
<TitleBar.Content>
<Grid
MinWidth="400"
MaxWidth="520"
Margin="12,0,16,0">
<AutoSuggestBox
x:Name="TitleBarSearchBox"
VerticalAlignment="Center"
BorderBrush="Transparent"
PlaceholderText="{x:Bind domain:Translator.SearchBarPlaceholder}"
QueryIcon="Find"
QuerySubmitted="TitleBarSearchQuerySubmitted"
SuggestionChosen="TitleBarSearchSuggestionChosen"
TextChanged="TitleBarSearchTextChanged">
<AutoSuggestBox.ItemTemplate>
<DataTemplate x:DataType="searchModels:TitleBarSearchSuggestion">
<StackPanel Padding="0,4">
<TextBlock Text="{x:Bind Title}" TextTrimming="CharacterEllipsis" />
<TextBlock
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind Subtitle}"
TextTrimming="CharacterEllipsis" />
</StackPanel>
</DataTemplate>
</AutoSuggestBox.ItemTemplate>
</AutoSuggestBox>
</Grid>
</TitleBar.Content>
<TitleBar.RightHeader>
<StackPanel Orientation="Horizontal" Spacing="8">
<Button
x:Name="SyncStatusButton"
Padding="8,4"
VerticalAlignment="Center"
Background="Transparent"
BorderThickness="0"
Visibility="Collapsed">
<StackPanel Orientation="Horizontal" Spacing="6">
<ProgressRing
Width="16"
Height="16"
IsActive="True" />
<TextBlock
x:Name="SyncStatusText"
VerticalAlignment="Center"
Style="{StaticResource CaptionTextBlockStyle}" />
</StackPanel>
<Button.Flyout>
<Flyout x:Name="SyncStatusFlyout" Placement="Bottom">
<ItemsRepeater x:Name="SyncActionsRepeater" ItemsSource="{x:Bind SyncActionItems}">
<ItemsRepeater.ItemTemplate>
<DataTemplate x:DataType="syncModels:SynchronizationActionItem">
<Grid
MinWidth="280"
MaxWidth="400"
Padding="0,6"
ColumnSpacing="8">
<Grid.ColumnDefinitions>
<ColumnDefinition Width="Auto" />
<ColumnDefinition Width="*" />
</Grid.ColumnDefinitions>
<ProgressRing
Width="16"
Height="16"
IsActive="True" />
<StackPanel Grid.Column="1">
<TextBlock
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Style="{StaticResource CaptionTextBlockStyle}"
Text="{x:Bind AccountName}" />
<TextBlock Text="{x:Bind Description}" TextWrapping="Wrap" />
</StackPanel>
</Grid>
</DataTemplate>
</ItemsRepeater.ItemTemplate>
</ItemsRepeater>
</Flyout>
</Button.Flyout>
</Button>
</StackPanel>
</TitleBar.RightHeader>
</TitleBar>
<Frame
x:Name="MainShellFrame"
Grid.Row="1"
CacheSize="0"
Navigated="MainFrameNavigated" />
<coreControls:WinoInfoBar
x:Name="ShellInfoBar"
Grid.RowSpan="2"
MaxWidth="700"
Margin="0,60,25,0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
IsClosable="False"
IsOpen="False" />
</Grid>
</winuiex:WindowEx>