mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2025-02-06 04:29:07 +00:00
78 lines
6.1 KiB
Plaintext
78 lines
6.1 KiB
Plaintext
@page "/settings"
|
|
@using AIStudio.Provider
|
|
@using Host = AIStudio.Provider.SelfHosted.Host
|
|
|
|
<MudText Typo="Typo.h3" Class="mb-12">Settings</MudText>
|
|
|
|
<InnerScrolling HeaderHeight="6em">
|
|
<MudPaper Class="pa-3 mb-8 border-solid border rounded-lg">
|
|
<MudText Typo="Typo.h4" Class="mb-3">Configured Providers</MudText>
|
|
<MudTable Items="@this.SettingsManager.ConfigurationData.Providers" Class="border-dashed border rounded-lg">
|
|
<ColGroup>
|
|
<col style="width: 3em;"/>
|
|
<col style="width: 12em;"/>
|
|
<col style="width: 12em;"/>
|
|
<col/>
|
|
<col style="width: 34em;"/>
|
|
</ColGroup>
|
|
<HeaderContent>
|
|
<MudTh>#</MudTh>
|
|
<MudTh>Instance Name</MudTh>
|
|
<MudTh>Provider</MudTh>
|
|
<MudTh>Model</MudTh>
|
|
<MudTh Style="text-align: left;">Actions</MudTh>
|
|
</HeaderContent>
|
|
<RowTemplate>
|
|
<MudTd>@context.Num</MudTd>
|
|
<MudTd>@context.InstanceName</MudTd>
|
|
<MudTd>@context.UsedProvider</MudTd>
|
|
<MudTd>
|
|
@if (context.UsedProvider is not Providers.SELF_HOSTED)
|
|
{
|
|
@this.GetProviderModelName(context)
|
|
}
|
|
else if (context.UsedProvider is Providers.SELF_HOSTED && context.Host is not Host.LLAMACPP)
|
|
{
|
|
@this.GetProviderModelName(context)
|
|
}
|
|
else
|
|
{
|
|
@("as selected by provider")
|
|
}
|
|
</MudTd>
|
|
<MudTd Style="text-align: left;">
|
|
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.OpenInBrowser" Class="ma-2" Href="@this.GetProviderDashboardURL(context.UsedProvider)" Target="_blank" Disabled="@(!this.HasDashboard(context.UsedProvider))">
|
|
Open Dashboard
|
|
</MudButton>
|
|
<MudButton Variant="Variant.Filled" Color="Color.Info" StartIcon="@Icons.Material.Filled.Edit" Class="ma-2" OnClick="() => this.EditProvider(context)">
|
|
Edit
|
|
</MudButton>
|
|
<MudButton Variant="Variant.Filled" Color="Color.Error" StartIcon="@Icons.Material.Filled.Delete" Class="ma-2" OnClick="() => this.DeleteProvider(context)">
|
|
Delete
|
|
</MudButton>
|
|
</MudTd>
|
|
</RowTemplate>
|
|
</MudTable>
|
|
|
|
@if(this.SettingsManager.ConfigurationData.Providers.Count == 0)
|
|
{
|
|
<MudText Typo="Typo.h6" Class="mt-3">No providers configured yet.</MudText>
|
|
}
|
|
|
|
<MudButton
|
|
Variant="Variant.Filled" Color="@Color.Primary"
|
|
StartIcon="@Icons.Material.Filled.AddRoad"
|
|
Class="mt-3 mb-6" OnClick="@this.AddProvider">
|
|
Add Provider
|
|
</MudButton>
|
|
|
|
<MudText Typo="Typo.h4" Class="mb-3">Options</MudText>
|
|
<ConfigurationOption OptionDescription="Save energy?" LabelOn="Energy saving is enabled" LabelOff="Energy saving is disabled" State="@(() => this.SettingsManager.ConfigurationData.IsSavingEnergy)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.IsSavingEnergy = updatedState)" OptionHelp="When enabled, streamed content from the AI is updated once every third second. When disabled, streamed content will be updated as soon as it is available."/>
|
|
<ConfigurationOption OptionDescription="Enable spellchecking?" LabelOn="Spellchecking is enabled" LabelOff="Spellchecking is disabled" State="@(() => this.SettingsManager.ConfigurationData.EnableSpellchecking)" StateUpdate="@(updatedState => this.SettingsManager.ConfigurationData.EnableSpellchecking = updatedState)" OptionHelp="When enabled, spellchecking will be active in all input fields. Depending on your operating system, errors may not be visually highlighted, but right-clicking may still offer possible corrections." />
|
|
<ConfigurationSelect OptionDescription="Shortcut to send input" SelectedValue="@(() => this.SettingsManager.ConfigurationData.ShortcutSendBehavior)" Data="@ConfigurationSelectDataFactory.GetSendBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.ShortcutSendBehavior = selectedValue)" OptionHelp="Do you want to use any shortcut to send your input?"/>
|
|
<ConfigurationSelect OptionDescription="Check for updates" SelectedValue="@(() => this.SettingsManager.ConfigurationData.UpdateBehavior)" Data="@ConfigurationSelectDataFactory.GetUpdateBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.UpdateBehavior = selectedValue)" OptionHelp="How often should we check for app updates?"/>
|
|
<ConfigurationSelect OptionDescription="Workspace behavior" SelectedValue="@(() => this.SettingsManager.ConfigurationData.WorkspaceStorageBehavior)" Data="@ConfigurationSelectDataFactory.GetWorkspaceStorageBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.WorkspaceStorageBehavior = selectedValue)" OptionHelp="Should we store your chats?"/>
|
|
<ConfigurationSelect OptionDescription="Workspace maintenance" SelectedValue="@(() => this.SettingsManager.ConfigurationData.WorkspaceStorageTemporaryMaintenancePolicy)" Data="@ConfigurationSelectDataFactory.GetWorkspaceStorageTemporaryMaintenancePolicyData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.WorkspaceStorageTemporaryMaintenancePolicy = selectedValue)" OptionHelp="If and when should we delete your temporary chats?"/>
|
|
<ConfigurationSelect OptionDescription="Navigation bar behavior" SelectedValue="@(() => this.SettingsManager.ConfigurationData.NavigationBehavior)" Data="@ConfigurationSelectDataFactory.GetNavBehaviorData()" SelectionUpdate="@(selectedValue => this.SettingsManager.ConfigurationData.NavigationBehavior = selectedValue)" OptionHelp="Select the desired behavior for the navigation bar."/>
|
|
</MudPaper>
|
|
</InnerScrolling> |