@using AIStudio.Settings.DataModel
@inherits MSGComponentBase

<MudDialog>
    <DialogContent>
        <TextInfoLine Icon="@Icons.Material.Filled.Tag" Label="@T("Data source name")" Value="@this.DataSource.Name" ClipboardTooltipSubject="@T("the data source name")"/>
        <TextInfoLine Icon="@Icons.Material.Filled.FolderOpen" Label="@T("File path")" Value="@this.DataSource.FilePath" ClipboardTooltipSubject="@T("this path")"/>
        @if (!this.IsFileAvailable)
        {
            <MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
                @T("The file chosen for the data source does not exist anymore. Please edit the data source and choose another file or correct the path.")
            </MudJustifiedText>
        }
        else
        {
            <MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
                @T("The file chosen for the data source exists.")
            </MudJustifiedText>
        }

        <TextInfoLine Icon="@Icons.Material.Filled.Layers" Label="@T("Embedding name")" Value="@this.embeddingProvider.Name" ClipboardTooltipSubject="@T("the embedding name")"/>
        @if (this.IsCloudEmbedding)
        {
            <MudJustifiedText Typo="Typo.body1" Color="Color.Error" Class="mb-3">
                @string.Format(T("The embedding runs in the cloud. All your data within the file '{0}' will be sent to the cloud."), this.DataSource.FilePath)
            </MudJustifiedText>
        }
        else
        {
            <MudJustifiedText Typo="Typo.body1" Color="Color.Tertiary" Class="mb-3">
                @T("The embedding runs locally or in your organization. Your data is not sent to the cloud.")
            </MudJustifiedText>
        }

        <TextInfoLines Label="@T("Your security policy")" MaxLines="3" Value="@this.DataSource.SecurityPolicy.ToInfoText()" Color="@this.DataSource.SecurityPolicy.GetColor()" ClipboardTooltipSubject="@T("your security policy")"/>
        <TextInfoLine Label="@T("Maximum matches per query")" Value="@this.DataSource.MaxMatches.ToString()" ClipboardTooltipSubject="@T("the maximum number of matches per query")"/>
        <TextInfoLine Icon="@Icons.Material.Filled.SquareFoot" Label="@T("File size")" Value="@this.FileSize" ClipboardTooltipSubject="@T("the file size")"/>
    </DialogContent>
    <DialogActions>
        <MudButton OnClick="@this.Close" Variant="Variant.Filled">
            @T("Close")
        </MudButton>
    </DialogActions>
</MudDialog>