mirror of
https://github.com/wabbajack-tools/wabbajack.git
synced 2024-08-30 18:42:17 +00:00
Merge pull request #284 from Noggog/under-maintenance
Under maintenance display
This commit is contained in:
commit
4fc9f58d88
85
Wabbajack/UnderMaintenanceOverlay.xaml
Normal file
85
Wabbajack/UnderMaintenanceOverlay.xaml
Normal file
@ -0,0 +1,85 @@
|
|||||||
|
<UserControl
|
||||||
|
x:Class="Wabbajack.UnderMaintenanceOverlay"
|
||||||
|
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
|
||||||
|
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
|
||||||
|
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
|
||||||
|
xmlns:local="clr-namespace:Wabbajack"
|
||||||
|
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
|
||||||
|
d:DesignHeight="250"
|
||||||
|
d:DesignWidth="800"
|
||||||
|
mc:Ignorable="d">
|
||||||
|
<UserControl.Resources>
|
||||||
|
<Color x:Key="YellowColor">#fec701</Color>
|
||||||
|
<SolidColorBrush x:Key="YellowBrush" Color="{StaticResource YellowColor}" />
|
||||||
|
<Color x:Key="TransparentColor">#99000000</Color>
|
||||||
|
<SolidColorBrush x:Key="TransparentBrush" Color="{StaticResource TransparentColor}" />
|
||||||
|
<LinearGradientBrush x:Key="LinesBrush" MappingMode="Absolute" SpreadMethod="Repeat" StartPoint="0,0" EndPoint="48,36">
|
||||||
|
<GradientStop Offset="0" Color="Black" />
|
||||||
|
<GradientStop Offset="0.5" Color="{StaticResource TransparentColor}" />
|
||||||
|
<GradientStop Offset="0.5" Color="{StaticResource YellowColor}" />
|
||||||
|
<GradientStop Offset="1" Color="{StaticResource YellowColor}" />
|
||||||
|
</LinearGradientBrush>
|
||||||
|
</UserControl.Resources>
|
||||||
|
<Grid Background="{StaticResource TransparentBrush}">
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="2*" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<Rectangle
|
||||||
|
Grid.Row="0"
|
||||||
|
Height="65"
|
||||||
|
Fill="{StaticResource LinesBrush}">
|
||||||
|
<Rectangle.Effect>
|
||||||
|
<DropShadowEffect
|
||||||
|
BlurRadius="15"
|
||||||
|
Opacity="0.7"
|
||||||
|
ShadowDepth="10" />
|
||||||
|
</Rectangle.Effect>
|
||||||
|
</Rectangle>
|
||||||
|
<Viewbox
|
||||||
|
Grid.Row="1"
|
||||||
|
Margin="20"
|
||||||
|
VerticalAlignment="Top">
|
||||||
|
<Grid>
|
||||||
|
<Grid.ColumnDefinitions>
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
<ColumnDefinition Width="Auto" />
|
||||||
|
</Grid.ColumnDefinitions>
|
||||||
|
<Grid.RowDefinitions>
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
<RowDefinition Height="Auto" />
|
||||||
|
</Grid.RowDefinitions>
|
||||||
|
<TextBlock
|
||||||
|
Grid.Row="0"
|
||||||
|
Grid.Column="1"
|
||||||
|
FontFamily="Lucida Sans"
|
||||||
|
FontSize="100"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Foreground="{StaticResource YellowBrush}"
|
||||||
|
Text="UNDER">
|
||||||
|
<TextBlock.Effect>
|
||||||
|
<DropShadowEffect
|
||||||
|
BlurRadius="15"
|
||||||
|
Opacity="0.7"
|
||||||
|
ShadowDepth="10" />
|
||||||
|
</TextBlock.Effect>
|
||||||
|
</TextBlock>
|
||||||
|
<TextBlock
|
||||||
|
Grid.Row="1"
|
||||||
|
Grid.Column="1"
|
||||||
|
FontFamily="Lucida Sans"
|
||||||
|
FontSize="100"
|
||||||
|
FontWeight="Bold"
|
||||||
|
Foreground="{StaticResource YellowBrush}"
|
||||||
|
Text="MAINTENANCE">
|
||||||
|
<TextBlock.Effect>
|
||||||
|
<DropShadowEffect
|
||||||
|
BlurRadius="15"
|
||||||
|
Opacity="0.7"
|
||||||
|
ShadowDepth="10" />
|
||||||
|
</TextBlock.Effect>
|
||||||
|
</TextBlock>
|
||||||
|
</Grid>
|
||||||
|
</Viewbox>
|
||||||
|
</Grid>
|
||||||
|
</UserControl>
|
28
Wabbajack/UnderMaintenanceOverlay.xaml.cs
Normal file
28
Wabbajack/UnderMaintenanceOverlay.xaml.cs
Normal file
@ -0,0 +1,28 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Linq;
|
||||||
|
using System.Text;
|
||||||
|
using System.Threading.Tasks;
|
||||||
|
using System.Windows;
|
||||||
|
using System.Windows.Controls;
|
||||||
|
using System.Windows.Data;
|
||||||
|
using System.Windows.Documents;
|
||||||
|
using System.Windows.Input;
|
||||||
|
using System.Windows.Media;
|
||||||
|
using System.Windows.Media.Imaging;
|
||||||
|
using System.Windows.Navigation;
|
||||||
|
using System.Windows.Shapes;
|
||||||
|
|
||||||
|
namespace Wabbajack
|
||||||
|
{
|
||||||
|
/// <summary>
|
||||||
|
/// Interaction logic for UnderMaintenanceOverlay.xaml
|
||||||
|
/// </summary>
|
||||||
|
public partial class UnderMaintenanceOverlay : UserControl
|
||||||
|
{
|
||||||
|
public UnderMaintenanceOverlay()
|
||||||
|
{
|
||||||
|
InitializeComponent();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
@ -39,7 +39,6 @@ namespace Wabbajack
|
|||||||
.SelectTask(async _ =>
|
.SelectTask(async _ =>
|
||||||
{
|
{
|
||||||
return (await ModlistMetadata.LoadFromGithub())
|
return (await ModlistMetadata.LoadFromGithub())
|
||||||
.Where(m => !m.ValidationSummary.HasFailures)
|
|
||||||
.AsObservableChangeSet(x => x.DownloadMetadata?.Hash ?? $"Fallback{missingHashFallbackCounter++}");
|
.AsObservableChangeSet(x => x.DownloadMetadata?.Hash ?? $"Fallback{missingHashFallbackCounter++}");
|
||||||
})
|
})
|
||||||
.Switch()
|
.Switch()
|
||||||
|
@ -35,12 +35,18 @@ namespace Wabbajack
|
|||||||
[Reactive]
|
[Reactive]
|
||||||
public double ProgressPercent { get; private set; }
|
public double ProgressPercent { get; private set; }
|
||||||
|
|
||||||
|
[Reactive]
|
||||||
|
public bool IsBroken { get; private set; }
|
||||||
|
|
||||||
public ModListMetadataVM(ModListGalleryVM parent, ModlistMetadata metadata)
|
public ModListMetadataVM(ModListGalleryVM parent, ModlistMetadata metadata)
|
||||||
{
|
{
|
||||||
_parent = parent;
|
_parent = parent;
|
||||||
Metadata = metadata;
|
Metadata = metadata;
|
||||||
|
IsBroken = metadata.ValidationSummary.HasFailures;
|
||||||
OpenWebsiteCommand = ReactiveCommand.Create(() => Process.Start($"https://www.wabbajack.org/modlist/{Metadata.Links.MachineURL}"));
|
OpenWebsiteCommand = ReactiveCommand.Create(() => Process.Start($"https://www.wabbajack.org/modlist/{Metadata.Links.MachineURL}"));
|
||||||
ExecuteCommand = ReactiveCommand.CreateFromObservable<Unit, bool>((unit) =>
|
ExecuteCommand = ReactiveCommand.CreateFromObservable<Unit, bool>(
|
||||||
|
canExecute: this.WhenAny(x => x.IsBroken).Select(x => !x),
|
||||||
|
execute: (unit) =>
|
||||||
Observable.Return(unit)
|
Observable.Return(unit)
|
||||||
.WithLatestFrom(
|
.WithLatestFrom(
|
||||||
this.WhenAny(x => x.Exists),
|
this.WhenAny(x => x.Exists),
|
||||||
|
@ -122,7 +122,21 @@
|
|||||||
HorizontalAlignment="Center"
|
HorizontalAlignment="Center"
|
||||||
VerticalAlignment="Center"
|
VerticalAlignment="Center"
|
||||||
Stretch="UniformToFill">
|
Stretch="UniformToFill">
|
||||||
<Image Source="{Binding Metadata.Links.ImageUri}" />
|
<Image Source="{Binding Metadata.Links.ImageUri}">
|
||||||
|
<Image.Style>
|
||||||
|
<Style TargetType="Image">
|
||||||
|
<Style.Triggers>
|
||||||
|
<DataTrigger Binding="{Binding IsBroken}" Value="True">
|
||||||
|
<Setter Property="Effect">
|
||||||
|
<Setter.Value>
|
||||||
|
<BlurEffect Radius="35" />
|
||||||
|
</Setter.Value>
|
||||||
|
</Setter>
|
||||||
|
</DataTrigger>
|
||||||
|
</Style.Triggers>
|
||||||
|
</Style>
|
||||||
|
</Image.Style>
|
||||||
|
</Image>
|
||||||
</Viewbox>
|
</Viewbox>
|
||||||
<Ellipse
|
<Ellipse
|
||||||
Height="120"
|
Height="120"
|
||||||
@ -164,6 +178,11 @@
|
|||||||
</Ellipse>
|
</Ellipse>
|
||||||
</Grid>
|
</Grid>
|
||||||
</Border>
|
</Border>
|
||||||
|
<local:UnderMaintenanceOverlay
|
||||||
|
Grid.Row="0"
|
||||||
|
Grid.Column="0"
|
||||||
|
Grid.ColumnSpan="2"
|
||||||
|
Visibility="{Binding IsBroken, Converter={StaticResource bool2VisibilityConverter}}" />
|
||||||
<TextBlock
|
<TextBlock
|
||||||
x:Name="DescriptionTextShadow"
|
x:Name="DescriptionTextShadow"
|
||||||
Grid.Row="0"
|
Grid.Row="0"
|
||||||
|
@ -173,6 +173,9 @@
|
|||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
</ApplicationDefinition>
|
</ApplicationDefinition>
|
||||||
<Compile Include="Converters\IsTypeVisibilityConverter.cs" />
|
<Compile Include="Converters\IsTypeVisibilityConverter.cs" />
|
||||||
|
<Compile Include="UnderMaintenanceOverlay.xaml.cs">
|
||||||
|
<DependentUpon>UnderMaintenanceOverlay.xaml</DependentUpon>
|
||||||
|
</Compile>
|
||||||
<Compile Include="View Models\CPUDisplayVM.cs" />
|
<Compile Include="View Models\CPUDisplayVM.cs" />
|
||||||
<Compile Include="Views\Compilers\CompilationCompleteView.xaml.cs">
|
<Compile Include="Views\Compilers\CompilationCompleteView.xaml.cs">
|
||||||
<DependentUpon>CompilationCompleteView.xaml</DependentUpon>
|
<DependentUpon>CompilationCompleteView.xaml</DependentUpon>
|
||||||
@ -270,6 +273,10 @@
|
|||||||
<Compile Include="Views\WebBrowserView.xaml.cs">
|
<Compile Include="Views\WebBrowserView.xaml.cs">
|
||||||
<DependentUpon>WebBrowserView.xaml</DependentUpon>
|
<DependentUpon>WebBrowserView.xaml</DependentUpon>
|
||||||
</Compile>
|
</Compile>
|
||||||
|
<Page Include="UnderMaintenanceOverlay.xaml">
|
||||||
|
<SubType>Designer</SubType>
|
||||||
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
</Page>
|
||||||
<Page Include="Views\Compilers\CompilationCompleteView.xaml">
|
<Page Include="Views\Compilers\CompilationCompleteView.xaml">
|
||||||
<SubType>Designer</SubType>
|
<SubType>Designer</SubType>
|
||||||
<Generator>MSBuild:Compile</Generator>
|
<Generator>MSBuild:Compile</Generator>
|
||||||
|
Loading…
Reference in New Issue
Block a user