2025-05-29 12:01:56 +00:00
<MudDialog>
<DialogContent>
2025-05-30 15:09:21 +00:00
@if (this.isInstallationInProgress)
{
<MudText Typo="Typo.h4" Class="mb-3">
Please wait for the installation to complete...
</MudText>
<MudProgressLinear Color="Color.Primary" Indeterminate="@true" Size="Size.Large" Rounded="@true"/>
}
else if (this.ShowInstallationPage)
2025-05-29 12:01:56 +00:00
{
<div class="mb-4">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1" Class="mb-2">
2025-05-30 10:56:55 +00:00
AI Studio relies on the free and open-sourced third-party app Pandoc to process and retrieve data from local Office files (ex. Word) and later other text formats like LaTeX.
2025-05-29 19:29:57 +00:00
</MudJustifiedText>
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
2025-05-30 10:56:55 +00:00
Unfortunately Pandoc's GPL license is not compatible with AI Studios licences, nonetheless software under GPL is generally free to use and free of charge as well. Therefore you have to accept Pandoc's GPL license before we can download and install Pandoc for free automatically for you (recommended). However you can download it yourself manually with the instructions below.
2025-05-29 19:29:57 +00:00
</MudJustifiedText>
2025-05-29 12:01:56 +00:00
</div>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudExpansionPanels Class="mb-3" MultiExpansion="@false" Outlined="false" Elevation="0">
2025-05-30 09:50:43 +00:00
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Verified" HeaderText="View GNU General Public License v2 (GPL)" MaxHeight="300" ExpandedChanged="this.WhenExpandingLicence">
2025-05-30 11:48:59 +00:00
@if (this.isLoadingLicence)
2025-05-29 19:31:41 +00:00
{
2025-05-30 15:09:32 +00:00
<MudSkeleton/>
<MudSkeleton Animation="Animation.Wave"/>
<MudSkeleton/>
2025-05-29 19:31:41 +00:00
}
else if (!string.IsNullOrWhiteSpace(this.licenseText))
{
<MudMarkdown Value="@this.licenseText" OverrideHeaderTypo="@Markdown.OverrideHeaderTypo"/>
}
</ExpansionPanel>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.AutoFixHigh" HeaderText="Automatic installation" IsExpanded="true">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
2025-05-30 10:56:55 +00:00
Pandoc is distributed under the <MudLink Href="https://github.com/jgm/pandoc/blob/main/COPYING.md" Target="_blank">GNU General Public License v2 (GPL)</MudLink>. By clicking "Accept GPL and Install", you agree to the terms of the GPL license and Pandoc will be installed automatically for you. Software under GPL is free of charge and free to use.
2025-05-30 10:36:38 +00:00
</MudJustifiedText>
2025-05-30 10:39:51 +00:00
<MudButton OnClick="InstallPandocAsync" Color="Color.Primary" Class="mt-4" Variant="Variant.Filled" Size="Size.Medium" StartIcon="@Icons.Material.Filled.InstallDesktop">
2025-05-29 12:01:56 +00:00
Accept GPL and install for free
</MudButton>
</ExpansionPanel>
2025-05-30 15:09:32 +00:00
2025-05-30 09:50:43 +00:00
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Build" HeaderText="Manual installation" ExpandedChanged="this.WhenExpandingManualInstallation">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1" Class="mb-2">
2025-05-29 19:54:04 +00:00
If you prefer to install Pandoc yourself, please follow one of these two guides. Installers are only available for Windows and macOS.
2025-05-30 10:36:38 +00:00
</MudJustifiedText>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudExpansionPanels Outlined="false" Elevation="0">
2025-05-29 21:04:53 +00:00
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.AppRegistration" HeaderText="Download installer" IsExpanded="true">
2025-05-29 12:01:56 +00:00
<MudList T="string">
<MudListItem T="string" Class="mb-2">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Accept the terms of the GPL license and download the latest installer with the download button below.
Eventually you need to allow the download of the installer in the download window.
</MudJustifiedText>
2025-05-30 09:53:24 +00:00
<CodeTabs @bind-SelectedIndex="this.selectedInstallerIndex">
2025-05-30 11:50:04 +00:00
<CodeBlock Title="Windows">pandoc-@(LATEST_PANDOC_VERSION)-windows-x86_64.msi</CodeBlock>
<CodeBlock Title="macOS ARM">pandoc-@(LATEST_PANDOC_VERSION)-arm64-macOS.pkg</CodeBlock>
<CodeBlock Title="macOS x86">pandoc-@(LATEST_PANDOC_VERSION)-x86_64-macOS.pkg</CodeBlock>
2025-05-29 12:01:56 +00:00
</CodeTabs>
</MudListItem>
<MudListItem T="string">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Execute the installer and follow the instructions.
</MudJustifiedText>
2025-05-29 12:01:56 +00:00
</MudListItem>
</MudList>
2025-05-30 15:09:32 +00:00
2025-05-30 10:36:38 +00:00
<MudJustifiedText Class="mb-3" Typo="Typo.body1">
2025-05-30 10:56:55 +00:00
Pandoc is distributed under the <MudLink Href="https://github.com/jgm/pandoc/blob/main/COPYING.md" Target="_blank">GNU General Public License v2 (GPL)</MudLink>. By clicking "Accept GPL and download installer", you agree to the terms of the GPL license. Software under GPL is free of charge and free to use.
2025-05-30 10:36:38 +00:00
</MudJustifiedText>
2025-05-30 15:09:32 +00:00
2025-05-30 10:39:51 +00:00
<MudButton Href="@this.downloadUrlInstaller" Target="_blank" Color="Color.Primary" Class="mt-4" Variant="Variant.Filled" Size="Size.Medium" StartIcon="@Icons.Material.Filled.Downloading">
2025-05-29 12:01:56 +00:00
Accept GPL and download installer
</MudButton>
</ExpansionPanel>
2025-05-30 15:09:32 +00:00
2025-05-29 21:04:53 +00:00
<ExpansionPanel HeaderIcon="@Icons.Material.Outlined.Archive" HeaderText="Download archive">
2025-05-29 12:01:56 +00:00
<MudList T="string">
<MudListItem T="string" Class="mb-2">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Accept the terms of the GPL license and download the latest archive with the download button below.
</MudJustifiedText>
2025-05-29 12:01:56 +00:00
</MudListItem>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudListItem T="string" Class="mb-2">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Extract the archive to a folder of your choice, e.g.:
</MudJustifiedText>
2025-05-30 09:16:53 +00:00
<CodeTabs @bind-SelectedIndex="this.selectedArchiveIndex">
2025-05-29 12:01:56 +00:00
<CodeBlock Title="Windows">C:\Users\%USERNAME%\pandoc</CodeBlock>
2025-05-30 09:23:17 +00:00
<CodeBlock Title="macOS">~/pandoc</CodeBlock>
2025-05-29 12:01:56 +00:00
<CodeBlock Title="Linux">/usr/local/bin/pandoc</CodeBlock>
</CodeTabs>
</MudListItem>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudListItem T="string" Class="mb-2">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Open the folder and copy the full path to the <CodeBlock IsInline="true">@PandocProcessBuilder.PandocExecutableName</CodeBlock> file into your clipboard:
</MudJustifiedText>
2025-05-30 09:16:53 +00:00
<CodeTabs @bind-SelectedIndex="this.selectedArchiveIndex">
2025-05-30 11:50:04 +00:00
<CodeBlock Title="Windows">C:\Users\%USERNAME%\pandoc\pandoc-@(LATEST_PANDOC_VERSION)</CodeBlock>
<CodeBlock Title="macOS">~/pandoc/pandoc-@(LATEST_PANDOC_VERSION)</CodeBlock>
<CodeBlock Title="Linux">/usr/local/bin/pandoc/pandoc-@(LATEST_PANDOC_VERSION)</CodeBlock>
2025-05-29 12:01:56 +00:00
</CodeTabs>
</MudListItem>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudListItem T="string">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
Add the copied path to your system's or user's <CodeBlock IsInline="true">PATH</CodeBlock> environment variable, restart your terminal, and check the installation by typing <CodeBlock IsInline="@true">pandoc --version</CodeBlock> into your terminal:
</MudJustifiedText>
2025-05-30 09:16:53 +00:00
<CodeTabs @bind-SelectedIndex="this.selectedArchiveIndex">
2025-05-30 11:50:04 +00:00
<CodeBlock Title="Windows">> pandoc.exe --version<br/>> pandoc @(LATEST_PANDOC_VERSION)</CodeBlock>
<CodeBlock Title="macOS">> pandoc --version<br/>> pandoc @(LATEST_PANDOC_VERSION)</CodeBlock>
<CodeBlock Title="Linux">> pandoc --version<br/>> pandoc @(LATEST_PANDOC_VERSION)</CodeBlock>
2025-05-29 12:01:56 +00:00
</CodeTabs>
</MudListItem>
</MudList>
2025-05-30 15:09:32 +00:00
2025-05-29 12:01:56 +00:00
<MudText Class="mb-3" Typo="Typo.caption">
2025-05-30 10:36:38 +00:00
<MudJustifiedText Typo="Typo.body1">
2025-05-30 10:56:55 +00:00
Pandoc is distributed under the <MudLink Href="https://github.com/jgm/pandoc/blob/main/COPYING.md" Target="_blank">GNU General Public License v2 (GPL)</MudLink>. By clicking "Accept GPL and archive", you agree to the terms of the GPL license. Software under GPL is free of charge and free to use.
2025-05-30 10:36:38 +00:00
</MudJustifiedText>
2025-05-29 12:01:56 +00:00
</MudText>
2025-05-30 15:09:32 +00:00
2025-05-30 10:39:51 +00:00
<MudButton Href="@this.downloadUrlArchive" Target="_blank" Color="Color.Primary" Class="mt-4" Variant="Variant.Filled" Size="Size.Medium" StartIcon="@Icons.Material.Filled.Downloading">
2025-05-29 12:01:56 +00:00
Accept GPL and download archive
</MudButton>
</ExpansionPanel>
</MudExpansionPanels>
</ExpansionPanel>
</MudExpansionPanels>
}
else
{
2025-05-30 12:02:56 +00:00
<MudItem Class="px-8 py-2">
2025-05-30 11:56:02 +00:00
@if (this.pandocInstallation == default)
2025-05-29 12:01:56 +00:00
{
2025-05-30 12:02:56 +00:00
<MudStack Row="true" AlignItems="AlignItems.Center">
2025-05-30 15:09:32 +00:00
<MudSkeleton SkeletonType="SkeletonType.Circle" Width="4em" Height="4em" Animation="Animation.Pulse"/>
2025-05-30 12:02:56 +00:00
<MudStack Row="false" Class="d-flex flex-column flex-grow-1">
<MudSkeleton Width="90%" Animation="Animation.Wave"/>
<MudSkeleton Width="75%" Animation="Animation.Wave"/>
2025-05-30 15:09:32 +00:00
<MudSkeleton Width="55%"/>
<MudSkeleton Width="12%"/>
2025-05-30 12:02:56 +00:00
</MudStack>
</MudStack>
2025-05-29 12:01:56 +00:00
}
else
{
2025-05-30 12:03:28 +00:00
switch (this.pandocInstallation)
{
case { CheckWasSuccessful: true, IsAvailable: true }:
<MudStack Row="true" AlignItems="AlignItems.Center">
<MudIcon Style="width: 2.5em; height: 2.5em;" Icon="@Icons.Material.Filled.Check" Color="Color.Success"/>
<MudJustifiedText Typo="Typo.body1">
Pandoc is installed and the version meets the requirements of MindWork AI Studio.
</MudJustifiedText>
</MudStack>
break;
case { CheckWasSuccessful: true, IsAvailable: false }:
<MudStack Row="true" AlignItems="AlignItems.Center">
<MudIcon Style="width: 3.5em; height: 3.5em;" Icon="@Icons.Material.Filled.Error" Color="Color.Error"/>
<MudJustifiedText Typo="Typo.body1">
Pandoc is installed, but the version is too old and does not meet the requirements of
MindWork AI Studio. AI Studio can help you install a newer version.
</MudJustifiedText>
</MudStack>
break;
case { CheckWasSuccessful: false }:
<MudStack Row="true" AlignItems="AlignItems.Center">
<MudIcon Style="width: 3.5em; height: 3.5em;" Icon="@Icons.Material.Filled.Error" Color="Color.Error"/>
<MudJustifiedText Typo="Typo.body1">
Pandoc doesn't seem to be installed on this system. AI Studio can help you install the correct version.
</MudJustifiedText>
</MudStack>
break;
}
2025-05-29 12:01:56 +00:00
}
</MudItem>
}
</DialogContent>
2025-05-29 19:32:11 +00:00
<DialogActions>
2025-05-30 15:09:21 +00:00
@if (this.isInstallationInProgress)
{
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
Close
</MudButton>
}
else if (this.ShowInstallationPage)
2025-05-29 19:32:11 +00:00
{
2025-05-30 12:03:47 +00:00
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
2025-05-30 15:09:32 +00:00
Close
2025-05-30 12:03:47 +00:00
</MudButton>
2025-05-30 10:39:51 +00:00
<MudButton Color="Color.Warning" OnClick="@this.RejectLicense" Variant="Variant.Filled" Size="Size.Medium">
2025-05-29 19:32:11 +00:00
Reject GPL licence
</MudButton>
}
else
{
2025-05-30 12:03:28 +00:00
<MudButton OnClick="@this.Cancel" Variant="Variant.Filled">
2025-05-30 15:09:32 +00:00
Close
2025-05-29 19:32:11 +00:00
</MudButton>
2025-05-30 14:59:55 +00:00
2025-05-30 12:03:28 +00:00
@if (this.pandocInstallation != default)
{
2025-05-30 14:59:55 +00:00
switch (this.pandocInstallation)
{
case { CheckWasSuccessful: true, IsAvailable: false }:
case { CheckWasSuccessful: false, IsAvailable: false }:
<MudButton Color="Color.Primary" OnClick="@this.ProceedToInstallation" Variant="Variant.Filled" Size="Size.Medium">
Proceed to installation
</MudButton>
break;
case { CheckWasSuccessful: true, IsAvailable: true }:
<MudButton Color="Color.Default" OnClick="@this.ProceedToInstallation" Variant="Variant.Filled" Size="Size.Medium">
Re-install Pandoc
</MudButton>
break;
}
2025-05-30 12:03:28 +00:00
}
2025-05-29 19:32:11 +00:00
}
</DialogActions>
2025-05-29 12:01:56 +00:00
</MudDialog>