WIP: Extending dialog content to be very descriptive and beginner friendly

This commit is contained in:
nilsk 2025-05-19 10:14:51 +02:00
parent d9fb0dedaf
commit 8031e1bcbe
5 changed files with 53 additions and 4 deletions

View File

@ -39,11 +39,17 @@
</MudListItem> </MudListItem>
<MudListItem T="string"> <MudListItem T="string">
Open the folder and copy the path to the <code>pandoc.exe</code> file into you clipboard. Open the folder and copy the path to the <code>pandoc.exe</code> file into you clipboard.
(ex. <code>C:\Users\%USERNAME%\pandoc\pandoc-3.6.4</code>) (ex. <code></code>)
<CodeBlock>C:\Users\%USERNAME%\pandoc</CodeBlock>
</MudListItem> </MudListItem>
<MudListItem T="string"> <MudListItem T="string">
Add the copied path to your systems environment variables and check the installation by typing Add the copied path to your systems environment variables and check the installation by typing
<code>pandoc --version</code> into your command line interface. <CodeBlock IsInline="@true">pandoc --version</CodeBlock> into your command line interface.
<CodeTabs>
<CodeBlock Title="Windows">pandoc.exe --version<br/>Der Befehl "pandoc.exe" ist entweder falsch geschrieben oder<br/>konnte nicht gefunden werden.</CodeBlock>
<CodeBlock Title="Mac OS">pandoc --version</CodeBlock>
</CodeTabs>
</MudListItem> </MudListItem>
</MudList> </MudList>
<MudText Class="mb-3" Typo="Typo.caption"> <MudText Class="mb-3" Typo="Typo.caption">

View File

@ -27,7 +27,6 @@ public partial class PandocDialog : ComponentBase
private async Task CheckPandocAvailabilityAsync() private async Task CheckPandocAvailabilityAsync()
{ {
await Task.Delay(2500);
this.isPandocAvailable = await Pandoc.CheckAvailabilityAsync(); this.isPandocAvailable = await Pandoc.CheckAvailabilityAsync();
this.showSkeleton = false; this.showSkeleton = false;
await this.InvokeAsync(this.StateHasChanged); await this.InvokeAsync(this.StateHasChanged);

View File

@ -26,6 +26,13 @@
</MudButton> </MudButton>
</MudItem> </MudItem>
<MudItem Class="my-9">
<h3>Pandoc dialog</h3>
<MudButton OnClick="OpenDialog">
Open dialog
</MudButton>
</MudItem>
<InnerScrolling> <InnerScrolling>
<MudExpansionPanels Class="mb-3" MultiExpansion="@false"> <MudExpansionPanels Class="mb-3" MultiExpansion="@false">
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Layers" HeaderText="Versions" IsExpanded="@true"> <ExpansionPanel HeaderIcon="@Icons.Material.Filled.Layers" HeaderText="Versions" IsExpanded="@true">

View File

@ -1,5 +1,5 @@
using System.Reflection; using System.Reflection;
using AIStudio.Dialogs;
using AIStudio.Tools.Rust; using AIStudio.Tools.Rust;
using AIStudio.Tools.Services; using AIStudio.Tools.Services;
@ -18,6 +18,9 @@ public partial class About : ComponentBase
[Inject] [Inject]
private ISnackbar Snackbar { get; init; } = null!; private ISnackbar Snackbar { get; init; } = null!;
[Inject]
private IDialogService DialogService { get; init; } = null!;
private static readonly Assembly ASSEMBLY = Assembly.GetExecutingAssembly(); private static readonly Assembly ASSEMBLY = Assembly.GetExecutingAssembly();
private static readonly MetaDataAttribute META_DATA = ASSEMBLY.GetCustomAttribute<MetaDataAttribute>()!; private static readonly MetaDataAttribute META_DATA = ASSEMBLY.GetCustomAttribute<MetaDataAttribute>()!;
@ -205,4 +208,9 @@ public partial class About : ComponentBase
{ {
await Pandoc.FetchLatestVersionAsync(); await Pandoc.FetchLatestVersionAsync();
} }
private async Task OpenDialog()
{
await this.DialogService.ShowAsync<PandocDialog>("install dialog");
}
} }

View File

@ -110,3 +110,32 @@
.inner-scrolling-context > .mud-splitter > .mud-slider > .mud-slider-container { .inner-scrolling-context > .mud-splitter > .mud-slider > .mud-slider-container {
padding-bottom: 12px; padding-bottom: 12px;
} }
.code-block {
background-color: #2d2d2d;
color: #f8f8f2;
border-radius: 6px !important;
overflow: auto !important;
font-family: Consolas, "Courier New", monospace !important;
text-align: left !important;
}
.code-block pre {
margin: 0 !important;
}
.code-block code {
font-family: inherit !important;
}
.inline-code-block {
background-color: #2d2d2d;
color: #f8f8f2;
border-radius: 6px;
font-family: Consolas, "Courier New", monospace;
text-align: left;
padding: 4px 6px;
margin: 0 2px;
}
.no-elevation {
box-shadow: none !important;
}