Skip to content

Commit

Permalink
Initial Themes 2.0 work
Browse files Browse the repository at this point in the history
  • Loading branch information
WamWooWam committed Sep 10, 2024
1 parent 89f501e commit 765a061
Show file tree
Hide file tree
Showing 36 changed files with 1,174 additions and 844 deletions.
37 changes: 2 additions & 35 deletions Unicord.Universal/App.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,11 @@
</ResourceDictionary>
</ResourceDictionary.ThemeDictionaries>
<ResourceDictionary.MergedDictionaries>
<!-- TODO: V1/V2 resources globally -->
<XamlControlsResources xmlns="using:Microsoft.UI.Xaml.Controls" ControlsResourcesVersion="Version2"/>
<ThemeResources xmlns="using:Unicord.Universal.Themes"/>

<ResourceDictionary Source="Themes/Colours.xaml"/>
<ResourceDictionary Source="Themes/Generic.xaml"/>
<ResourceDictionary Source="Themes/CustomStyles.xaml"/>

<ResourceDictionary Source="Themes/RS2.xaml"/>

<!-- Resource dictionaries with code behinds must be instantated like this for InitializeComponent to be called -->
<Templates xmlns="using:Unicord.Universal.Resources"/>
Expand Down Expand Up @@ -84,37 +81,7 @@

<FontFamily x:Key="FluentSystemIcons">/Assets/FluentSystemIcons-Regular.ttf#FluentSystemIcons-Regular</FontFamily>
<FontFamily x:Key="SymbolThemeFontFamily">/Assets/SegoeIcons.ttf#Segoe Fluent Icons</FontFamily>
<StaticResource x:Key="SegoeMDL2Assets" ResourceKey="SymbolThemeFontFamily"/>

<Style x:Key="CleanButtonStyle" TargetType="Button" BasedOn="{StaticResource DefaultButtonStyle}">
<Setter Property="Background" Value="Transparent"/>
</Style>

<Style x:Key="StretchyIconButtonStyle" TargetType="Button" BasedOn="{StaticResource CleanButtonStyle}">
<Setter Property="BorderBrush" Value="Transparent" />
<Setter Property="FontFamily" Value="{StaticResource SymbolThemeFontFamily}"/>
<Setter Property="FontSize" Value="16"/>
</Style>

<Style x:Key="IconButtonStyle" TargetType="Button" BasedOn="{StaticResource StretchyIconButtonStyle}">
<!--<Setter Property="MinWidth" Value="32"/>
<Setter Property="Height" Value="32"/>-->
<Setter Property="Padding" Value="8" />
</Style>

<Style x:Key="StretchyIconToggleButtonStyle" TargetType="ToggleButton" BasedOn="{StaticResource DefaultToggleButtonStyle}">
<Setter Property="Background" Value="Transparent"/>
<Setter Property="FontFamily" Value="{StaticResource SymbolThemeFontFamily}"/>
<Setter Property="FontSize" Value="16"/>
<Setter Property="BorderThickness" Value="1"/>
<Setter Property="UseLayoutRounding" Value="True"/>
<Setter Property="BorderBrush" Value="Transparent" />
</Style>

<Style x:Key="IconToggleButtonStyle" TargetType="ToggleButton" BasedOn="{StaticResource StretchyIconToggleButtonStyle}">
<Setter Property="Padding" Value="8" />
</Style>

<StaticResource x:Key="SegoeMDL2Assets" ResourceKey="SymbolThemeFontFamily"/>
</ResourceDictionary>
</Application.Resources>
</Application>
6 changes: 4 additions & 2 deletions Unicord.Universal/App.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -55,8 +55,10 @@ sealed partial class App : Application
private static TaskCompletionSource<ReadyEventArgs> _readySource = new TaskCompletionSource<ReadyEventArgs>();

internal static DiscordClient Discord { get; set; }
internal static ApplicationDataStorageHelper LocalSettings { get; } = ApplicationDataStorageHelper.GetCurrent();
internal static ApplicationDataStorageHelper RoamingSettings { get; } = ApplicationDataStorageHelper.GetCurrent();
internal static ApplicationDataStorageHelper LocalSettings { get; }
= ApplicationDataStorageHelper.GetCurrent();
internal static ApplicationDataStorageHelper RoamingSettings { get; }
= ApplicationDataStorageHelper.GetCurrent();

