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