diff --git a/Wabbajack/UnderMaintenanceOverlay.xaml b/Wabbajack/UnderMaintenanceOverlay.xaml
new file mode 100644
index 00000000..a8102af6
--- /dev/null
+++ b/Wabbajack/UnderMaintenanceOverlay.xaml
@@ -0,0 +1,85 @@
+
+
+ #fec701
+
+ #99000000
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/Wabbajack/UnderMaintenanceOverlay.xaml.cs b/Wabbajack/UnderMaintenanceOverlay.xaml.cs
new file mode 100644
index 00000000..a0c338ae
--- /dev/null
+++ b/Wabbajack/UnderMaintenanceOverlay.xaml.cs
@@ -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
+{
+ ///
+ /// Interaction logic for UnderMaintenanceOverlay.xaml
+ ///
+ public partial class UnderMaintenanceOverlay : UserControl
+ {
+ public UnderMaintenanceOverlay()
+ {
+ InitializeComponent();
+ }
+ }
+}
diff --git a/Wabbajack/View Models/ModListGalleryVM.cs b/Wabbajack/View Models/ModListGalleryVM.cs
index d1f7e4e0..7332446f 100644
--- a/Wabbajack/View Models/ModListGalleryVM.cs
+++ b/Wabbajack/View Models/ModListGalleryVM.cs
@@ -39,7 +39,6 @@ namespace Wabbajack
.SelectTask(async _ =>
{
return (await ModlistMetadata.LoadFromGithub())
- .Where(m => !m.ValidationSummary.HasFailures)
.AsObservableChangeSet(x => x.DownloadMetadata?.Hash ?? $"Fallback{missingHashFallbackCounter++}");
})
.Switch()
diff --git a/Wabbajack/View Models/ModListMetadataVM.cs b/Wabbajack/View Models/ModListMetadataVM.cs
index 747eb1f6..1f8636ef 100644
--- a/Wabbajack/View Models/ModListMetadataVM.cs
+++ b/Wabbajack/View Models/ModListMetadataVM.cs
@@ -35,12 +35,18 @@ namespace Wabbajack
[Reactive]
public double ProgressPercent { get; private set; }
+ [Reactive]
+ public bool IsBroken { get; private set; }
+
public ModListMetadataVM(ModListGalleryVM parent, ModlistMetadata metadata)
{
_parent = parent;
Metadata = metadata;
+ IsBroken = metadata.ValidationSummary.HasFailures;
OpenWebsiteCommand = ReactiveCommand.Create(() => Process.Start($"https://www.wabbajack.org/modlist/{Metadata.Links.MachineURL}"));
- ExecuteCommand = ReactiveCommand.CreateFromObservable((unit) =>
+ ExecuteCommand = ReactiveCommand.CreateFromObservable(
+ canExecute: this.WhenAny(x => x.IsBroken).Select(x => !x),
+ execute: (unit) =>
Observable.Return(unit)
.WithLatestFrom(
this.WhenAny(x => x.Exists),
diff --git a/Wabbajack/Views/ModListGalleryView.xaml b/Wabbajack/Views/ModListGalleryView.xaml
index 5abe4403..ed82015a 100644
--- a/Wabbajack/Views/ModListGalleryView.xaml
+++ b/Wabbajack/Views/ModListGalleryView.xaml
@@ -122,7 +122,21 @@
HorizontalAlignment="Center"
VerticalAlignment="Center"
Stretch="UniformToFill">
-
+
+
+
+
+
+
Designer
+
+ UnderMaintenanceOverlay.xaml
+
CompilationCompleteView.xaml
@@ -270,6 +273,10 @@
WebBrowserView.xaml
+
+ Designer
+ MSBuild:Compile
+
Designer
MSBuild:Compile