public App()
{
Expand Down
12 changes: 5 additions & 7 deletions Unicord.Universal/Commands/Users/ShowUserOverlayCommand.cs
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@
using DSharpPlus.Entities;
using Microsoft.AppCenter.Analytics;
using Unicord.Universal.Models.User;
using Unicord.Universal.Pages.Overlay;
using Unicord.Universal.Services;
using Windows.UI.Xaml;

namespace Unicord.Universal.Commands.Users
Expand All @@ -17,15 +19,11 @@ public ShowUserOverlayCommand(UserViewModel viewModel) : base(viewModel)
{
}

public override void Execute(object parameter)
public override async void Execute(object parameter)
{
// TODO: will probably be reworked
var page = Window.Current.Content.FindChild<MainPage>();
if (page != null)
{
Analytics.TrackEvent("ShowUserOverlayCommand_Invoked");
page.ShowUserOverlay(viewModel, true);
}
await OverlayService.GetForCurrentView()
.ShowOverlayAsync<UserInfoOverlayPage>(viewModel);
}
}
}
35 changes: 16 additions & 19 deletions Unicord.Universal/Controls/Channels/ChannelPageHeaderControl.xaml
Original file line number Diff line number Diff line change
Expand Up @@ -24,8 +24,9 @@

<Grid x:Name="TopGrid"
VerticalAlignment="Top"
BorderThickness="0,0,0,1"
BorderBrush="{ThemeResource DividerStrokeColorDefaultBrush}">
Background="{ThemeResource ChannelPage_Header_Background}"
BorderBrush="{ThemeResource ChannelPage_Header_BorderBrush}"
BorderThickness="{StaticResource ChannelPage_Header_BorderThickness}">
<Grid.RowDefinitions>
<RowDefinition Height="*" />
</Grid.RowDefinitions>
Expand Down Expand Up @@ -54,9 +55,9 @@
<!-- because VisualStateManager is wank -->
<Grid x:Name="ShowSidebarButtonContainer" Margin="4,0,-4,0">
<Button x:Name="ShowSidebarButton"
Click="ShowSidebarButton_Click"
Content="&#xE700;"
Style="{ThemeResource IconButtonStyle}" />
Content="&#xE700;"
Command="{x:Bind ViewModel.LeftPaneCommand}"
Style="{ThemeResource IconButtonStyle}" />
</Grid>

<users:AvatarControl x:Name="UserImage"
Expand Down Expand Up @@ -121,38 +122,37 @@
<ToggleButton x:Name="MuteButton"
x:Uid="/ChannelPage/MuteButton"
Content="&#xE74F;"
Margin="2,4"
IsChecked="{x:Bind ViewModel.Muted, Mode=OneWay}"
Style="{ThemeResource IconToggleButtonStyle}">
Style="{ThemeResource ChannelPageHeaderToggleButtonStyle}">
<w1709:ToggleButton.KeyboardAccelerators>
<w1709:KeyboardAccelerator Modifiers="Control" Key="M"/>
</w1709:ToggleButton.KeyboardAccelerators>
</ToggleButton>
<Button x:Name="SearchButton"
x:Uid="/ChannelPage/SearchButton"
Command="{x:Bind ViewModel.SearchCommand}"
Content="&#xE721;"
Margin="2,4"
Style="{ThemeResource IconButtonStyle}">
Style="{ThemeResource ChannelPageHeaderButtonStyle}">
<w1709:Button.KeyboardAccelerators>
<w1709:KeyboardAccelerator Modifiers="Control" Key="S"/>
</w1709:Button.KeyboardAccelerators>
</Button>
<Button x:Name="PinsButton"
x:Uid="/ChannelPage/PinsButton"
x:Load="{x:Bind ViewModel.ShowPinsButton}"
Command="{x:Bind ViewModel.PinsCommand}"
Content="&#xE718;"
Margin="2,4"
Style="{ThemeResource IconButtonStyle}">
Style="{ThemeResource ChannelPageHeaderButtonStyle}">
<w1709:Button.KeyboardAccelerators>
<w1709:KeyboardAccelerator Modifiers="Control" Key="P"/>
</w1709:Button.KeyboardAccelerators>
</Button>
<Button x:Name="UserListButton"
x:Uid="/ChannelPage/UserListButton"
x:Load="{x:Bind ViewModel.ShowUserlistButton}"
Command="{x:Bind ViewModel.UserListCommand}"
Content="&#xE716;"
Margin="4"
Style="{ThemeResource IconButtonStyle}">
Style="{ThemeResource ChannelPageHeaderButtonStyle}">
<w1709:Button.KeyboardAccelerators>
<w1709:KeyboardAccelerator Modifiers="Control" Key="U"/>
</w1709:Button.KeyboardAccelerators>
Expand All @@ -163,8 +163,7 @@
x:Uid="/ChannelPage/MoreOptionsButton"
x:Load="{x:Bind ViewModel.ShowExtendedItems}"
Content="&#xE712;"
Margin="2,4"
Style="{ThemeResource IconButtonStyle}">
Style="{ThemeResource ChannelPageHeaderButtonStyle}">
<lib:DropDownButton.Flyout>
<lib:MenuBarItemFlyout>
<MenuFlyoutItem x:Name="PinToStartItem"
Expand Down Expand Up @@ -210,14 +209,12 @@
x:Uid="/ChannelPage/DeleteAllButton"
Command="{Binding MassDeleteCommand}"
Content="&#xE74D;"
Margin="2,4"
Style="{ThemeResource IconButtonStyle}"/>
Style="{ThemeResource ChannelPageHeaderButtonStyle}"/>
<Button x:Name="CloseEditButton"
x:Uid="/ChannelPage/CloseEditButton"
Command="{Binding ExitEditModeCommand}"
Content="&#xE711;"
Margin="2,4"
Style="{ThemeResource IconButtonStyle}"/>
Style="{ThemeResource ChannelPageHeaderButtonStyle}"/>
</StackPanel>

