@using AIStudio.Provider @using AIStudio.Provider.SelfHosted <MudDialog> <DialogContent> <MudForm @ref="@this.form" @bind-IsValid="@this.dataIsValid" @bind-Errors="@this.dataIssues"> <MudStack Row="@true" AlignItems="AlignItems.Center"> @* ReSharper disable once CSharpWarnings::CS8974 *@ <MudSelect @bind-Value="@this.DataLLMProvider" Label="Provider" Class="mb-3" OpenIcon="@Icons.Material.Filled.AccountBalance" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.ValidatingProvider"> @foreach (LLMProviders provider in Enum.GetValues(typeof(LLMProviders))) { <MudSelectItem Value="@provider">@provider</MudSelectItem> } </MudSelect> <MudButton Disabled="@(!this.ShowRegisterButton)" Variant="Variant.Filled" Size="Size.Small" StartIcon="@Icons.Material.Filled.OpenInBrowser" Href="@this.GetProviderCreationURL()" Target="_blank">Create account</MudButton> </MudStack> @* ReSharper disable once CSharpWarnings::CS8974 *@ <MudTextField T="string" @bind-Text="@this.dataAPIKey" Label="@this.APIKeyText" Disabled="@(!this.NeedAPIKey)" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.VpnKey" AdornmentColor="Color.Info" InputType="InputType.Password" Validation="@this.ValidatingAPIKey" /> <MudTextField T="string" @bind-Text="@this.DataHostname" Label="Hostname" Disabled="@(!this.NeedHostname)" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Dns" AdornmentColor="Color.Info" Validation="@this.ValidatingHostname" UserAttributes="@SPELLCHECK_ATTRIBUTES" /> <MudSelect Disabled="@(!this.NeedHost)" @bind-Value="@this.DataHost" Label="Host" Class="mb-3" OpenIcon="@Icons.Material.Filled.ExpandMore" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.ValidatingHost"> @foreach (Host host in Enum.GetValues(typeof(Host))) { <MudSelectItem Value="@host">@host.Name()</MudSelectItem> } </MudSelect> <MudStack Row="@true" AlignItems="AlignItems.Center"> @if (this.ProvideModelManually) { <MudButton Variant="Variant.Filled" Size="Size.Small" StartIcon="@Icons.Material.Filled.OpenInBrowser" Href="@this.GetModelOverviewURL()" Target="_blank">Show available models</MudButton> <MudTextField T="string" @bind-Text="@this.dataManuallyModel" Label="Model" Class="mb-3" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Dns" AdornmentColor="Color.Info" Validation="@this.ValidateManuallyModel" UserAttributes="@SPELLCHECK_ATTRIBUTES" /> } else { <MudButton Disabled="@(!this.CanLoadModels())" Variant="Variant.Filled" Size="Size.Small" StartIcon="@Icons.Material.Filled.Refresh" OnClick="this.ReloadModels">Load</MudButton> <MudSelect Disabled="@this.IsNoneProvider" @bind-Value="@this.DataModel" Label="Model" Class="mb-3" OpenIcon="@Icons.Material.Filled.FaceRetouchingNatural" AdornmentColor="Color.Info" Adornment="Adornment.Start" Validation="@this.ValidatingModel"> @foreach (var model in this.availableModels) { <MudSelectItem Value="@model">@model</MudSelectItem> } </MudSelect> } </MudStack> @* ReSharper disable once CSharpWarnings::CS8974 *@ <MudTextField T="string" @bind-Text="@this.DataInstanceName" Label="Instance Name" Class="mb-3" MaxLength="40" Counter="40" Immediate="@true" Adornment="Adornment.Start" AdornmentIcon="@Icons.Material.Filled.Lightbulb" AdornmentColor="Color.Info" Validation="@this.ValidatingInstanceName" UserAttributes="@SPELLCHECK_ATTRIBUTES" /> </MudForm> <Issues IssuesData="@this.dataIssues"/> </DialogContent> <DialogActions> <MudButton OnClick="@this.Cancel" Variant="Variant.Filled">Cancel</MudButton> <MudButton OnClick="@this.Store" Variant="Variant.Filled" Color="Color.Primary"> @if(this.IsEditing) { @:Update } else { @:Add } </MudButton> </DialogActions> </MudDialog>