2026-03-11 01:39:32 +01:00
|
|
|
<abstract:WinoAppShellAbstract
|
|
|
|
|
x:Class="Wino.Mail.WinUI.Views.WinoAppShell"
|
|
|
|
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
|
|
|
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
|
|
|
|
xmlns:abstract="using:Wino.Mail.WinUI.Views.Abstract"
|
|
|
|
|
xmlns:animations="using:CommunityToolkit.WinUI.Animations"
|
|
|
|
|
xmlns:communityControls="using:CommunityToolkit.WinUI.Controls"
|
|
|
|
|
xmlns:controls="using:Wino.Controls"
|
|
|
|
|
xmlns:controls1="using:CommunityToolkit.WinUI.Controls"
|
|
|
|
|
xmlns:coreControls="using:Wino.Mail.WinUI.Controls"
|
|
|
|
|
xmlns:coreConverters="using:Wino.Mail.WinUI.Converters"
|
|
|
|
|
xmlns:coreSelectors="using:Wino.Mail.WinUI.Selectors"
|
|
|
|
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
2026-03-12 11:28:41 +01:00
|
|
|
xmlns:data="using:Wino.Calendar.ViewModels.Data"
|
2026-03-11 01:39:32 +01:00
|
|
|
xmlns:domain="using:Wino.Core.Domain"
|
|
|
|
|
xmlns:enums="using:Wino.Core.Domain.Enums"
|
|
|
|
|
xmlns:helpers="using:Wino.Helpers"
|
|
|
|
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
|
|
|
|
xmlns:menu="using:Wino.Core.Domain.MenuItems"
|
|
|
|
|
xmlns:muxc="using:Microsoft.UI.Xaml.Controls"
|
2026-03-12 11:28:41 +01:00
|
|
|
x:Name="Root"
|
2026-03-11 01:39:32 +01:00
|
|
|
Loaded="OnLoaded"
|
|
|
|
|
PreviewKeyDown="OnPreviewKeyDown"
|
|
|
|
|
mc:Ignorable="d">
|
|
|
|
|
|
|
|
|
|
<Page.Resources>
|
|
|
|
|
|
|
|
|
|
<coreConverters:HexToColorBrushConverter x:Key="HexToColorBrushConverter" />
|
|
|
|
|
|
|
|
|
|
<!-- Clickable New Style Account Template -->
|
|
|
|
|
<DataTemplate x:Key="ClickableAccountMenuTemplate" x:DataType="menu:AccountMenuItem">
|
|
|
|
|
<controls:AccountNavigationItem
|
|
|
|
|
x:Name="AccountItem"
|
|
|
|
|
Height="50"
|
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
|
VerticalContentAlignment="Stretch"
|
|
|
|
|
BindingData="{x:Bind}"
|
|
|
|
|
DataContext="{x:Bind}"
|
|
|
|
|
IsActiveAccount="{x:Bind IsSelected, Mode=OneWay}"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
|
|
|
|
|
SelectsOnInvoked="False"
|
|
|
|
|
Style="{StaticResource SingleAccountNavigationViewItemTemplate}">
|
|
|
|
|
<coreControls:WinoNavigationViewItem.ContentTransitions>
|
|
|
|
|
<TransitionCollection>
|
|
|
|
|
<EdgeUIThemeTransition Edge="Top" />
|
|
|
|
|
</TransitionCollection>
|
|
|
|
|
</coreControls:WinoNavigationViewItem.ContentTransitions>
|
|
|
|
|
<muxc:NavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon
|
|
|
|
|
FontSize="12"
|
|
|
|
|
Foreground="{x:Bind AccountColorHex, Converter={StaticResource HexToColorBrushConverter}, Mode=OneWay}"
|
|
|
|
|
Icon="{x:Bind helpers:XamlHelpers.GetProviderIcon(Parameter)}" />
|
|
|
|
|
</muxc:NavigationViewItem.Icon>
|
|
|
|
|
<muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<muxc:InfoBadge
|
|
|
|
|
Background="{ThemeResource SystemAccentColor}"
|
|
|
|
|
Foreground="White"
|
|
|
|
|
Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
|
|
|
|
|
</muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
|
|
|
|
|
<Grid>
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
2026-04-11 12:57:51 +02:00
|
|
|
<Grid>
|
2026-04-12 01:38:18 +02:00
|
|
|
<!--<Grid.RowDefinitions>
|
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
|
|
2026-04-11 12:57:51 +02:00
|
|
|
<RowDefinition Height="Auto" />
|
2026-04-12 01:38:18 +02:00
|
|
|
</Grid.RowDefinitions>-->
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<StackPanel VerticalAlignment="Center">
|
|
|
|
|
<TextBlock
|
|
|
|
|
x:Name="AccountNameTextblock"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind AccountName, Mode=OneWay}"
|
|
|
|
|
TextTrimming="CharacterEllipsis" />
|
|
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
Grid.Row="1"
|
|
|
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind Parameter.Address, Mode=OneWay}"
|
|
|
|
|
TextTrimming="CharacterEllipsis" />
|
2026-04-11 12:57:51 +02:00
|
|
|
|
2026-04-12 01:38:18 +02:00
|
|
|
<ProgressBar
|
|
|
|
|
Grid.Row="1"
|
|
|
|
|
Height="3"
|
|
|
|
|
Margin="0,4,0,0"
|
|
|
|
|
VerticalAlignment="Bottom"
|
|
|
|
|
IsIndeterminate="{x:Bind IsProgressIndeterminate, Mode=OneWay}"
|
|
|
|
|
ShowError="False"
|
|
|
|
|
ShowPaused="False"
|
|
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind SynchronizationProgressValue, Mode=OneWay}" />
|
|
|
|
|
</StackPanel>
|
2026-03-11 01:39:32 +01:00
|
|
|
|
|
|
|
|
|
2026-04-11 12:57:51 +02:00
|
|
|
</Grid>
|
2026-03-11 01:39:32 +01:00
|
|
|
|
2026-04-04 20:23:20 +02:00
|
|
|
<Button
|
2026-03-11 01:39:32 +01:00
|
|
|
Grid.Column="1"
|
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
|
VerticalAlignment="Center"
|
2026-04-04 20:23:20 +02:00
|
|
|
Background="{ThemeResource CardBackgroundFillColorDefaultBrush}"
|
|
|
|
|
BorderBrush="{ThemeResource InfoBarWarningSeverityIconBackground}"
|
|
|
|
|
BorderThickness="1"
|
|
|
|
|
Click="AttentionIconClicked"
|
|
|
|
|
Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}"
|
2026-04-07 00:02:36 +02:00
|
|
|
ToolTipService.ToolTip="{x:Bind domain:Translator.Info_AccountAttentionRequiredClickableMessage}"
|
2026-04-04 20:23:20 +02:00
|
|
|
Visibility="{x:Bind IsAttentionRequired, Mode=OneWay}">
|
|
|
|
|
<StackPanel Orientation="Horizontal" Spacing="6">
|
|
|
|
|
<PathIcon x:Name="AttentionIcon" Data="F1 M 2.021484 18.769531 C 1.767578 18.769531 1.52832 18.720703 1.303711 18.623047 C 1.079102 18.525391 0.880534 18.391928 0.708008 18.222656 C 0.535482 18.053385 0.398763 17.856445 0.297852 17.631836 C 0.19694 17.407227 0.146484 17.167969 0.146484 16.914062 C 0.146484 16.614584 0.211589 16.328125 0.341797 16.054688 L 7.695312 1.347656 C 7.851562 1.035156 8.082682 0.784506 8.388672 0.595703 C 8.694661 0.406902 9.023438 0.3125 9.375 0.3125 C 9.726562 0.3125 10.055338 0.406902 10.361328 0.595703 C 10.667317 0.784506 10.898438 1.035156 11.054688 1.347656 L 18.408203 16.054688 C 18.53841 16.328125 18.603516 16.614584 18.603516 16.914062 C 18.603516 17.167969 18.553059 17.407227 18.452148 17.631836 C 18.351236 17.856445 18.216145 18.053385 18.046875 18.222656 C 17.877604 18.391928 17.679035 18.525391 17.451172 18.623047 C 17.223307 18.720703 16.982422 18.769531 16.728516 18.769531 Z M 16.728516 17.519531 C 16.884766 17.519531 17.027994 17.460938 17.158203 17.34375 C 17.28841 17.226562 17.353516 17.086588 17.353516 16.923828 C 17.353516 16.806641 17.330729 16.702475 17.285156 16.611328 L 9.931641 1.904297 C 9.879557 1.793621 9.80306 1.708984 9.702148 1.650391 C 9.601236 1.591797 9.492188 1.5625 9.375 1.5625 C 9.257812 1.5625 9.148763 1.593426 9.047852 1.655273 C 8.946939 1.717123 8.870442 1.800131 8.818359 1.904297 L 1.464844 16.611328 C 1.419271 16.702475 1.396484 16.803387 1.396484 16.914062 C 1.396484 17.083334 1.459961 17.226562 1.586914 17.34375 C 1.713867 17.460938 1.858724 17.519531 2.021484 17.519531 Z M 8.75 11.875 L 8.75 6.875 C 8.75 6.705729 8.811849 6.559245 8.935547 6.435547 C 9.059244 6.31185 9.205729 6.25 9.375 6.25 C 9.544271 6.25 9.690755 6.31185 9.814453 6.435547 C 9.93815 6.559245 10 6.705729 10 6.875 L 10 11.875 C 10 12.044271 9.93815 12.190756 9.814453 12.314453 C 9.690755 12.438151 9.544271 12.5 9.375 12.5 C 9.205729 12.5 9.059244 12.438151 8.935547 12.314453 C 8.811849 12.190756 8.75 12.044271 8.75 11.875 Z M 8.4375 14.375 C 8.4375 14.114584 8.528646 13.893229 8.710938 13.710938 C 8.893229 13.528646 9.114583 13.4375 9.375 13.4375 C 9.635416 13.4375 9.856771 13.528646 10.039062 13.710938 C 10.221354 13.893229 10.3125 14.114584 10.3125 14.375 C 10.3125 14.635417 10.221354 14.856771 10.039062 15.039062 C 9.856771 15.221354 9.635416 15.3125 9.375 15.3125 C 9.114583 15.3125 8.893229 15.221354 8.710938 15.039062 C 8.528646 14.856771 8.4375 14.635417 8.4375 14.375 Z " />
|
2026-04-07 00:02:36 +02:00
|
|
|
<TextBlock Text="{x:Bind domain:Translator.Info_AccountAttentionRequiredAction}" />
|
2026-04-04 20:23:20 +02:00
|
|
|
</StackPanel>
|
|
|
|
|
</Button>
|
2026-03-11 01:39:32 +01:00
|
|
|
</Grid>
|
|
|
|
|
</controls:AccountNavigationItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Fix account issues. -->
|
|
|
|
|
<!-- Authentication -->
|
|
|
|
|
<DataTemplate x:Key="FixAuthenticationIssueTemplate" x:DataType="menu:FixAccountIssuesMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem SelectsOnInvoked="False">
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Content>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,10"
|
|
|
|
|
Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}"
|
|
|
|
|
HorizontalTextAlignment="Center"
|
|
|
|
|
TextWrapping="WrapWholeWords">
|
|
|
|
|
<Run Text="Account credentials can not be verified." /><LineBreak /><Run Text="Click here to fix it." />
|
|
|
|
|
</TextBlock>
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Content>
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Missing system folder config. -->
|
|
|
|
|
<DataTemplate x:Key="FixMissingFolderConfig" x:DataType="menu:FixAccountIssuesMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem SelectsOnInvoked="False">
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Content>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,10"
|
|
|
|
|
Foreground="{ThemeResource InfoBarWarningSeverityIconBackground}"
|
|
|
|
|
HorizontalTextAlignment="Center"
|
|
|
|
|
TextWrapping="WrapWholeWords">
|
|
|
|
|
<Run Text="Account is missing system folder configuration." /><LineBreak /><LineBreak /><Run Text="Click here to fix it." />
|
|
|
|
|
</TextBlock>
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Content>
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- New Mail -->
|
|
|
|
|
<DataTemplate x:Key="CreateNewMailTemplate" x:DataType="menu:NewMailMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
Height="50"
|
|
|
|
|
DataContext="{x:Bind}"
|
|
|
|
|
SelectsOnInvoked="False">
|
|
|
|
|
<muxc:NavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon Icon="NewMail" />
|
|
|
|
|
</muxc:NavigationViewItem.Icon>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontSize="16"
|
|
|
|
|
Style="{StaticResource FlyoutPickerTitleTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind domain:Translator.MenuNewMail}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Inbox or any other folders. -->
|
|
|
|
|
<DataTemplate x:Key="FolderMenuTemplate" x:DataType="menu:FolderMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
MinHeight="40"
|
|
|
|
|
AllowDrop="True"
|
|
|
|
|
ContextRequested="MenuItemContextRequested"
|
|
|
|
|
DataContext="{x:Bind}"
|
|
|
|
|
DragEnter="ItemDragEnterOnFolder"
|
|
|
|
|
DragLeave="ItemDragLeaveFromFolder"
|
|
|
|
|
Drop="ItemDroppedOnFolder"
|
|
|
|
|
FontSize="50"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
|
|
|
|
|
IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
|
|
|
|
|
MenuItemsSource="{x:Bind SubMenuItems, Mode=OneWay}"
|
|
|
|
|
SelectsOnInvoked="{x:Bind IsMoveTarget, Mode=OneWay}"
|
|
|
|
|
ToolTipService.ToolTip="{x:Bind FolderName, Mode=OneWay}">
|
|
|
|
|
<animations:Implicit.Animations>
|
|
|
|
|
<animations:ScaleAnimation Duration="0:0:0.5" />
|
|
|
|
|
</animations:Implicit.Animations>
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(Parameter.SpecialFolderType)}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<muxc:InfoBadge
|
|
|
|
|
x:Name="FolderInfoBadge"
|
|
|
|
|
Background="{StaticResource SystemAccentColor}"
|
|
|
|
|
Foreground="White"
|
|
|
|
|
Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
|
|
|
|
|
</muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<muxc:NavigationViewItem.Content>
|
|
|
|
|
<Grid
|
|
|
|
|
x:Name="FolderBackgroundGrid"
|
|
|
|
|
MaxHeight="36"
|
|
|
|
|
Padding="2"
|
|
|
|
|
VerticalAlignment="Center">
|
|
|
|
|
<Grid
|
|
|
|
|
x:Name="BackgroundColorGrid"
|
|
|
|
|
x:Load="{x:Bind HasTextColor, Mode=OneWay}"
|
|
|
|
|
Background="{x:Bind helpers:XamlHelpers.GetSolidColorBrushFromHex(Parameter.BackgroundColorHex), Mode=OneWay}"
|
|
|
|
|
CornerRadius="3">
|
|
|
|
|
<TextBlock
|
|
|
|
|
x:Name="CustomColorTitle"
|
|
|
|
|
Margin="4,0,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
|
|
|
|
|
Foreground="{x:Bind helpers:XamlHelpers.GetSolidColorBrushFromHex(Parameter.TextColorHex), Mode=OneWay}"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind FolderName, Mode=OneWay}"
|
|
|
|
|
TextWrapping="WrapWholeWords" />
|
|
|
|
|
</Grid>
|
|
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
x:Name="NormalTitle"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
x:Load="{x:Bind HasTextColor, Converter={StaticResource ReverseBooleanConverter}}"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind FolderName, Mode=OneWay}"
|
|
|
|
|
TextWrapping="WrapWholeWords" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</muxc:NavigationViewItem.Content>
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Merged Inbox -->
|
|
|
|
|
<DataTemplate x:Key="MergedAccountTemplate" x:DataType="menu:MergedAccountMenuItem">
|
|
|
|
|
<controls:AccountNavigationItem
|
|
|
|
|
x:Name="AccountItem"
|
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
|
VerticalContentAlignment="Stretch"
|
|
|
|
|
BindingData="{x:Bind}"
|
|
|
|
|
DataContext="{x:Bind}"
|
|
|
|
|
IsActiveAccount="{x:Bind IsSelected, Mode=TwoWay}"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
|
|
|
|
|
MenuItemsSource="{x:Bind SubMenuItems}"
|
|
|
|
|
SelectsOnInvoked="False"
|
|
|
|
|
Style="{StaticResource SingleAccountNavigationViewItemTemplate}">
|
|
|
|
|
<muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<muxc:InfoBadge
|
|
|
|
|
x:Name="FolderInfoBadge"
|
|
|
|
|
Background="{StaticResource SystemAccentColor}"
|
|
|
|
|
Foreground="White"
|
|
|
|
|
Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
|
|
|
|
|
</muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<coreControls:WinoNavigationViewItem.ContentTransitions>
|
|
|
|
|
<TransitionCollection>
|
|
|
|
|
<EdgeUIThemeTransition Edge="Top" />
|
|
|
|
|
</TransitionCollection>
|
|
|
|
|
</coreControls:WinoNavigationViewItem.ContentTransitions>
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<PathIcon Data="F1 M 8.613281 17.5 C 8.75 17.942709 8.945312 18.359375 9.199219 18.75 L 4.921875 18.75 C 4.433594 18.75 3.966471 18.650717 3.520508 18.452148 C 3.074544 18.25358 2.683919 17.986654 2.348633 17.651367 C 2.013346 17.31608 1.746419 16.925455 1.547852 16.479492 C 1.349284 16.033529 1.25 15.566406 1.25 15.078125 L 1.25 4.921875 C 1.25 4.433594 1.349284 3.966473 1.547852 3.520508 C 1.746419 3.074545 2.013346 2.68392 2.348633 2.348633 C 2.683919 2.013348 3.074544 1.74642 3.520508 1.547852 C 3.966471 1.349285 4.433594 1.25 4.921875 1.25 L 15.078125 1.25 C 15.566406 1.25 16.033527 1.349285 16.479492 1.547852 C 16.925455 1.74642 17.31608 2.013348 17.651367 2.348633 C 17.986652 2.68392 18.25358 3.074545 18.452148 3.520508 C 18.650715 3.966473 18.75 4.433594 18.75 4.921875 L 18.75 6.572266 C 18.580729 6.344402 18.390299 6.132813 18.178711 5.9375 C 17.967121 5.742188 17.740885 5.566407 17.5 5.410156 L 17.5 4.951172 C 17.5 4.625651 17.433268 4.314779 17.299805 4.018555 C 17.16634 3.722332 16.987305 3.461914 16.762695 3.237305 C 16.538086 3.012695 16.277668 2.83366 15.981445 2.700195 C 15.685221 2.566732 15.374349 2.5 15.048828 2.5 L 4.951172 2.5 C 4.619141 2.5 4.303385 2.568359 4.003906 2.705078 C 3.704427 2.841797 3.44401 3.02409 3.222656 3.251953 C 3.001302 3.479818 2.825521 3.745117 2.695312 4.047852 C 2.565104 4.350587 2.5 4.66797 2.5 5 L 13.310547 5 C 12.60091 5.266928 11.998697 5.683594 11.503906 6.25 L 2.5 6.25 L 2.5 15.048828 C 2.5 15.38737 2.568359 15.704753 2.705078 16.000977 C 2.841797 16.297201 3.024088 16.55599 3.251953 16.777344 C 3.479818 16.998697 3.745117 17.174479 4.047852 17.304688 C 4.350586 17.434896 4.667969 17.5 5 17.5 Z" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
|
|
|
|
|
<Grid Height="50">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
<StackPanel VerticalAlignment="Center" Spacing="0">
|
|
|
|
|
<TextBlock
|
|
|
|
|
x:Name="AccountNameTextblock"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsChildSelected), Mode=OneWay}"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind MergedAccountName, Mode=OneWay}"
|
|
|
|
|
TextTrimming="CharacterEllipsis" />
|
|
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
FontSize="12"
|
|
|
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind SynchronizationStatus, Mode=OneWay}"
|
|
|
|
|
TextTrimming="CharacterEllipsis"
|
|
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}" />
|
|
|
|
|
|
2026-04-11 12:57:51 +02:00
|
|
|
<ProgressBar
|
|
|
|
|
Height="3"
|
|
|
|
|
Margin="0,4,0,0"
|
|
|
|
|
IsIndeterminate="{x:Bind IsProgressIndeterminate, Mode=OneWay}"
|
|
|
|
|
ShowError="False"
|
|
|
|
|
ShowPaused="False"
|
|
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind SynchronizationProgressValue, Mode=OneWay}" />
|
|
|
|
|
|
2026-03-11 01:39:32 +01:00
|
|
|
<TextBlock
|
|
|
|
|
FontSize="12"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
|
|
|
TextTrimming="CharacterEllipsis"
|
|
|
|
|
Visibility="{x:Bind helpers:XamlHelpers.ReverseBoolToVisibilityConverter(IsSynchronizationProgressVisible), Mode=OneWay}">
|
|
|
|
|
<Run Text="{x:Bind MergedAccountCount, Mode=OneWay}" /><Run Text="{x:Bind domain:Translator.MenuMergedAccountItemAccountsSuffix}" />
|
|
|
|
|
</TextBlock>
|
|
|
|
|
</StackPanel>
|
|
|
|
|
|
|
|
|
|
<muxc:ProgressRing
|
|
|
|
|
x:Name="SynchronizationProgressBar"
|
|
|
|
|
Grid.Column="1"
|
|
|
|
|
Width="16"
|
|
|
|
|
Height="16"
|
|
|
|
|
Margin="8,0"
|
|
|
|
|
HorizontalAlignment="Center"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
IsActive="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
|
|
|
|
|
IsIndeterminate="{x:Bind IsProgressIndeterminate, Mode=OneWay}"
|
|
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</controls:AccountNavigationItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Merged Account Common Folder Item -->
|
|
|
|
|
<DataTemplate x:Key="MergedAccountFolderMenuItemTemplate" x:DataType="menu:MergedAccountFolderMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
MinHeight="30"
|
|
|
|
|
AllowDrop="True"
|
|
|
|
|
ContextRequested="MenuItemContextRequested"
|
|
|
|
|
DataContext="{x:Bind}"
|
|
|
|
|
DragEnter="ItemDragEnterOnFolder"
|
|
|
|
|
DragLeave="ItemDragLeaveFromFolder"
|
|
|
|
|
Drop="ItemDroppedOnFolder"
|
|
|
|
|
FontSize="50"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
|
|
|
|
|
IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
|
|
|
|
|
SelectsOnInvoked="True"
|
|
|
|
|
ToolTipService.ToolTip="{x:Bind FolderName, Mode=OneWay}">
|
|
|
|
|
<animations:Implicit.Animations>
|
|
|
|
|
<animations:ScaleAnimation Duration="0:0:0.5" />
|
|
|
|
|
</animations:Implicit.Animations>
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(FolderType)}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<muxc:InfoBadge
|
|
|
|
|
x:Name="FolderInfoBadge"
|
|
|
|
|
Background="{StaticResource SystemAccentColor}"
|
|
|
|
|
Foreground="White"
|
|
|
|
|
Visibility="{x:Bind helpers:XamlHelpers.CountToVisibilityConverter(UnreadItemCount), Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind UnreadItemCount, Mode=OneWay}" />
|
|
|
|
|
</muxc:NavigationViewItem.InfoBadge>
|
|
|
|
|
<Grid
|
|
|
|
|
x:Name="FolderBackgroundGrid"
|
|
|
|
|
Padding="2"
|
|
|
|
|
VerticalAlignment="Center">
|
|
|
|
|
<TextBlock
|
|
|
|
|
x:Name="NormalTitle"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightBySyncState(IsSelected), Mode=OneWay}"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind FolderName, Mode=OneWay}"
|
|
|
|
|
TextWrapping="WrapWholeWords" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<!-- Merged Account More Expansion Item -->
|
|
|
|
|
<DataTemplate x:Key="MergedAccountMoreFolderItemTemplate" x:DataType="menu:MergedAccountMoreFolderMenuItem">
|
|
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
MinHeight="30"
|
|
|
|
|
Content="{x:Bind domain:Translator.More}"
|
|
|
|
|
FontWeight="{x:Bind helpers:XamlHelpers.GetFontWeightByChildSelectedState(IsSelected), Mode=OneWay}"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}"
|
|
|
|
|
IsSelected="{x:Bind IsSelected, Mode=TwoWay}"
|
|
|
|
|
MenuItemsSource="{x:Bind SubMenuItems, Mode=OneWay}"
|
|
|
|
|
SelectsOnInvoked="True">
|
|
|
|
|
<animations:Implicit.Animations>
|
|
|
|
|
<animations:ScaleAnimation Duration="0:0:0.5" />
|
|
|
|
|
</animations:Implicit.Animations>
|
|
|
|
|
<coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon FontSize="64" Icon="{x:Bind helpers:XamlHelpers.GetSpecialFolderPathIconGeometry(enums:SpecialFolderType.More)}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem.Icon>
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
|
|
|
|
|
<coreSelectors:NavigationMenuTemplateSelector
|
|
|
|
|
x:Key="NavigationMenuTemplateSelector"
|
|
|
|
|
ClickableAccountMenuTemplate="{StaticResource ClickableAccountMenuTemplate}"
|
|
|
|
|
FixAuthenticationIssueTemplate="{StaticResource FixAuthenticationIssueTemplate}"
|
|
|
|
|
FixMissingFolderConfigTemplate="{StaticResource FixMissingFolderConfig}"
|
|
|
|
|
FolderMenuTemplate="{StaticResource FolderMenuTemplate}"
|
|
|
|
|
MergedAccountFolderTemplate="{StaticResource MergedAccountFolderMenuItemTemplate}"
|
|
|
|
|
MergedAccountMoreExpansionItemTemplate="{StaticResource MergedAccountMoreFolderItemTemplate}"
|
|
|
|
|
MergedAccountTemplate="{StaticResource MergedAccountTemplate}"
|
|
|
|
|
NewMailTemplate="{StaticResource CreateNewMailTemplate}"
|
|
|
|
|
RatingItemTemplate="{StaticResource RatingItemTemplate}"
|
|
|
|
|
SeperatorTemplate="{StaticResource SeperatorTemplate}"
|
2026-03-12 19:04:47 +01:00
|
|
|
SettingsShellPageItemTemplate="{StaticResource SettingsShellPageItemTemplate}"
|
|
|
|
|
SettingsShellSectionItemTemplate="{StaticResource SettingsShellSectionItemTemplate}"
|
2026-03-24 16:57:13 +01:00
|
|
|
StoreUpdateItemTemplate="{StaticResource StoreUpdateItemTemplate}"
|
|
|
|
|
WinoAccountSettingsShellPageItemTemplate="{StaticResource SettingsShellWinoAccountItemTemplate}" />
|
2026-03-11 01:39:32 +01:00
|
|
|
|
2026-03-24 16:57:13 +01:00
|
|
|
</Page.Resources>
|
2026-03-11 01:39:32 +01:00
|
|
|
|
|
|
|
|
<Grid
|
|
|
|
|
x:Name="RootGrid"
|
|
|
|
|
Padding="0"
|
|
|
|
|
ColumnSpacing="0"
|
|
|
|
|
RowSpacing="0">
|
|
|
|
|
<muxc:NavigationView
|
|
|
|
|
x:Name="navigationView"
|
|
|
|
|
Grid.Row="1"
|
|
|
|
|
Grid.ColumnSpan="3"
|
|
|
|
|
Margin="-1,-1,0,0"
|
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
|
VerticalContentAlignment="Stretch"
|
|
|
|
|
AlwaysShowHeader="True"
|
|
|
|
|
DisplayModeChanged="NavigationViewDisplayModeChanged"
|
|
|
|
|
IsBackButtonVisible="Collapsed"
|
|
|
|
|
IsPaneOpen="{x:Bind ViewModel.PreferencesService.IsNavigationPaneOpened, Mode=TwoWay}"
|
|
|
|
|
IsPaneToggleButtonVisible="False"
|
|
|
|
|
IsSettingsVisible="False"
|
|
|
|
|
IsTabStop="True"
|
|
|
|
|
IsTitleBarAutoPaddingEnabled="False"
|
|
|
|
|
ItemInvoked="NavigationViewItemInvoked"
|
|
|
|
|
MenuItemTemplateSelector="{StaticResource NavigationMenuTemplateSelector}"
|
|
|
|
|
OpenPaneLength="{x:Bind ViewModel.StatePersistenceService.OpenPaneLength, Mode=TwoWay}"
|
2026-03-20 13:26:16 +01:00
|
|
|
PaneClosed="NavigationPaneClosed"
|
2026-03-11 01:39:32 +01:00
|
|
|
PaneDisplayMode="Auto"
|
2026-03-18 09:00:26 +01:00
|
|
|
PaneOpened="NavigationPaneOpened"
|
2026-03-20 13:26:16 +01:00
|
|
|
PaneOpening="NavigationPaneOpening"
|
2026-03-11 01:39:32 +01:00
|
|
|
ScrollViewer.VerticalScrollBarVisibility="Hidden"
|
2026-03-12 11:28:41 +01:00
|
|
|
SelectionChanged="MenuSelectionChanged"
|
|
|
|
|
Style="{StaticResource CalendarShellNavigationViewStyle}">
|
2026-03-11 01:39:32 +01:00
|
|
|
<muxc:NavigationView.ContentTransitions>
|
|
|
|
|
<TransitionCollection>
|
|
|
|
|
<AddDeleteThemeTransition />
|
|
|
|
|
</TransitionCollection>
|
|
|
|
|
</muxc:NavigationView.ContentTransitions>
|
|
|
|
|
<muxc:NavigationView.PaneCustomContent>
|
2026-03-12 11:28:41 +01:00
|
|
|
<Grid
|
|
|
|
|
x:Name="PaneCustomContent"
|
|
|
|
|
Padding="0,0,0,6"
|
|
|
|
|
Visibility="Collapsed">
|
2026-03-13 07:20:37 +01:00
|
|
|
<Grid x:Name="CalendarPaneContent" Visibility="Collapsed">
|
2026-03-12 14:55:07 +01:00
|
|
|
<Grid.RowDefinitions>
|
2026-04-04 20:23:20 +02:00
|
|
|
<RowDefinition Height="Auto" />
|
2026-03-13 07:20:37 +01:00
|
|
|
<RowDefinition Height="Auto" />
|
2026-03-12 14:55:07 +01:00
|
|
|
<RowDefinition Height="Auto" />
|
|
|
|
|
<RowDefinition Height="*" />
|
|
|
|
|
</Grid.RowDefinitions>
|
|
|
|
|
|
2026-03-13 07:20:37 +01:00
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
x:Name="NewCalendarEventNavigationItem"
|
|
|
|
|
Grid.Row="0"
|
|
|
|
|
Height="50"
|
|
|
|
|
Margin="0,0,0,12"
|
|
|
|
|
AutomationProperties.Name="{x:Bind domain:Translator.CalendarEventCompose_NewEventButton, Mode=OneTime}"
|
|
|
|
|
IsTabStop="True"
|
|
|
|
|
KeyDown="NewCalendarEventNavigationItemKeyDown"
|
|
|
|
|
SelectsOnInvoked="False"
|
|
|
|
|
Tapped="NewCalendarEventNavigationItemTapped">
|
|
|
|
|
<muxc:NavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon Icon="NewMail" />
|
|
|
|
|
</muxc:NavigationViewItem.Icon>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontSize="16"
|
|
|
|
|
Style="{StaticResource FlyoutPickerTitleTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind domain:Translator.CalendarEventCompose_NewEventButton, Mode=OneTime}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
|
2026-04-04 20:23:20 +02:00
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
x:Name="SynchronizeCalendarsNavigationItem"
|
|
|
|
|
Grid.Row="1"
|
|
|
|
|
Height="50"
|
|
|
|
|
Margin="0,0,0,12"
|
|
|
|
|
AutomationProperties.Name="{x:Bind domain:Translator.Buttons_Sync, Mode=OneTime}"
|
|
|
|
|
IsEnabled="{x:Bind ViewModel.CalendarClient.CanSynchronizeCalendars, Mode=OneWay}"
|
|
|
|
|
IsTabStop="True"
|
|
|
|
|
KeyDown="SynchronizeCalendarsNavigationItemKeyDown"
|
|
|
|
|
SelectsOnInvoked="False"
|
|
|
|
|
Tapped="SynchronizeCalendarsNavigationItemTapped">
|
|
|
|
|
<muxc:NavigationViewItem.Icon>
|
|
|
|
|
<coreControls:WinoFontIcon Icon="Sync" />
|
|
|
|
|
</muxc:NavigationViewItem.Icon>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontSize="16"
|
|
|
|
|
Style="{StaticResource FlyoutPickerTitleTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind domain:Translator.Buttons_Sync, Mode=OneTime}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
|
2026-03-21 18:25:54 +01:00
|
|
|
<muxc:CalendarView
|
|
|
|
|
x:Name="VisibleDateRangeCalendarView"
|
2026-04-04 20:23:20 +02:00
|
|
|
Grid.Row="2"
|
2026-03-21 18:25:54 +01:00
|
|
|
Margin="12,0"
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
SelectedDatesChanged="VisibleDateRangeCalendarViewSelectedDatesChanged"
|
|
|
|
|
SelectionMode="Multiple"
|
|
|
|
|
Style="{StaticResource WinoCalendarViewStyle}" />
|
2026-03-12 14:55:07 +01:00
|
|
|
|
|
|
|
|
<ListView
|
|
|
|
|
x:Name="CalendarHostListView"
|
2026-04-04 20:23:20 +02:00
|
|
|
Grid.Row="3"
|
2026-03-12 14:55:07 +01:00
|
|
|
SelectionMode="None">
|
|
|
|
|
<ListView.Header>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="20,12,12,12"
|
|
|
|
|
FontSize="16"
|
|
|
|
|
Text="Calendars" />
|
|
|
|
|
</ListView.Header>
|
|
|
|
|
<ListView.ItemTemplate>
|
|
|
|
|
<DataTemplate x:DataType="data:GroupedAccountCalendarViewModel">
|
|
|
|
|
<muxc:Expander
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
|
IsExpanded="{x:Bind IsExpanded, Mode=TwoWay}">
|
|
|
|
|
<muxc:Expander.Header>
|
|
|
|
|
<Grid>
|
|
|
|
|
<Grid.ColumnDefinitions>
|
2026-04-04 20:23:20 +02:00
|
|
|
<ColumnDefinition Width="Auto" />
|
2026-03-12 14:55:07 +01:00
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<CheckBox
|
|
|
|
|
Width="26"
|
|
|
|
|
MinWidth="0"
|
|
|
|
|
IsChecked="{x:Bind IsCheckedState, Mode=TwoWay}"
|
|
|
|
|
IsThreeState="True" />
|
|
|
|
|
|
2026-04-04 20:23:20 +02:00
|
|
|
<Ellipse
|
2026-03-12 14:55:07 +01:00
|
|
|
Grid.Column="1"
|
2026-04-04 20:23:20 +02:00
|
|
|
Width="12"
|
|
|
|
|
Height="12"
|
|
|
|
|
Margin="8,0,10,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
Fill="{x:Bind AccountColorHex, Converter={StaticResource HexToColorBrushConverter}, Mode=OneWay}" />
|
|
|
|
|
|
|
|
|
|
<StackPanel
|
|
|
|
|
Grid.Column="2"
|
2026-03-12 14:55:07 +01:00
|
|
|
VerticalAlignment="Center"
|
2026-04-04 20:23:20 +02:00
|
|
|
Spacing="2">
|
|
|
|
|
<TextBlock VerticalAlignment="Center" TextWrapping="Wrap">
|
|
|
|
|
<Run FontWeight="SemiBold" Text="{x:Bind Account.Name}" />
|
|
|
|
|
<Run FontSize="12" Text=" (" /><Run FontSize="12" Text="{x:Bind Account.Address}" /><Run FontSize="12" Text=")" />
|
|
|
|
|
</TextBlock>
|
2026-04-11 12:57:51 +02:00
|
|
|
<TextBlock
|
|
|
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
|
|
|
MaxLines="1"
|
|
|
|
|
Style="{StaticResource CaptionTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind SynchronizationStatus, Mode=OneWay}"
|
|
|
|
|
TextTrimming="CharacterEllipsis"
|
|
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}" />
|
2026-04-04 20:23:20 +02:00
|
|
|
<ProgressBar
|
|
|
|
|
Height="4"
|
2026-04-11 12:57:51 +02:00
|
|
|
IsIndeterminate="{x:Bind IsProgressIndeterminate, Mode=OneWay}"
|
2026-04-04 20:23:20 +02:00
|
|
|
ShowError="False"
|
2026-04-07 00:02:36 +02:00
|
|
|
ShowPaused="False"
|
2026-04-11 12:57:51 +02:00
|
|
|
Visibility="{x:Bind IsSynchronizationProgressVisible, Mode=OneWay}"
|
|
|
|
|
Value="{x:Bind SynchronizationProgressValue, Mode=OneWay}" />
|
2026-04-04 20:23:20 +02:00
|
|
|
</StackPanel>
|
2026-03-12 14:55:07 +01:00
|
|
|
</Grid>
|
|
|
|
|
</muxc:Expander.Header>
|
|
|
|
|
<muxc:Expander.Content>
|
|
|
|
|
<ItemsControl ItemsSource="{x:Bind AccountCalendars}">
|
|
|
|
|
<ItemsControl.ItemTemplate>
|
|
|
|
|
<DataTemplate x:DataType="data:AccountCalendarViewModel">
|
|
|
|
|
<CheckBox
|
|
|
|
|
HorizontalAlignment="Stretch"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
HorizontalContentAlignment="Stretch"
|
|
|
|
|
VerticalContentAlignment="Stretch"
|
|
|
|
|
IsChecked="{x:Bind IsChecked, Mode=TwoWay}">
|
|
|
|
|
<Grid Margin="0,0,0,5" ColumnSpacing="6">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="Auto" />
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<Ellipse
|
|
|
|
|
Width="20"
|
|
|
|
|
Height="20"
|
|
|
|
|
Fill="{x:Bind helpers:XamlHelpers.GetSolidColorBrushFromHex(BackgroundColorHex), Mode=OneWay}" />
|
|
|
|
|
|
|
|
|
|
<TextBlock
|
|
|
|
|
Grid.Column="1"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontSize="14"
|
|
|
|
|
Text="{x:Bind Name, Mode=OneWay}"
|
|
|
|
|
TextWrapping="Wrap" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</CheckBox>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
</ItemsControl.ItemTemplate>
|
|
|
|
|
</ItemsControl>
|
|
|
|
|
</muxc:Expander.Content>
|
|
|
|
|
</muxc:Expander>
|
|
|
|
|
</DataTemplate>
|
|
|
|
|
</ListView.ItemTemplate>
|
|
|
|
|
</ListView>
|
|
|
|
|
</Grid>
|
2026-03-11 01:39:32 +01:00
|
|
|
|
2026-04-12 15:56:27 +02:00
|
|
|
<ScrollViewer
|
2026-03-12 14:55:07 +01:00
|
|
|
x:Name="ContactsPaneContent"
|
|
|
|
|
Margin="20,20,16,0"
|
2026-04-12 15:56:27 +02:00
|
|
|
HorizontalScrollBarVisibility="Disabled"
|
|
|
|
|
HorizontalScrollMode="Disabled"
|
|
|
|
|
VerticalScrollBarVisibility="Auto"
|
|
|
|
|
VerticalScrollMode="Auto"
|
2026-03-13 07:20:37 +01:00
|
|
|
Visibility="Collapsed">
|
2026-04-12 15:56:27 +02:00
|
|
|
<StackPanel Spacing="6">
|
2026-04-12 20:12:48 +02:00
|
|
|
<coreControls:WinoNavigationViewItem
|
|
|
|
|
x:Name="NewContactNavigationItem"
|
|
|
|
|
Height="50"
|
|
|
|
|
Margin="0,0,0,12"
|
|
|
|
|
AutomationProperties.Name="{x:Bind domain:Translator.ContactsPane_NewContact, Mode=OneTime}"
|
|
|
|
|
IsTabStop="True"
|
|
|
|
|
KeyDown="NewContactNavigationItemKeyDown"
|
|
|
|
|
SelectsOnInvoked="False"
|
|
|
|
|
Tapped="NewContactNavigationItemTapped">
|
|
|
|
|
<muxc:NavigationViewItem.Icon>
|
|
|
|
|
<FontIcon FontFamily="{StaticResource SymbolThemeFontFamily}" Glyph="" />
|
|
|
|
|
</muxc:NavigationViewItem.Icon>
|
|
|
|
|
<TextBlock
|
|
|
|
|
Margin="0,-2,0,0"
|
|
|
|
|
VerticalAlignment="Center"
|
|
|
|
|
FontSize="16"
|
|
|
|
|
Style="{StaticResource FlyoutPickerTitleTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind domain:Translator.ContactsPane_NewContact, Mode=OneTime}" />
|
|
|
|
|
</coreControls:WinoNavigationViewItem>
|
|
|
|
|
|
2026-04-12 15:56:27 +02:00
|
|
|
<TextBlock
|
|
|
|
|
FontSize="16"
|
|
|
|
|
FontWeight="SemiBold"
|
|
|
|
|
Text="{x:Bind domain:Translator.ContactsPane_DescriptionTitle, Mode=OneTime}"
|
|
|
|
|
TextWrapping="WrapWholeWords" />
|
|
|
|
|
<TextBlock
|
|
|
|
|
Foreground="{ThemeResource TextFillColorSecondaryBrush}"
|
|
|
|
|
Style="{StaticResource BodyTextBlockStyle}"
|
|
|
|
|
Text="{x:Bind domain:Translator.ContactsPane_DescriptionBody, Mode=OneTime}"
|
|
|
|
|
TextWrapping="WrapWholeWords" />
|
|
|
|
|
</StackPanel>
|
|
|
|
|
</ScrollViewer>
|
2026-03-11 01:39:32 +01:00
|
|
|
</Grid>
|
|
|
|
|
</muxc:NavigationView.PaneCustomContent>
|
|
|
|
|
<Grid ColumnSpacing="0">
|
|
|
|
|
<Grid.ColumnDefinitions>
|
|
|
|
|
<ColumnDefinition Width="*" />
|
|
|
|
|
</Grid.ColumnDefinitions>
|
|
|
|
|
|
|
|
|
|
<controls1:PropertySizer
|
|
|
|
|
Width="1"
|
|
|
|
|
HorizontalAlignment="Left"
|
|
|
|
|
Background="Transparent"
|
|
|
|
|
Binding="{x:Bind ViewModel.StatePersistenceService.OpenPaneLength, Mode=TwoWay}"
|
|
|
|
|
Canvas.ZIndex="20"
|
|
|
|
|
Foreground="Transparent"
|
|
|
|
|
IsHitTestVisible="{x:Bind navigationView.IsPaneOpen, Mode=OneWay}"
|
|
|
|
|
IsTabStop="False"
|
|
|
|
|
Maximum="1000"
|
2026-03-12 11:28:41 +01:00
|
|
|
Minimum="160" />
|
2026-03-11 01:39:32 +01:00
|
|
|
|
|
|
|
|
<!-- Main Content -->
|
|
|
|
|
<Frame
|
|
|
|
|
x:Name="InnerShellFrame"
|
|
|
|
|
Padding="0,0,7,7"
|
2026-03-12 11:28:41 +01:00
|
|
|
CacheSize="0"
|
2026-03-11 01:39:32 +01:00
|
|
|
IsNavigationStackEnabled="True"
|
|
|
|
|
Navigated="ShellFrameContentNavigated">
|
|
|
|
|
<Frame.ContentTransitions>
|
|
|
|
|
<TransitionCollection>
|
|
|
|
|
<PopupThemeTransition />
|
|
|
|
|
</TransitionCollection>
|
|
|
|
|
</Frame.ContentTransitions>
|
|
|
|
|
</Frame>
|
|
|
|
|
|
|
|
|
|
<!-- InfoBar -->
|
|
|
|
|
<coreControls:WinoInfoBar
|
|
|
|
|
x:Name="ShellInfoBar"
|
|
|
|
|
MaxWidth="700"
|
|
|
|
|
Margin="0,60,25,0"
|
|
|
|
|
HorizontalAlignment="Right"
|
|
|
|
|
VerticalAlignment="Top"
|
|
|
|
|
IsClosable="False"
|
|
|
|
|
IsOpen="False" />
|
|
|
|
|
|
|
|
|
|
<!-- Teaching Tip -->
|
|
|
|
|
<muxc:TeachingTip
|
|
|
|
|
x:Name="ShellTip"
|
|
|
|
|
IsOpen="False"
|
|
|
|
|
PreferredPlacement="Bottom"
|
|
|
|
|
Target="{x:Bind ShellInfoBar}" />
|
|
|
|
|
</Grid>
|
|
|
|
|
</muxc:NavigationView>
|
|
|
|
|
|
|
|
|
|
<VisualStateManager.VisualStateGroups>
|
|
|
|
|
<VisualStateGroup x:Name="LowResolutionStates">
|
|
|
|
|
<VisualState x:Name="BigScreen">
|
|
|
|
|
<VisualState.StateTriggers>
|
|
|
|
|
<AdaptiveTrigger MinWindowWidth="1200" />
|
|
|
|
|
</VisualState.StateTriggers>
|
|
|
|
|
<VisualState.Setters>
|
|
|
|
|
<Setter Target="navigationView.IsPaneOpen" Value="True" />
|
|
|
|
|
</VisualState.Setters>
|
|
|
|
|
</VisualState>
|
|
|
|
|
<VisualState x:Name="SmallScreen">
|
|
|
|
|
<VisualState.StateTriggers>
|
|
|
|
|
<AdaptiveTrigger MinWindowWidth="0" />
|
|
|
|
|
</VisualState.StateTriggers>
|
|
|
|
|
<VisualState.Setters>
|
|
|
|
|
<Setter Target="navigationView.IsPaneOpen" Value="False" />
|
|
|
|
|
</VisualState.Setters>
|
|
|
|
|
</VisualState>
|
|
|
|
|
</VisualStateGroup>
|
|
|
|
|
|
|
|
|
|
<VisualStateGroup x:Name="ShellStateContentGroup">
|
|
|
|
|
<VisualState x:Name="DefaultShellContentState" />
|
|
|
|
|
<VisualState x:Name="EventDetailsContentState">
|
|
|
|
|
<VisualState.Setters>
|
|
|
|
|
<Setter Target="CalendarHostListView.IsEnabled" Value="False" />
|
|
|
|
|
</VisualState.Setters>
|
|
|
|
|
</VisualState>
|
|
|
|
|
</VisualStateGroup>
|
|
|
|
|
</VisualStateManager.VisualStateGroups>
|
|
|
|
|
</Grid>
|
|
|
|
|
</abstract:WinoAppShellAbstract>
|
|
|
|
|
|
|
|
|
|
|