@attribute [Route(Routes.SETTINGS)]
@using AIStudio.Components.Settings
@using AIStudio.Settings.DataModel

<div class="inner-scrolling-context">
    <MudText Typo="Typo.h3" Class="mb-12">Settings</MudText>

    <InnerScrolling>
        <MudExpansionPanels Class="mb-3" MultiExpansion="@false">
            <SettingsPanelProviders @bind-AvailableLLMProviders="@this.availableLLMProviders"/>

            @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
            {
                <SettingsPanelEmbeddings AvailableLLMProvidersFunc="() => this.availableLLMProviders" @bind-AvailableEmbeddingProviders="@this.availableEmbeddingProviders"/>
            }
            
            <SettingsPanelProfiles AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
            <SettingsPanelApp AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
            <SettingsPanelChat AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
            <SettingsPanelWorkspaces AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>

            @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
            {
                <SettingsPanelAgentDataSourceSelection AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
                <SettingsPanelAgentRetrievalContextValidation AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
            }

            <SettingsPanelAgentContentCleaner AvailableLLMProvidersFunc="() => this.availableLLMProviders"/>
        </MudExpansionPanels>
    </InnerScrolling>
</div>