From a6703f108d63a1256d0e7f06a2004b74d8b366a2 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Fri, 30 May 2025 13:56:02 +0200 Subject: [PATCH] Refactor PandocDialog to simplify state management --- app/MindWork AI Studio/Dialogs/PandocDialog.razor | 2 +- app/MindWork AI Studio/Dialogs/PandocDialog.razor.cs | 9 ++------- 2 files changed, 3 insertions(+), 8 deletions(-) diff --git a/app/MindWork AI Studio/Dialogs/PandocDialog.razor b/app/MindWork AI Studio/Dialogs/PandocDialog.razor index bf42a568..0a6791f4 100644 --- a/app/MindWork AI Studio/Dialogs/PandocDialog.razor +++ b/app/MindWork AI Studio/Dialogs/PandocDialog.razor @@ -128,7 +128,7 @@ else { - @if (this.showSkeleton) + @if (this.pandocInstallation == default) { diff --git a/app/MindWork AI Studio/Dialogs/PandocDialog.razor.cs b/app/MindWork AI Studio/Dialogs/PandocDialog.razor.cs index a0fabe5d..f974a697 100644 --- a/app/MindWork AI Studio/Dialogs/PandocDialog.razor.cs +++ b/app/MindWork AI Studio/Dialogs/PandocDialog.razor.cs @@ -33,8 +33,7 @@ public partial class PandocDialog : ComponentBase private static readonly string LICENCE_URI = "https://raw.githubusercontent.com/jgm/pandoc/refs/heads/main/COPYING.md"; private static string LATEST_PANDOC_VERSION = string.Empty; - private bool isPandocAvailable; - private bool showSkeleton; + private PandocInstallation pandocInstallation; private bool showInstallPage; private string? licenseText; private bool isLoadingLicence; @@ -49,7 +48,6 @@ public partial class PandocDialog : ComponentBase { await base.OnInitializedAsync(); - this.showSkeleton = true; LATEST_PANDOC_VERSION = await Pandoc.FetchLatestVersionAsync(); await this.CheckPandocAvailabilityAsync(); } @@ -60,10 +58,7 @@ public partial class PandocDialog : ComponentBase private async Task CheckPandocAvailabilityAsync() { - var pandocInstallation = await Pandoc.CheckAvailabilityAsync(this.RustService); - this.isPandocAvailable = pandocInstallation.IsAvailable; - this.showSkeleton = false; - + this.pandocInstallation = await Pandoc.CheckAvailabilityAsync(this.RustService); await this.InvokeAsync(this.StateHasChanged); }