<Border Margin="0,8,-24,8" BorderBrush="{ThemeResource DividerStrokeColorDefaultBrush}" BorderThickness="0,0,1,0" />
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -23,14 +23,14 @@ namespace Unicord.Universal.Controls.Channels
{
public sealed partial class ChannelPageHeaderControl : UserControl
{
public ChannelViewModel ViewModel
public ChannelPageViewModelBase ViewModel
{
get { return (ChannelViewModel)GetValue(ViewModelProperty); }
get { return (ChannelPageViewModelBase)GetValue(ViewModelProperty); }
set { SetValue(ViewModelProperty, value); }
}

public static readonly DependencyProperty ViewModelProperty =
DependencyProperty.Register("ViewModel", typeof(ChannelViewModel), typeof(ChannelPageHeaderControl), new PropertyMetadata(null));
DependencyProperty.Register("ViewModel", typeof(ChannelPageViewModelBase), typeof(ChannelPageHeaderControl), new PropertyMetadata(null));

public ChannelPageHeaderControl()
{
Expand All @@ -55,7 +55,7 @@ private void OnLoaded(object sender, RoutedEventArgs e)

private void ShowSidebarButton_Click(object sender, RoutedEventArgs e)
{
this.FindParent<DiscordPage>()?.ToggleSplitPane();

}
}
}
4 changes: 3 additions & 1 deletion Unicord.Universal/Dialogs/ProfileOverlay.xaml.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
using DSharpPlus.Entities;
using Unicord.Universal.Commands;
using Unicord.Universal.Models.User;
using Unicord.Universal.Services;
using Windows.Foundation;
using Windows.Foundation.Collections;
using Windows.System;
Expand Down Expand Up @@ -43,7 +44,8 @@ private void DropShadowPanel_PreviewKeyUp(object sender, KeyRoutedEventArgs e)
{
if (e.Key == VirtualKey.Escape)
{
this.FindParent<MainPage>().HideUserOverlay();
OverlayService.GetForCurrentView()
.CloseOverlay();
}
}
}
Expand Down
99 changes: 26 additions & 73 deletions Unicord.Universal/MainPage.xaml
Original file line number Diff line number Diff line change
@@ -1,23 +1,22 @@
<Page
x:Class="Unicord.Universal.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Unicord.Universal"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:p="using:Unicord.Universal.Pages"
xmlns:fc="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,5)"
xmlns:not1709="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,5)"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
xmlns:dialogs="using:Unicord.Universal.Dialogs"
xmlns:controls1="using:Unicord.Universal.Controls"
xmlns:lib="using:Microsoft.UI.Xaml.Controls"
xmlns:media="using:Microsoft.UI.Xaml.Media"
xmlns:media1="using:Microsoft.Toolkit.Uwp.UI.Media"
mc:Ignorable="d"
Loaded="Page_Loaded"
Unloaded="Page_Unloaded"
NavigationCacheMode="Required">
<Page x:Class="Unicord.Universal.MainPage"
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
xmlns:local="using:Unicord.Universal"
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
xmlns:p="using:Unicord.Universal.Pages"
xmlns:fc="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractPresent(Windows.Foundation.UniversalApiContract,5)"
xmlns:not1709="http://schemas.microsoft.com/winfx/2006/xaml/presentation?IsApiContractNotPresent(Windows.Foundation.UniversalApiContract,5)"
xmlns:controls="using:Microsoft.Toolkit.Uwp.UI.Controls"
xmlns:dialogs="using:Unicord.Universal.Dialogs"
xmlns:controls1="using:Unicord.Universal.Controls"
xmlns:lib="using:Microsoft.UI.Xaml.Controls"
xmlns:media="using:Microsoft.UI.Xaml.Media"
xmlns:media1="using:Microsoft.Toolkit.Uwp.UI.Media"
mc:Ignorable="d"
Loaded="Page_Loaded"
Unloaded="Page_Unloaded"
NavigationCacheMode="Required">
<Page.Resources>
<CircleEase x:Key="CircleEase" EasingMode="EaseInOut"/>

