mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-11-13 13:07:21 +00:00
Changed all icons of AI Studio to Lucide (#1187)
This commit is contained in:
1 parent
9a676101f7
commit
7ef26cd5c8
352 files changed
+6261
-1620
No files matched your search
@@ -14,7 +14,7 @@
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center" Class="mb-3 mr-3" StretchItems="StretchItems.Start">
|
||||
<MudText Typo="Typo.h3">@T("Visual Briefings")</MudText>
|
||||
<MudSpacer/>
|
||||
<MudIconButton Variant="Variant.Text" Icon="@Icons.Material.Filled.Settings" OnClick="@this.OpenSettingsDialogAsync"/>
|
||||
<MudIconButton Variant="Variant.Text" Icon="@AppIcons.SETTINGS" OnClick="@this.OpenSettingsDialogAsync"/>
|
||||
</MudStack>
|
||||
|
||||
<InnerScrolling>
|
||||
@@ -25,7 +25,7 @@
|
||||
SelectedValueChanged="@this.SelectBriefingAsync">
|
||||
@foreach (var project in this.projects)
|
||||
{
|
||||
<MudListItem T="Guid" @key="project.BriefingId" Value="@project.BriefingId" Icon="@(project.IsAvailable ? Icons.Material.Filled.Dashboard : Icons.Material.Filled.WarningAmber)">
|
||||
<MudListItem T="Guid" @key="project.BriefingId" Value="@project.BriefingId" Icon="@(project.IsAvailable ? AppIcons.ASSISTANT_VISUAL_BRIEFING : AppIcons.WARNING)">
|
||||
<MudStack Spacing="0">
|
||||
<MudText Typo="Typo.body1">@this.ProjectDisplayName(project)</MudText>
|
||||
<MudText Typo="Typo.caption">@project.ModifiedAtUtc.ToLocalTime().ToString("g")</MudText>
|
||||
@@ -47,8 +47,8 @@
|
||||
</MudList>
|
||||
|
||||
<MudStack Row="true" Spacing="1" Class="mt-1" Wrap="Wrap.Wrap">
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@Icons.Material.Filled.Add" OnClick="@this.CreateBriefingAsync">@T("New briefing")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.FileUpload" OnClick="@this.ImportAsync">@T("Import")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" Color="Color.Primary" StartIcon="@AppIcons.ADD" OnClick="@this.CreateBriefingAsync">@T("New briefing")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.IMPORT" OnClick="@this.ImportAsync">@T("Import")</MudButton>
|
||||
</MudStack>
|
||||
|
||||
<MudDivider Style="height: 0.25ch; margin: 1rem 0;" Class="mt-6"/>
|
||||
@@ -72,8 +72,8 @@
|
||||
<MudLink Href="https://github.com/MindWorkAI/AI-Studio" Target="_blank">@T("Report a problem?")</MudLink>
|
||||
</MudText>
|
||||
<MudStack Row="true" Spacing="1" Wrap="Wrap.Wrap">
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.FolderOpen" OnClick="@this.OpenSelectedProjectDirectoryAsync">@T("Open project folder")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.DeleteForever" Color="Color.Error" OnClick="@this.DeleteAsync">@T("Delete")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.FOLDER_OPEN" OnClick="@this.OpenSelectedProjectDirectoryAsync">@T("Open project folder")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.DELETE" Color="Color.Error" OnClick="@this.DeleteAsync">@T("Delete")</MudButton>
|
||||
</MudStack>
|
||||
</MudStack>
|
||||
</MudPaper>
|
||||
@@ -90,8 +90,8 @@
|
||||
<MudStack Row="true" Justify="Justify.SpaceBetween" AlignItems="AlignItems.Center" Wrap="Wrap.Wrap" Class="mb-3">
|
||||
<MudText Typo="Typo.h4">@this.editor.Name</MudText>
|
||||
<MudStack Row="true" Spacing="1">
|
||||
<MudButton StartIcon="@Icons.Material.Filled.DriveFileRenameOutline" OnClick="@this.RenameAsync" Disabled="@this.IsCurrentBusy">@T("Rename")</MudButton>
|
||||
<MudButton StartIcon="@Icons.Material.Filled.DeleteForever" Color="Color.Error" OnClick="@this.DeleteAsync" Disabled="@this.IsCurrentBusy">@T("Delete")</MudButton>
|
||||
<MudButton StartIcon="@AppIcons.RENAME" OnClick="@this.RenameAsync" Disabled="@this.IsCurrentBusy">@T("Rename")</MudButton>
|
||||
<MudButton StartIcon="@AppIcons.DELETE" Color="Color.Error" OnClick="@this.DeleteAsync" Disabled="@this.IsCurrentBusy">@T("Delete")</MudButton>
|
||||
</MudStack>
|
||||
</MudStack>
|
||||
|
||||
@@ -109,7 +109,7 @@
|
||||
<EnumSelection T="VisualBriefingProtectionLevel"
|
||||
NameFunc="@this.ProtectionLevelName"
|
||||
@bind-Value="@this.editor.ProtectionLevel"
|
||||
Icon="@Icons.Material.Filled.Security"
|
||||
Icon="@AppIcons.PROTECTION_LEVEL"
|
||||
Label="@T("Protection level")"
|
||||
AllowOther="true"
|
||||
OtherValue="VisualBriefingProtectionLevel.OTHER"
|
||||
@@ -156,7 +156,7 @@
|
||||
<MudPaper Outlined="true" Class="pa-4 mb-4">
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center" Justify="Justify.SpaceBetween" Class="mb-2">
|
||||
<MudText Typo="Typo.h5">@T("Linked sources")</MudText>
|
||||
<MudButton StartIcon="@Icons.Material.Filled.Refresh" OnClick="@this.RefreshSourceStatusAsync" Disabled="@this.IsCurrentBusy">@T("Refresh status")</MudButton>
|
||||
<MudButton StartIcon="@AppIcons.REFRESH" OnClick="@this.RefreshSourceStatusAsync" Disabled="@this.IsCurrentBusy">@T("Refresh status")</MudButton>
|
||||
</MudStack>
|
||||
<MudTable Items="@this.selectedBriefing.Sources" Dense="true" Hover="true" Breakpoint="Breakpoint.Sm">
|
||||
<HeaderContent>
|
||||
@@ -173,16 +173,16 @@
|
||||
</MudTd>
|
||||
<MudTd DataLabel="@T("Actions")">
|
||||
<MudTooltip Text="@T("Relink")" Placement="Placement.Bottom">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.Link" OnClick="@(() => this.RelinkAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
<MudIconButton Icon="@AppIcons.RELINK" OnClick="@(() => this.RelinkAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
</MudTooltip>
|
||||
@if (context.IsMedia && context.Status is VisualBriefingSourceStatus.TRANSCRIPT_OUTDATED)
|
||||
{
|
||||
<MudTooltip Text="@T("Transcribe again")" Placement="Placement.Bottom">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.RecordVoiceOver" OnClick="@(() => this.RetranscribeAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
<MudIconButton Icon="@AppIcons.RETRANSCRIBE" OnClick="@(() => this.RetranscribeAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
</MudTooltip>
|
||||
}
|
||||
<MudTooltip Text="@T("Remove")" Placement="Placement.Bottom">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.RemoveCircle" Color="Color.Error" OnClick="@(() => this.RemoveSourceAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
<MudIconButton Icon="@AppIcons.REMOVE" Color="Color.Error" OnClick="@(() => this.RemoveSourceAsync(context))" Disabled="@this.IsCurrentBusy"/>
|
||||
</MudTooltip>
|
||||
</MudTd>
|
||||
</RowTemplate>
|
||||
@@ -215,7 +215,7 @@
|
||||
</MudStack>
|
||||
|
||||
<ProfileFormSelection @bind-Profile="@this.editor.Profile" Disabled="@this.IsCurrentBusy"/>
|
||||
<EnumSelection T="CommonLanguages" NameFunc="@(language => language.Name)" @bind-Value="@this.editor.TargetLanguage" Icon="@Icons.Material.Filled.Translate" Label="@T("Target language")" AllowOther="true" @bind-OtherInput="@this.editor.CustomTargetLanguage" OtherValue="CommonLanguages.OTHER" LabelOther="@T("Custom target language")" ValidateOther="@this.ValidateCustomTargetLanguage" SelectionUpdated="@(_ => this.ScheduleFormValidation())" Disabled="@this.IsCurrentBusy"/>
|
||||
<EnumSelection T="CommonLanguages" NameFunc="@(language => language.Name)" @bind-Value="@this.editor.TargetLanguage" Icon="@AppIcons.LANGUAGE" Label="@T("Target language")" AllowOther="true" @bind-OtherInput="@this.editor.CustomTargetLanguage" OtherValue="CommonLanguages.OTHER" LabelOther="@T("Custom target language")" ValidateOther="@this.ValidateCustomTargetLanguage" SelectionUpdated="@(_ => this.ScheduleFormValidation())" Disabled="@this.IsCurrentBusy"/>
|
||||
<EnumSelection T="AudienceProfile" NameFunc="@(value => value.Name)" @bind-Value="@this.editor.AudienceProfile" Label="@T("Audience profile")" Disabled="@this.IsCurrentBusy"/>
|
||||
<EnumSelection T="AudienceAgeGroup" NameFunc="@(value => value.Name)" @bind-Value="@this.editor.AudienceAgeGroup" Label="@T("Audience age group")" Disabled="@this.IsCurrentBusy"/>
|
||||
<EnumSelection T="AudienceOrganizationalLevel" NameFunc="@(value => value.Name)" @bind-Value="@this.editor.AudienceOrganizationalLevel" Label="@T("Audience organizational level")" Disabled="@this.IsCurrentBusy"/>
|
||||
@@ -227,30 +227,30 @@
|
||||
<MudStack Row="true" Spacing="2" Wrap="Wrap.Wrap" Class="mb-4">
|
||||
@if (this.selectedBriefing.Versions.Count == 0)
|
||||
{
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.AutoAwesome" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.INITIAL))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.INITIAL)" Style="@this.ConfidenceBorderStyle">@T("Create briefing")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.GENERATE" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.INITIAL))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.INITIAL)" Style="@this.ConfidenceBorderStyle">@T("Create briefing")</MudButton>
|
||||
}
|
||||
else
|
||||
{
|
||||
<MudTooltip Text="@T("Creates a new version with a different design while keeping the current structure, content, and visual assets.")">
|
||||
<span>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.Palette" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.CHANGE_DESIGN))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.CHANGE_DESIGN)" Style="@this.ConfidenceBorderStyle">@T("Change design")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.REDESIGN" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.CHANGE_DESIGN))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.CHANGE_DESIGN)" Style="@this.ConfidenceBorderStyle">@T("Change design")</MudButton>
|
||||
</span>
|
||||
</MudTooltip>
|
||||
<MudTooltip Text="@T("Creates a new version from the current sources and instructions while keeping the current structure and design.")">
|
||||
<span>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.Update" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.UPDATE_CONTENT))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.UPDATE_CONTENT)" Style="@this.ConfidenceBorderStyle">@T("Update content")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.UPDATE_CONTENT" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.UPDATE_CONTENT))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.UPDATE_CONTENT)" Style="@this.ConfidenceBorderStyle">@T("Update content")</MudButton>
|
||||
</span>
|
||||
</MudTooltip>
|
||||
<MudTooltip Text="@T("Creates a new version from the current sources and instructions. The structure, content, and design may all change.")">
|
||||
<span>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.AutoAwesome" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.REBUILD))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.REBUILD)" Style="@this.ConfidenceBorderStyle">@T("Rebuild briefing")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.GENERATE" OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.REBUILD))" Disabled="@this.CannotGenerate(VisualBriefingEditMode.REBUILD)" Style="@this.ConfidenceBorderStyle">@T("Rebuild briefing")</MudButton>
|
||||
</span>
|
||||
</MudTooltip>
|
||||
<MudTooltip Text="@(this.SelectedVersionSupportsEdits
|
||||
? T("Recompile this version with the current AI Studio version without AI model calls.")
|
||||
: T("This version has no compatible semantic artifacts. Rebuild the briefing instead."))">
|
||||
<span>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@Icons.Material.Filled.Code" OnClick="@(() => this.RecompileAsync())" Disabled="@this.CannotRecompile">@T("Recompile briefing")</MudButton>
|
||||
<MudButton Variant="Variant.Filled" StartIcon="@AppIcons.RECOMPILE" OnClick="@(() => this.RecompileAsync())" Disabled="@this.CannotRecompile">@T("Recompile briefing")</MudButton>
|
||||
</span>
|
||||
</MudTooltip>
|
||||
}
|
||||
@@ -258,7 +258,7 @@
|
||||
{
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Error"
|
||||
StartIcon="@Icons.Material.Filled.Stop"
|
||||
StartIcon="@AppIcons.STOP"
|
||||
OnClick="@this.CancelCurrentBuildAsync"
|
||||
Disabled="@this.IsCurrentBuildCanceling">
|
||||
@(this.IsCurrentBuildCanceling ? T("Stopping build...") : T("Stop build"))
|
||||
@@ -281,7 +281,7 @@
|
||||
<MudText>@T("The updated content no longer fits the current presentation. You can continue as a rebuild without another content model call.")</MudText>
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Warning"
|
||||
StartIcon="@Icons.Material.Filled.Refresh"
|
||||
StartIcon="@AppIcons.REGENERATE"
|
||||
OnClick="@(() => this.GenerateAsync(VisualBriefingEditMode.REBUILD, reusableBuildId))"
|
||||
Disabled="@this.CannotGenerate(VisualBriefingEditMode.REBUILD)">
|
||||
@T("Continue as rebuild")
|
||||
@@ -293,7 +293,7 @@
|
||||
@if (this.lastBuildDiagnostics is not null)
|
||||
{
|
||||
<MudButton Variant="Variant.Text"
|
||||
StartIcon="@Icons.Material.Filled.ContentCopy"
|
||||
StartIcon="@AppIcons.COPY"
|
||||
OnClick="@this.CopyTechnicalDetailsAsync"
|
||||
Class="mb-4">
|
||||
@T("Copy technical details")
|
||||
@@ -305,23 +305,23 @@
|
||||
<MudPaper Outlined="true" Class="pa-3">
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center" Justify="Justify.SpaceBetween" Wrap="Wrap.Wrap" Class="mb-3">
|
||||
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="1">
|
||||
<MudIconButton Icon="@Icons.Material.Filled.ArrowBack" OnClick="@this.PreviousVersionAsync" Disabled="@(!this.CanGoBackward)"/>
|
||||
<MudIconButton Icon="@AppIcons.PREVIOUS" OnClick="@this.PreviousVersionAsync" Disabled="@(!this.CanGoBackward)"/>
|
||||
<MudSelect T="Guid" Value="@this.selectedRevisionId" ValueChanged="@this.SelectRevisionAsync" Label="@T("Version")" Dense="true">
|
||||
@foreach (var version in this.selectedBriefing.Versions.OrderByDescending(version => version.VersionNumber))
|
||||
{
|
||||
<MudSelectItem Value="@version.RevisionId">@($"v{version.VersionNumber} · {version.EditMode} · {version.CreatedAtUtc.ToLocalTime():g}")</MudSelectItem>
|
||||
}
|
||||
</MudSelect>
|
||||
<MudIconButton Icon="@Icons.Material.Filled.ArrowForward" OnClick="@this.NextVersionAsync" Disabled="@(!this.CanGoForward)"/>
|
||||
<MudIconButton Icon="@AppIcons.NEXT" OnClick="@this.NextVersionAsync" Disabled="@(!this.CanGoForward)"/>
|
||||
</MudStack>
|
||||
<MudStack Row="true" Spacing="1">
|
||||
<MudToggleGroup T="VisualBriefingPreviewDevice" @bind-Value="@this.previewDevice" SelectionMode="SelectionMode.SingleSelection" Color="Color.Primary">
|
||||
@* MudToggleItem has no Icon parameter; the icon has to be set for both states. *@
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.DESKTOP" SelectedIcon="@Icons.Material.Filled.DesktopWindows" UnselectedIcon="@Icons.Material.Filled.DesktopWindows"/>
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.TABLET" SelectedIcon="@Icons.Material.Filled.Tablet" UnselectedIcon="@Icons.Material.Filled.Tablet"/>
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.MOBILE" SelectedIcon="@Icons.Material.Filled.PhoneIphone" UnselectedIcon="@Icons.Material.Filled.PhoneIphone"/>
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.DESKTOP" SelectedIcon="@AppIcons.DEVICE_DESKTOP" UnselectedIcon="@AppIcons.DEVICE_DESKTOP"/>
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.TABLET" SelectedIcon="@AppIcons.PREVIEW_DEVICE_TABLET" UnselectedIcon="@AppIcons.PREVIEW_DEVICE_TABLET"/>
|
||||
<MudToggleItem Value="@VisualBriefingPreviewDevice.MOBILE" SelectedIcon="@AppIcons.DEVICE_MOBILE" UnselectedIcon="@AppIcons.DEVICE_MOBILE"/>
|
||||
</MudToggleGroup>
|
||||
<MudButton StartIcon="@Icons.Material.Filled.SaveAlt" OnClick="@this.ExportAsync">@T("Export")</MudButton>
|
||||
<MudButton StartIcon="@AppIcons.EXPORT" OnClick="@this.ExportAsync">@T("Export")</MudButton>
|
||||
</MudStack>
|
||||
</MudStack>
|
||||
<div class="@this.PreviewContainerClass">
|
||||
|
||||
+3
-3
@@ -105,7 +105,7 @@ public partial class VisualBriefingAssistant
|
||||
// derived from the stable enums in the current language instead:
|
||||
terminalIssue = VisualBriefingFailureExtensions.ToUserMessage(result.FailureCode, result.Diagnostics.ValidationRule);
|
||||
if (terminalStatus is not AssistantSessionStatus.CANCELED)
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.AutoAwesome, terminalIssue));
|
||||
await this.MessageBus.SendError(new(AppIcons.GENERATE, terminalIssue));
|
||||
|
||||
return;
|
||||
}
|
||||
@@ -123,7 +123,7 @@ public partial class VisualBriefingAssistant
|
||||
this.UpdateProject(latest);
|
||||
}
|
||||
|
||||
await this.MessageBus.SendSuccess(new(Icons.Material.Filled.AutoAwesome, successMessage));
|
||||
await this.MessageBus.SendSuccess(new(AppIcons.GENERATE, successMessage));
|
||||
terminalStatus = AssistantSessionStatus.COMPLETED;
|
||||
}
|
||||
catch (OperationCanceledException)
|
||||
@@ -135,7 +135,7 @@ public partial class VisualBriefingAssistant
|
||||
{
|
||||
terminalIssue = unexpectedFailureMessage;
|
||||
this.Logger.LogError("Unexpected visual briefing UI failure. BriefingId={BriefingId} Mode={Mode} ExceptionType={ExceptionType}", briefingId, mode, exception.GetType().Name);
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.AutoAwesome, terminalIssue));
|
||||
await this.MessageBus.SendError(new(AppIcons.GENERATE, terminalIssue));
|
||||
}
|
||||
finally
|
||||
{
|
||||
|
||||
+4
-4
@@ -166,7 +166,7 @@ public partial class VisualBriefingAssistant
|
||||
var path = await this.Store.GetProjectDirectoryPathAsync(this.selectedProject.BriefingId);
|
||||
if (string.IsNullOrWhiteSpace(path))
|
||||
{
|
||||
await this.MessageBus.SendWarning(new(Icons.Material.Filled.Folder, T("The visual briefing project folder is not available.")));
|
||||
await this.MessageBus.SendWarning(new(AppIcons.FOLDER_OPEN, T("The visual briefing project folder is not available.")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -178,18 +178,18 @@ public partial class VisualBriefingAssistant
|
||||
catch (Exception exception)
|
||||
{
|
||||
this.Logger.LogWarning(exception, "Could not open the visual briefing project folder. BriefingId={BriefingId}", this.selectedProject.BriefingId);
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.Folder, T("Could not open the visual briefing project folder.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.FOLDER_OPEN, T("Could not open the visual briefing project folder.")));
|
||||
return;
|
||||
}
|
||||
|
||||
if (response.Success)
|
||||
{
|
||||
await this.MessageBus.SendSuccess(new(Icons.Material.Filled.Folder, T("Opened the visual briefing project folder.")));
|
||||
await this.MessageBus.SendSuccess(new(AppIcons.FOLDER_OPEN, T("Opened the visual briefing project folder.")));
|
||||
return;
|
||||
}
|
||||
|
||||
var issue = string.IsNullOrWhiteSpace(response.Issue) ? T("Unknown error") : response.Issue;
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.Folder, string.Format(T("Could not open the visual briefing project folder: {0}"), issue)));
|
||||
await this.MessageBus.SendError(new(AppIcons.FOLDER_OPEN, string.Format(T("Could not open the visual briefing project folder: {0}"), issue)));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
+5
-5
@@ -36,7 +36,7 @@ public partial class VisualBriefingAssistant
|
||||
{
|
||||
this.editor.SourceMaterial.ExceptWith(displaced);
|
||||
await this.MessageBus.SendWarning(new(
|
||||
Icons.Material.Filled.Warning,
|
||||
AppIcons.WARNING,
|
||||
string.Format(
|
||||
T("These files are already attached as visual assets and were removed from the source material: {0}"),
|
||||
string.Join(", ", displaced.Select(attachment => Path.GetFileName(attachment.FilePath))))));
|
||||
@@ -188,16 +188,16 @@ public partial class VisualBriefingAssistant
|
||||
return;
|
||||
|
||||
if (outcome.Failures.Count > 0)
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.VoiceChat, string.Join(Environment.NewLine, outcome.Failures.Select(failure => $"{failure.FileName}: {failure.UserMessage}"))));
|
||||
await this.MessageBus.SendError(new(AppIcons.VOICE_TRANSCRIPTION, string.Join(Environment.NewLine, outcome.Failures.Select(failure => $"{failure.FileName}: {failure.UserMessage}"))));
|
||||
|
||||
else if (outcome.Status is MediaImportStatus.FAILED)
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.VoiceChat, T("The media file could not be transcribed.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.VOICE_TRANSCRIPTION, T("The media file could not be transcribed.")));
|
||||
|
||||
if (outcome.Warnings.Count > 0)
|
||||
await this.MessageBus.SendWarning(new(Icons.Material.Filled.VoiceChat, string.Join(Environment.NewLine, outcome.Warnings.Select(warning => $"{warning.FileName}: {warning.UserMessage}"))));
|
||||
await this.MessageBus.SendWarning(new(AppIcons.VOICE_TRANSCRIPTION, string.Join(Environment.NewLine, outcome.Warnings.Select(warning => $"{warning.FileName}: {warning.UserMessage}"))));
|
||||
|
||||
if (outcome.Status is MediaImportStatus.CANCELLED)
|
||||
await this.MessageBus.SendWarning(new(Icons.Material.Filled.VoiceChat, T("The media transcription was canceled.")));
|
||||
await this.MessageBus.SendWarning(new(AppIcons.VOICE_TRANSCRIPTION, T("The media transcription was canceled.")));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
+7
-7
@@ -118,14 +118,14 @@ public partial class VisualBriefingAssistant
|
||||
|
||||
if (PathComparer().Equals(Path.GetFullPath(sourcePath), Path.GetFullPath(response.SaveFilePath)))
|
||||
{
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.SaveAs, T("Choose a different export location so the immutable briefing version is not overwritten.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.SAVE_FAILED, T("Choose a different export location so the immutable briefing version is not overwritten.")));
|
||||
return;
|
||||
}
|
||||
|
||||
var verified = await this.Store.OpenIntegrityCheckedVersionAsync(this.selectedBriefing.BriefingId, this.selectedRevisionId);
|
||||
if (verified is null)
|
||||
{
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.GppBad, T("The selected briefing version failed its integrity check and cannot be exported.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.SECURITY_BLOCKED, T("The selected briefing version failed its integrity check and cannot be exported.")));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -152,7 +152,7 @@ public partial class VisualBriefingAssistant
|
||||
exportedVersion.DocumentHash,
|
||||
source.Length);
|
||||
|
||||
await feedback.SucceededAsync(Icons.Material.Filled.FileDownload, T("The visual briefing was exported."), response.SaveFilePath, true);
|
||||
await feedback.SucceededAsync(AppIcons.EXPORT, T("The visual briefing was exported."), response.SaveFilePath, true);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
@@ -176,7 +176,7 @@ public partial class VisualBriefingAssistant
|
||||
catch (Exception e)
|
||||
{
|
||||
this.Logger.LogError(e, "The visual briefing could not be exported, because the file '{FilePath}' cannot be opened for writing.", targetPath);
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.FileDownload, T("The visual briefing could not be exported. Please check that the target file is not open in another program.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.EXPORT, T("The visual briefing could not be exported. Please check that the target file is not open in another program.")));
|
||||
return false;
|
||||
}
|
||||
|
||||
@@ -199,7 +199,7 @@ public partial class VisualBriefingAssistant
|
||||
this.Logger.LogWarning(deleteFailure, "The incomplete export '{FilePath}' cannot be deleted.", targetPath);
|
||||
}
|
||||
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.FileDownload, T("The visual briefing could not be written completely.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.EXPORT, T("The visual briefing could not be written completely.")));
|
||||
return false;
|
||||
}
|
||||
}
|
||||
@@ -231,7 +231,7 @@ public partial class VisualBriefingAssistant
|
||||
|
||||
if (!imported.Success)
|
||||
{
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.FileUpload, imported.Issue));
|
||||
await this.MessageBus.SendError(new(AppIcons.IMPORT, imported.Issue));
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -245,7 +245,7 @@ public partial class VisualBriefingAssistant
|
||||
imported.RevisionId,
|
||||
imported.WasDeduplicated);
|
||||
|
||||
await this.MessageBus.SendSuccess(new(Icons.Material.Filled.FileUpload, imported.WasDeduplicated ? T("This briefing revision was already imported.") : T("The visual briefing was imported.")));
|
||||
await this.MessageBus.SendSuccess(new(AppIcons.IMPORT, imported.WasDeduplicated ? T("This briefing revision was already imported.") : T("The visual briefing was imported.")));
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
|
||||
@@ -225,7 +225,7 @@ public partial class VisualBriefingAssistant : MSGComponentBase
|
||||
"Could not auto-save visual briefing. BriefingId={BriefingId} ExceptionType={ExceptionType}",
|
||||
this.selectedBriefing.BriefingId,
|
||||
exception.GetType().Name);
|
||||
await this.MessageBus.SendError(new(Icons.Material.Filled.SaveAs, T("The visual briefing settings could not be saved.")));
|
||||
await this.MessageBus.SendError(new(AppIcons.SAVE_FAILED, T("The visual briefing settings could not be saved.")));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -26,7 +26,7 @@
|
||||
{
|
||||
<MudButton Variant="Variant.Filled"
|
||||
Color="Color.Primary"
|
||||
StartIcon="@Icons.Material.Filled.PlayArrow"
|
||||
StartIcon="@AppIcons.RESUME"
|
||||
Disabled="@this.Disabled"
|
||||
OnClick="@this.OnResume">
|
||||
@T("Resume build")
|
||||
|
||||
Reference in new issue
Block a user