AI-Studio/app/MindWork AI Studio/Components/AssistantBlock.razor.cs

44 lines
1.4 KiB
C#
Raw Normal View History

2024-07-14 19:46:17 +00:00
using Microsoft.AspNetCore.Components;
using DialogOptions = AIStudio.Dialogs.DialogOptions;
2024-08-21 06:30:01 +00:00
namespace AIStudio.Components;
2024-07-14 19:46:17 +00:00
2025-04-27 07:06:05 +00:00
public partial class AssistantBlock<TSettings> : MSGComponentBase where TSettings : IComponent
2024-07-14 19:46:17 +00:00
{
[Parameter]
public string Name { get; set; } = string.Empty;
[Parameter]
public string Description { get; set; } = string.Empty;
[Parameter]
public string Icon { get; set; } = Icons.Material.Filled.DisabledByDefault;
[Parameter]
public string ButtonText { get; set; } = "Start";
[Parameter]
public string Link { get; set; } = string.Empty;
[Inject]
private MudTheme ColorTheme { get; init; } = null!;
[Inject]
private IDialogService DialogService { get; init; } = null!;
private async Task OpenSettingsDialog()
{
var dialogParameters = new DialogParameters();
2025-04-27 07:06:05 +00:00
await this.DialogService.ShowAsync<TSettings>(T("Open Settings"), dialogParameters, DialogOptions.FULLSCREEN);
}
private string BorderColor => this.SettingsManager.IsDarkMode switch
{
true => this.ColorTheme.GetCurrentPalette(this.SettingsManager).GrayLight,
false => this.ColorTheme.GetCurrentPalette(this.SettingsManager).Primary.Value,
};
private string BlockStyle => $"border-width: 2px; border-color: {this.BorderColor}; border-radius: 12px; border-style: solid; max-width: 20em;";
2024-07-14 19:46:17 +00:00
}