Expand Down Expand Up @@ -98,45 +97,7 @@
EasingFunction="{StaticResource EaseExit}"/>
</Storyboard>

<Storyboard x:Name="showUserOverlay" x:Key="showUserOverlay">

<DoubleAnimation From="0" To="1"
Storyboard.TargetName="userInfoPopup"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.30"
EasingFunction="{StaticResource EaseEnter}"/>

<DoubleAnimation From="0.85" To="1"
Storyboard.TargetName="userInfoScale"
Storyboard.TargetProperty="(ScaleTransform.ScaleX)"
Duration="0:0:0.30"
EasingFunction="{StaticResource EaseEnter}"/>
<DoubleAnimation From="0.85" To="1"
Storyboard.TargetName="userInfoScale"
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
Duration="0:0:0.30"
EasingFunction="{StaticResource EaseEnter}"/>

</Storyboard>
<Storyboard x:Name="hideUserOverlay" x:Key="hideUserOverlay"
Completed="hideUserOverlay_Completed">
<DoubleAnimation From="1" To="0"
Storyboard.TargetName="userInfoPopup"
Storyboard.TargetProperty="Opacity"
Duration="0:0:0.15"
EasingFunction="{StaticResource EaseExit}"/>

<DoubleAnimation From="1" To="0.85"
Storyboard.TargetName="userInfoScale"
Storyboard.TargetProperty="(ScaleTransform.ScaleX)"
Duration="0:0:0.15"
EasingFunction="{StaticResource EaseExit}"/>
<DoubleAnimation From="1" To="0.85"
Storyboard.TargetName="userInfoScale"
Storyboard.TargetProperty="(ScaleTransform.ScaleY)"
Duration="0:0:0.15"
EasingFunction="{StaticResource EaseExit}"/>
</Storyboard>


<Storyboard x:Name="ShowOverlayStoryboard" x:Key="ShowOverlayStoryboard">

Expand Down Expand Up @@ -201,23 +162,15 @@
<Grid x:Name="overlayGrid"/>
</Grid>

<Grid x:Name="userInfoPopup" Visibility="Collapsed" Opacity="0">
<Canvas Tapped="userInfoPopup_Tapped" Background="{ThemeResource SmokeFillColorDefaultBrush}"/>
<Grid RenderTransformOrigin="0.5, 0.5" VerticalAlignment="Stretch" HorizontalAlignment="Stretch">
<Grid.RenderTransform>
<ScaleTransform x:Name="userInfoScale" ScaleX="1" ScaleY="1"/>
</Grid.RenderTransform>

<dialogs:ProfileOverlay x:Name="userInfoOverlay" Visibility="Visible"/>
</Grid>
</Grid>

<Grid x:Name="CustomOverlayGrid"
Opacity="0"
Visibility="Collapsed">
<Grid.Background>
<SolidColorBrush Color="Black" Opacity="0.66"/>
</Grid.Background>
<Grid x:Name="OverlayBackdrop"
Tapped="OverlayBackdrop_Tapped">
<Grid.Background>
<SolidColorBrush Color="Black" Opacity="0.66"/>
</Grid.Background>
</Grid>
<Grid x:Name="CustomContainer"
RenderTransformOrigin="0.5,0.5"
CornerRadius="8">
Expand Down
Loading

0 comments on commit 765a061

Please sign in to comment.