mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-08-11 19:52:10 +00:00
style: refine layout and improve visual design
This commit is contained in:
parent
f1654889b5
commit
6bd21bc55b
@ -3040,6 +3040,9 @@ UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T2250917004"] = "Some fi
|
|||||||
-- Drag and drop files into the marked area or click here to attach documents:
|
-- Drag and drop files into the marked area or click here to attach documents:
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T230755331"] = "Drag and drop files into the marked area or click here to attach documents:"
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T230755331"] = "Drag and drop files into the marked area or click here to attach documents:"
|
||||||
|
|
||||||
|
-- The file '{0}' could not be checked for prompt injection and was not attached.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T2404630365"] = "The file '{0}' could not be checked for prompt injection and was not attached."
|
||||||
|
|
||||||
-- The media transcription was canceled.
|
-- The media transcription was canceled.
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T241403726"] = "The media transcription was canceled."
|
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T241403726"] = "The media transcription was canceled."
|
||||||
|
|
||||||
@ -5575,27 +5578,15 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINGGUIDELINEDIALOG::T4250996615"] = "P
|
|||||||
-- Chat attachment
|
-- Chat attachment
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1071345316"] = "Chat attachment"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1071345316"] = "Chat attachment"
|
||||||
|
|
||||||
-- The file '{0}' could not be checked for prompt injection and was not attached.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::COMPONENTS::ATTACHDOCUMENTS::T2404630365"] = "The file '{0}' could not be checked for prompt injection and was not attached."
|
|
||||||
|
|
||||||
-- Security warning
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1862129203"] = "Security warning"
|
|
||||||
|
|
||||||
-- AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T3661810823"] = "AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded."
|
|
||||||
|
|
||||||
-- Security active
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T4212328947"] = "Security active"
|
|
||||||
|
|
||||||
-- Security notice
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T4004397997"] = "Security notice"
|
|
||||||
|
|
||||||
-- Content source
|
-- Content source
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1129278507"] = "Content source"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1129278507"] = "Content source"
|
||||||
|
|
||||||
-- Attempt to override instructions
|
-- Attempt to override instructions
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T161976090"] = "Attempt to override instructions"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T161976090"] = "Attempt to override instructions"
|
||||||
|
|
||||||
|
-- Security warning
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T1862129203"] = "Security warning"
|
||||||
|
|
||||||
-- Attempt to expose protected data
|
-- Attempt to expose protected data
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2050274293"] = "Attempt to expose protected data"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2050274293"] = "Attempt to expose protected data"
|
||||||
|
|
||||||
@ -5605,9 +5596,6 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2260642992"] =
|
|||||||
-- Attempt to change the AI's role
|
-- Attempt to change the AI's role
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2340508370"] = "Attempt to change the AI's role"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2340508370"] = "Attempt to change the AI's role"
|
||||||
|
|
||||||
-- AI Studio blocked this content before it reached a model or agent.
|
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2378027194"] = "AI Studio blocked this content before it reached a model or agent."
|
|
||||||
|
|
||||||
-- Hidden instructions using markup
|
-- Hidden instructions using markup
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2526538070"] = "Hidden instructions using markup"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T2526538070"] = "Hidden instructions using markup"
|
||||||
|
|
||||||
@ -5632,6 +5620,9 @@ UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T3448155331"] =
|
|||||||
-- Attempt to manipulate an agent
|
-- Attempt to manipulate an agent
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T355252317"] = "Attempt to manipulate an agent"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T355252317"] = "Attempt to manipulate an agent"
|
||||||
|
|
||||||
|
-- AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded.
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T3661810823"] = "AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded."
|
||||||
|
|
||||||
-- File content
|
-- File content
|
||||||
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T3788064862"] = "File content"
|
UI_TEXT_CONTENT["AISTUDIO::DIALOGS::PROMPTINJECTIONALERTDIALOG::T3788064862"] = "File content"
|
||||||
|
|
||||||
@ -7354,6 +7345,9 @@ UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T2979224202"] = "Writer"
|
|||||||
-- Show details
|
-- Show details
|
||||||
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T3692372066"] = "Show details"
|
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T3692372066"] = "Show details"
|
||||||
|
|
||||||
|
-- Security notice
|
||||||
|
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T4004397997"] = "Security notice"
|
||||||
|
|
||||||
-- Information
|
-- Information
|
||||||
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T4256323669"] = "Information"
|
UI_TEXT_CONTENT["AISTUDIO::LAYOUT::MAINLAYOUT::T4256323669"] = "Information"
|
||||||
|
|
||||||
|
|||||||
@ -7,56 +7,34 @@
|
|||||||
|
|
||||||
@if (Result is not null)
|
@if (Result is not null)
|
||||||
{
|
{
|
||||||
<MudPaper Class="pa-6 mb-4" Elevation="0" Style="background:#fff5f5;border:1px solid #f5d0d0;">
|
<MudPaper Class="pa-6 mb-4" Elevation="0" Style="background:#fff3e0; border:1px solid #ffcc80;">
|
||||||
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="3">
|
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="3">
|
||||||
<MudAvatar Size="Size.Large"
|
<MudAvatar Size="Size.Large"
|
||||||
Color="Color.Error"
|
Color="Color.Warning"
|
||||||
Variant="Variant.Filled">
|
Variant="Variant.Filled">
|
||||||
<MudIcon Icon="@Icons.Material.Filled.GppMaybe"/>
|
<MudIcon Icon="@Icons.Material.Filled.GppMaybe"/>
|
||||||
</MudAvatar>
|
</MudAvatar>
|
||||||
|
|
||||||
<MudStack Spacing="0">
|
<MudStack Spacing="0">
|
||||||
<MudText Typo="Typo.h5">
|
<MudJustifiedText Typo="Typo.h5">
|
||||||
@T("Security warning")
|
@T("Security warning")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body2"
|
<MudJustifiedText Typo="Typo.body2">
|
||||||
Color="Color.Error">
|
@T("AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded.")
|
||||||
@T("AI Studio blocked this content before it reached a model or agent.")
|
</MudJustifiedText>
|
||||||
</MudText>
|
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
|
|
||||||
<MudAlert Severity="Severity.Info" Variant="Variant.Outlined" Class="mt-4">
|
<MudAlert Severity="Severity.Warning" Variant="Variant.Outlined" Class="mt-4" Style="border:1px solid #ffcc80;">
|
||||||
<Content>
|
<Content>
|
||||||
<MudText Typo="Typo.body2">
|
<MudJustifiedText Typo="Typo.body2" Color="Color.Dark">
|
||||||
@T("Typical attacks on AI systems (e.g. prompt injection) hide instructions within untrusted content to trick an AI model into ignoring its intended rules or performing unintended actions.")
|
@T("Typical attacks on AI systems (e.g. prompt injection) hide instructions within untrusted content to trick an AI model into ignoring its intended rules or performing unintended actions.")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
</Content>
|
</Content>
|
||||||
</MudAlert>
|
</MudAlert>
|
||||||
</MudPaper>
|
</MudPaper>
|
||||||
|
|
||||||
<MudPaper Class="pa-6 mb-4" Elevation="0" Style="background:#f0fff0;border:1px solid #90ee90;">
|
|
||||||
<MudStack Row="true" AlignItems="AlignItems.Center" Spacing="3">
|
|
||||||
<MudAvatar Size="Size.Large"
|
|
||||||
Color="Color.Success"
|
|
||||||
Variant="Variant.Filled">
|
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Check"/>
|
|
||||||
</MudAvatar>
|
|
||||||
|
|
||||||
<MudStack Spacing="0">
|
|
||||||
<MudText Typo="Typo.h5">
|
|
||||||
@T("Security active")
|
|
||||||
</MudText>
|
|
||||||
|
|
||||||
<MudText Typo="Typo.body2"
|
|
||||||
Color="Color.Success">
|
|
||||||
@T("AI Studio has reliably detected and blocked the suspicious content. Your applications and data remain protected. Please review the content you uploaded.")
|
|
||||||
</MudText>
|
|
||||||
</MudStack>
|
|
||||||
</MudStack>
|
|
||||||
</MudPaper>
|
|
||||||
|
|
||||||
<MudDivider />
|
<MudDivider />
|
||||||
<MudStack Row="true" Justify="Justify.Center" Class="my-2">
|
<MudStack Row="true" Justify="Justify.Center" Class="my-2">
|
||||||
<MudButton Variant="Variant.Text"
|
<MudButton Variant="Variant.Text"
|
||||||
@ -77,13 +55,13 @@
|
|||||||
<MudStack>
|
<MudStack>
|
||||||
<MudIcon Icon="@Icons.Material.Filled.Source" />
|
<MudIcon Icon="@Icons.Material.Filled.Source" />
|
||||||
|
|
||||||
<MudText Typo="Typo.subtitle2">
|
<MudJustifiedText Typo="Typo.subtitle2">
|
||||||
@T("Source type")
|
@T("Source type")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body2">
|
<MudJustifiedText Typo="Typo.body2">
|
||||||
@this.GetSourceKindLabel(Result.Source.Kind)
|
@this.GetSourceKindLabel(Result.Source.Kind)
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
@ -91,14 +69,14 @@
|
|||||||
<MudStack>
|
<MudStack>
|
||||||
<MudIcon Icon="@Icons.Material.Outlined.Description"/>
|
<MudIcon Icon="@Icons.Material.Outlined.Description"/>
|
||||||
|
|
||||||
<MudText Typo="Typo.subtitle2">
|
<MudJustifiedText Typo="Typo.subtitle2">
|
||||||
@T("Content source")
|
@T("Content source")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body2"
|
<MudJustifiedText Typo="Typo.body2"
|
||||||
Style="word-break:break-all;">
|
Style="word-break:break-all;">
|
||||||
@Result.Source.Label
|
@Result.Source.Label
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
</MudItem>
|
</MudItem>
|
||||||
|
|
||||||
@ -106,22 +84,22 @@
|
|||||||
<MudStack>
|
<MudStack>
|
||||||
<MudIcon Icon="@Icons.Material.Outlined.WarningAmber"/>
|
<MudIcon Icon="@Icons.Material.Outlined.WarningAmber"/>
|
||||||
|
|
||||||
<MudText Typo="Typo.subtitle2">
|
<MudJustifiedText Typo="Typo.subtitle2">
|
||||||
@T("Detected content")
|
@T("Detected content")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
@foreach (var finding in Result.Findings)
|
@foreach (var finding in Result.Findings)
|
||||||
{
|
{
|
||||||
<MudStack Spacing="0">
|
<MudStack Spacing="0">
|
||||||
<MudText Typo="Typo.body2">
|
<MudJustifiedText Typo="Typo.body2">
|
||||||
<b>
|
<b>
|
||||||
@($"{this.GetFindingCategoryLabel(finding.Category)}")
|
@($"{this.GetFindingCategoryLabel(finding.Category)}")
|
||||||
</b>
|
</b>
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
<MudText Typo="Typo.body2" Class="ml-4 mt-1">
|
<MudJustifiedText Typo="Typo.body2" Class="ml-4 mt-1">
|
||||||
@finding.Snippet
|
@finding.Snippet
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
</MudStack>
|
</MudStack>
|
||||||
}
|
}
|
||||||
</MudStack>
|
</MudStack>
|
||||||
@ -132,9 +110,9 @@
|
|||||||
<MudPaper Class="pa-4 mt-2"
|
<MudPaper Class="pa-4 mt-2"
|
||||||
Style="background:#fafafa;">
|
Style="background:#fafafa;">
|
||||||
|
|
||||||
<MudText Typo="Typo.body2" Class="mb-3">
|
<MudJustifiedText Typo="Typo.body2" Class="mb-3">
|
||||||
@T("Prompt injection is a method used to manipulate AI systems such as chatbots. An attacker places misleading instructions in content so that the AI treats them as legitimate. This can cause the AI to ignore safeguards, expose private information, or generate harmful content.")
|
@T("Prompt injection is a method used to manipulate AI systems such as chatbots. An attacker places misleading instructions in content so that the AI treats them as legitimate. This can cause the AI to ignore safeguards, expose private information, or generate harmful content.")
|
||||||
</MudText>
|
</MudJustifiedText>
|
||||||
|
|
||||||
<MudLink Href="@PromptInjectionGuardService.WIKI_URL"
|
<MudLink Href="@PromptInjectionGuardService.WIKI_URL"
|
||||||
Target="_blank">
|
Target="_blank">
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user