Files
Wino-Mail/Wino.Mail.WinUI/ShellWindow.xaml
T

207 lines
11 KiB
XML
Raw Normal View History

2025-09-29 11:16:14 +02:00
<?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"
2026-03-07 23:33:25 +01:00
xmlns:coreControls="using:Wino.Mail.WinUI.Controls"
2025-09-29 11:16:14 +02:00
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
2025-10-21 15:40:19 +02:00
xmlns:domain="using:Wino.Core.Domain"
xmlns:helpers="using:Wino.Helpers"
2025-09-29 11:16:14 +02:00
xmlns:local="using:Wino.Mail.WinUI"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
2025-10-21 15:40:19 +02:00
xmlns:notifyicon="using:H.NotifyIcon"
2026-02-07 14:03:41 +01:00
xmlns:syncModels="using:Wino.Core.Domain.Models.Synchronization"
2025-09-29 11:16:14 +02:00
xmlns:winuiex="using:WinUIEx"
Title="ShellWindow"
mc:Ignorable="d">
<!-- SystemBackdrop will be set by NewThemeService -->
2025-09-29 11:16:14 +02:00
<Grid>
2025-09-29 11:16:14 +02:00
<Grid.RowDefinitions>
<RowDefinition Height="Auto" />
<RowDefinition Height="*" />
</Grid.RowDefinitions>
<Grid Grid.RowSpan="2" Background="{ThemeResource WinoApplicationBackgroundColor}" />
2025-09-29 19:09:48 +02:00
<TitleBar
x:Name="ShellTitleBar"
2026-03-09 00:28:10 +01:00
Title="{x:Bind StatePersistanceService.AppModeTitle, Mode=OneWay}"
2025-12-27 19:16:24 +01:00
Margin="-2"
2025-10-03 22:12:27 +02:00
HorizontalContentAlignment="Stretch"
VerticalContentAlignment="Stretch"
2025-09-29 19:09:48 +02:00
BackRequested="BackButtonClicked"
2025-10-18 11:45:10 +02:00
Background="Transparent"
2025-09-29 19:09:48 +02:00
IsBackButtonVisible="{x:Bind StatePersistanceService.IsBackButtonVisible, Mode=OneWay}"
IsPaneToggleButtonVisible="True"
2026-03-09 00:28:10 +01:00
PaneToggleRequested="PaneButtonClicked"
Subtitle="{x:Bind StatePersistanceService.CoreWindowTitle, Mode=OneWay}">
2025-12-26 20:46:48 +01:00
<TitleBar.RightHeader>
2026-02-07 14:03:41 +01:00
<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>
2026-03-16 01:33:27 +01:00
<Button
x:Name="WinoAccountButton"
Background="Transparent"
BorderBrush="Transparent"
Visibility="{x:Bind helpers:XamlHelpers.ReverseBoolToVisibilityConverter(PreferencesService.IsWinoAccountButtonHidden), Mode=OneWay}">
2026-03-16 01:33:27 +01:00
<Button.Flyout>
2026-03-16 15:02:39 +01:00
<Flyout
x:Name="WinoAccountFlyout"
Placement="Bottom">
2026-03-16 01:33:27 +01:00
<Grid MinWidth="320" MaxWidth="360">
<StackPanel
x:Name="WinoAccountSignedOutView"
Spacing="12">
<TextBlock
Style="{StaticResource BodyStrongTextBlockStyle}"
Text="{x:Bind domain:Translator.WinoAccount_Titlebar_SignedOutTitle}" />
<TextBlock
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
Text="{x:Bind domain:Translator.WinoAccount_Titlebar_SignedOutDescription}"
TextWrapping="WrapWholeWords" />
<StackPanel Orientation="Horizontal" Spacing="8">
<Button
Click="RegisterWinoAccountClicked"
Content="{x:Bind domain:Translator.WinoAccount_RegisterButton_Action}" />
<Button
Click="LoginWinoAccountClicked"
Content="{x:Bind domain:Translator.WinoAccount_LoginButton_Action}" />
</StackPanel>
</StackPanel>
<StackPanel
x:Name="WinoAccountSignedInView"
Spacing="12"
Visibility="Collapsed">
<StackPanel Orientation="Horizontal" Spacing="12">
<PersonPicture
x:Name="WinoAccountFlyoutPicture"
Width="40"
Height="40"
Initials="W" />
<StackPanel Spacing="2">
<TextBlock
x:Name="WinoAccountFlyoutEmailText"
Style="{StaticResource BodyStrongTextBlockStyle}"
TextWrapping="WrapWholeWords" />
<TextBlock
x:Name="WinoAccountFlyoutStatusText"
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
TextWrapping="WrapWholeWords" />
</StackPanel>
</StackPanel>
<Button
HorizontalAlignment="Left"
Click="SignOutWinoAccountClicked"
Content="{x:Bind domain:Translator.WinoAccount_SignOutButton_Action}" />
</StackPanel>
</Grid>
</Flyout>
</Button.Flyout>
<Grid>
<PersonPicture
x:Name="WinoAccountButtonPicture"
Width="30"
Height="30"
Initials="W"
Visibility="Collapsed" />
<Border
x:Name="WinoAccountSignedOutIcon"
Width="30"
Height="30"
Background="{ThemeResource AccentFillColorDefaultBrush}"
CornerRadius="15">
<FontIcon
FontSize="16"
Foreground="White"
Glyph="&#xE77B;" />
</Border>
</Grid>
2026-03-16 01:33:27 +01:00
</Button>
2026-02-07 14:03:41 +01:00
</StackPanel>
2025-12-26 20:46:48 +01:00
</TitleBar.RightHeader>
</TitleBar>
2025-10-21 15:40:19 +02:00
2025-09-29 19:09:48 +02:00
<Frame
x:Name="MainShellFrame"
Grid.Row="1"
2026-03-11 19:26:37 +01:00
CacheSize="0"
2025-09-29 19:09:48 +02:00
Navigated="MainFrameNavigated" />
2025-10-21 15:40:19 +02:00
2026-03-07 23:33:25 +01:00
<coreControls:WinoInfoBar
x:Name="ShellInfoBar"
Grid.RowSpan="2"
MaxWidth="700"
Margin="0,60,25,0"
HorizontalAlignment="Right"
VerticalAlignment="Top"
IsClosable="False"
IsOpen="False" />
2025-10-21 15:40:19 +02:00
<notifyicon:TaskbarIcon
x:Name="SystemTrayIcon"
ContextMenuMode="PopupMenu"
2026-03-10 16:50:16 +01:00
DoubleClickCommand="{x:Bind RestoreCurrentModeCommand}"
2025-10-21 15:40:19 +02:00
IconSource="/Assets/Wino_Icon.ico"
NoLeftClickDelay="True">
<notifyicon:TaskbarIcon.ContextFlyout>
<MenuFlyout AreOpenCloseAnimationsEnabled="False">
<MenuFlyoutItem Command="{x:Bind ShowWinoCommand}" Text="{x:Bind domain:Translator.SystemTrayMenu_ShowWino}" />
2026-03-06 12:31:37 +01:00
<MenuFlyoutItem Command="{x:Bind ShowWinoCalendarCommand}" Text="{x:Bind domain:Translator.SystemTrayMenu_ShowWinoCalendar}" />
2026-03-11 01:39:32 +01:00
<!--<MenuFlyoutItem Command="{x:Bind ShowWinoContactsCommand}" Text="{x:Bind domain:Translator.SystemTrayMenu_ShowWinoContacts}" />-->
2025-10-21 15:40:19 +02:00
<MenuFlyoutSeparator />
<MenuFlyoutItem Command="{x:Bind ExitWinoCommand}" Text="{x:Bind domain:Translator.SystemTrayMenu_ExitWino}" />
</MenuFlyout>
</notifyicon:TaskbarIcon.ContextFlyout>
</notifyicon:TaskbarIcon>
2025-09-29 11:16:14 +02:00
</Grid>
</winuiex:WindowEx>