mirror of
https://github.com/MindWorkAI/AI-Studio.git
synced 2026-07-16 15:26:28 +00:00
Added enterprise settings to hide the Vision and Last Changelog panels on the home page (#860)
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Some checks are pending
Build and Release / Determine run mode (push) Waiting to run
Build and Release / Read metadata (push) Blocked by required conditions
Build and Release / Sync Flatpak repo (push) Blocked by required conditions
Build and Release / Collect Flatpak artifacts (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-apple-darwin, osx-arm64, macos-latest, aarch64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-pc-windows-msvc.exe, win-arm64, windows-latest, aarch64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-aarch64-unknown-linux-gnu, linux-arm64, ubuntu-22.04-arm, aarch64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-apple-darwin, osx-x64, macos-latest, x86_64-apple-darwin, dmg,app,updater, dmg) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-pc-windows-msvc.exe, win-x64, windows-latest, x86_64-pc-windows-msvc, nsis,updater, nsis) (push) Blocked by required conditions
Build and Release / Build app (${{ matrix.dotnet_runtime }}) (-x86_64-unknown-linux-gnu, linux-x64, ubuntu-22.04, x86_64-unknown-linux-gnu, appimage,updater, appimage) (push) Blocked by required conditions
Build and Release / Prepare & create release (push) Blocked by required conditions
Build and Release / Publish release (push) Blocked by required conditions
Co-authored-by: Thorsten Sommer <SommerEngineering@users.noreply.github.com>
This commit is contained in:
parent
aaf77b6882
commit
8ef6cda901
@ -8,52 +8,66 @@
|
|||||||
</MudText>
|
</MudText>
|
||||||
|
|
||||||
<InnerScrolling>
|
<InnerScrolling>
|
||||||
<MudExpansionPanels @key="@this.expansionPanelsRenderKey" Class="mb-3" MultiExpansion="@false">
|
@if (this.HasVisibleHomePanels)
|
||||||
|
{
|
||||||
|
<MudExpansionPanels @key="@this.expansionPanelsRenderKey" Class="mb-3" MultiExpansion="@false">
|
||||||
|
|
||||||
@if (this.SettingsManager.ConfigurationData.App.ShowIntroduction)
|
@if (this.SettingsManager.ConfigurationData.App.ShowIntroduction)
|
||||||
{
|
{
|
||||||
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.MenuBook" HeaderText="@T("Introduction")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_BUILT_IN_INTRODUCTION)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_BUILT_IN_INTRODUCTION, isExpanded))">
|
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.MenuBook" HeaderText="@T("Introduction")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_BUILT_IN_INTRODUCTION)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_BUILT_IN_INTRODUCTION, isExpanded))">
|
||||||
<MudText Typo="Typo.h5" Class="mb-3">
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
@T("Welcome to MindWork AI Studio!")
|
@T("Welcome to MindWork AI Studio!")
|
||||||
</MudText>
|
</MudText>
|
||||||
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
<MudText Typo="Typo.body1" Class="mb-3" Style="text-align: justify; hyphens: auto;">
|
||||||
@T("Thank you for considering MindWork AI Studio for your AI needs. This app is designed to help you harness the power of Large Language Models (LLMs). Please note that this app doesn't come with an integrated LLM. Instead, you will need to bring an API key from a suitable provider.")
|
@T("Thank you for considering MindWork AI Studio for your AI needs. This app is designed to help you harness the power of Large Language Models (LLMs). Please note that this app doesn't come with an integrated LLM. Instead, you will need to bring an API key from a suitable provider.")
|
||||||
</MudText>
|
</MudText>
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
@T("Here's what makes MindWork AI Studio stand out:")
|
@T("Here's what makes MindWork AI Studio stand out:")
|
||||||
</MudText>
|
</MudText>
|
||||||
<MudTextList Icon="@Icons.Material.Filled.CheckCircle" Clickable="@true" Items="@this.itemsAdvantages" Class="mb-3"/>
|
<MudTextList Icon="@Icons.Material.Filled.CheckCircle" Clickable="@true" Items="@this.itemsAdvantages" Class="mb-3"/>
|
||||||
<MudText Typo="Typo.body1" Class="mb-3">
|
<MudText Typo="Typo.body1" Class="mb-3">
|
||||||
@T("We hope you enjoy using MindWork AI Studio to bring your AI projects to life!")
|
@T("We hope you enjoy using MindWork AI Studio to bring your AI projects to life!")
|
||||||
</MudText>
|
</MudText>
|
||||||
</ExpansionPanel>
|
</ExpansionPanel>
|
||||||
}
|
}
|
||||||
|
|
||||||
@foreach (var introduction in this.introductions)
|
@foreach (var introduction in this.introductions)
|
||||||
{
|
{
|
||||||
<ExpansionPanel @key="@introduction.Id" HeaderIcon="@Icons.Material.Filled.Info" HeaderText="@introduction.Title" IsExpanded="@this.IsPanelExpanded(IntroductionPanelId(introduction))" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(IntroductionPanelId(introduction), isExpanded))">
|
<ExpansionPanel @key="@introduction.Id" HeaderIcon="@Icons.Material.Filled.Info" HeaderText="@introduction.Title" IsExpanded="@this.IsPanelExpanded(IntroductionPanelId(introduction))" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(IntroductionPanelId(introduction), isExpanded))">
|
||||||
<MudText Typo="Typo.body2" Class="mb-3">
|
<MudText Typo="Typo.body2" Class="mb-3">
|
||||||
@T("Version"): @introduction.VersionText
|
@T("Version"): @introduction.VersionText
|
||||||
</MudText>
|
</MudText>
|
||||||
<MudJustifiedMarkdown Value="@introduction.Markdown" />
|
<MudJustifiedMarkdown Value="@introduction.Markdown" />
|
||||||
</ExpansionPanel>
|
</ExpansionPanel>
|
||||||
}
|
}
|
||||||
|
|
||||||
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.EventNote" HeaderText="@T("Last Changelog")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_LAST_CHANGELOG)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_LAST_CHANGELOG, isExpanded))">
|
@if (this.SettingsManager.ConfigurationData.App.ShowLastChangelog)
|
||||||
<MudMarkdown Value="@this.LastChangeContent" Props="Markdown.DefaultConfig" MarkdownPipeline="Markdown.SAFE_MARKDOWN_PIPELINE"/>
|
{
|
||||||
</ExpansionPanel>
|
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.EventNote" HeaderText="@T("Last Changelog")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_LAST_CHANGELOG)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_LAST_CHANGELOG, isExpanded))">
|
||||||
|
<MudMarkdown Value="@this.LastChangeContent" Props="Markdown.DefaultConfig" MarkdownPipeline="Markdown.SAFE_MARKDOWN_PIPELINE"/>
|
||||||
|
</ExpansionPanel>
|
||||||
|
}
|
||||||
|
|
||||||
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Lightbulb" HeaderText="@T("Vision")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_VISION)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_VISION, isExpanded))">
|
@if (this.SettingsManager.ConfigurationData.App.ShowVision)
|
||||||
<Vision/>
|
{
|
||||||
</ExpansionPanel>
|
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.Lightbulb" HeaderText="@T("Vision")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_VISION)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_VISION, isExpanded))">
|
||||||
|
<Vision/>
|
||||||
@if (this.SettingsManager.ConfigurationData.App.ShowQuickStartGuide)
|
</ExpansionPanel>
|
||||||
{
|
}
|
||||||
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.RocketLaunch" HeaderText="@T("Quick Start Guide")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_QUICK_START_GUIDE)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_QUICK_START_GUIDE, isExpanded))">
|
|
||||||
<MudMarkdown Props="Markdown.DefaultConfig" Value="@QUICK_START_GUIDE" MarkdownPipeline="Markdown.SAFE_MARKDOWN_PIPELINE"/>
|
|
||||||
</ExpansionPanel>
|
|
||||||
}
|
|
||||||
|
|
||||||
</MudExpansionPanels>
|
@if (this.SettingsManager.ConfigurationData.App.ShowQuickStartGuide)
|
||||||
|
{
|
||||||
|
<ExpansionPanel HeaderIcon="@Icons.Material.Filled.RocketLaunch" HeaderText="@T("Quick Start Guide")" IsExpanded="@this.IsPanelExpanded(PANEL_ID_QUICK_START_GUIDE)" ExpandedChanged="@(isExpanded => this.SetPanelExpanded(PANEL_ID_QUICK_START_GUIDE, isExpanded))">
|
||||||
|
<MudMarkdown Props="Markdown.DefaultConfig" Value="@QUICK_START_GUIDE" MarkdownPipeline="Markdown.SAFE_MARKDOWN_PIPELINE"/>
|
||||||
|
</ExpansionPanel>
|
||||||
|
}
|
||||||
|
</MudExpansionPanels>
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
<MudText Typo="Typo.h5" Class="mb-3">
|
||||||
|
@T("Welcome to MindWork AI Studio!")
|
||||||
|
</MudText>
|
||||||
|
}
|
||||||
</InnerScrolling>
|
</InnerScrolling>
|
||||||
</div>
|
</div>
|
||||||
@ -29,6 +29,7 @@ public partial class Home : MSGComponentBase
|
|||||||
private const string PANEL_ID_LAST_CHANGELOG = "last-changelog";
|
private const string PANEL_ID_LAST_CHANGELOG = "last-changelog";
|
||||||
private const string PANEL_ID_VISION = "vision";
|
private const string PANEL_ID_VISION = "vision";
|
||||||
private const string PANEL_ID_QUICK_START_GUIDE = "quick-start-guide";
|
private const string PANEL_ID_QUICK_START_GUIDE = "quick-start-guide";
|
||||||
|
|
||||||
#region Overrides of ComponentBase
|
#region Overrides of ComponentBase
|
||||||
|
|
||||||
protected override async Task OnInitializedAsync()
|
protected override async Task OnInitializedAsync()
|
||||||
@ -102,15 +103,32 @@ public partial class Home : MSGComponentBase
|
|||||||
this.introductions = PluginFactory.GetIntroductions().ToList();
|
this.introductions = PluginFactory.GetIntroductions().ToList();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
private bool HasVisibleHomePanels =>
|
||||||
|
this.SettingsManager.ConfigurationData.App.ShowIntroduction ||
|
||||||
|
this.introductions.Count > 0 ||
|
||||||
|
this.SettingsManager.ConfigurationData.App.ShowLastChangelog ||
|
||||||
|
this.SettingsManager.ConfigurationData.App.ShowVision ||
|
||||||
|
this.SettingsManager.ConfigurationData.App.ShowQuickStartGuide;
|
||||||
|
|
||||||
private string GetDefaultExpandedPanelId()
|
private string GetDefaultExpandedPanelId()
|
||||||
{
|
{
|
||||||
if (this.SettingsManager.ConfigurationData.App.ShowIntroduction)
|
if (this.SettingsManager.ConfigurationData.App.ShowIntroduction)
|
||||||
return PANEL_ID_BUILT_IN_INTRODUCTION;
|
return PANEL_ID_BUILT_IN_INTRODUCTION;
|
||||||
|
|
||||||
var firstIntroduction = this.introductions.FirstOrDefault();
|
var firstIntroduction = this.introductions.FirstOrDefault();
|
||||||
return firstIntroduction is not null
|
if (firstIntroduction is not null)
|
||||||
? IntroductionPanelId(firstIntroduction)
|
return IntroductionPanelId(firstIntroduction);
|
||||||
: PANEL_ID_LAST_CHANGELOG;
|
|
||||||
|
if (this.SettingsManager.ConfigurationData.App.ShowLastChangelog)
|
||||||
|
return PANEL_ID_LAST_CHANGELOG;
|
||||||
|
|
||||||
|
if (this.SettingsManager.ConfigurationData.App.ShowVision)
|
||||||
|
return PANEL_ID_VISION;
|
||||||
|
|
||||||
|
if (this.SettingsManager.ConfigurationData.App.ShowQuickStartGuide)
|
||||||
|
return PANEL_ID_QUICK_START_GUIDE;
|
||||||
|
|
||||||
|
return string.Empty;
|
||||||
}
|
}
|
||||||
|
|
||||||
private void EnsureDefaultExpandedPanel()
|
private void EnsureDefaultExpandedPanel()
|
||||||
|
|||||||
@ -226,6 +226,12 @@ CONFIG["SETTINGS"] = {}
|
|||||||
-- Configure whether the built-in introduction is shown on the welcome page.
|
-- Configure whether the built-in introduction is shown on the welcome page.
|
||||||
-- CONFIG["SETTINGS"]["DataApp.ShowIntroduction"] = false
|
-- CONFIG["SETTINGS"]["DataApp.ShowIntroduction"] = false
|
||||||
|
|
||||||
|
-- Configure whether the last changelog is shown on the welcome page.
|
||||||
|
-- CONFIG["SETTINGS"]["DataApp.ShowLastChangelog"] = false
|
||||||
|
|
||||||
|
-- Configure whether the vision panel is shown on the welcome page.
|
||||||
|
-- CONFIG["SETTINGS"]["DataApp.ShowVision"] = false
|
||||||
|
|
||||||
-- Configure the user permission to add providers:
|
-- Configure the user permission to add providers:
|
||||||
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddProvider"] = false
|
-- CONFIG["SETTINGS"]["DataApp.AllowUserToAddProvider"] = false
|
||||||
|
|
||||||
|
|||||||
@ -67,6 +67,16 @@ public sealed class DataApp(Expression<Func<Data, DataApp>>? configSelection = n
|
|||||||
/// </summary>
|
/// </summary>
|
||||||
public bool ShowQuickStartGuide { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowQuickStartGuide, true);
|
public bool ShowQuickStartGuide { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowQuickStartGuide, true);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Should the last changelog be visible on the home page?
|
||||||
|
/// </summary>
|
||||||
|
public bool ShowLastChangelog { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowLastChangelog, true);
|
||||||
|
|
||||||
|
/// <summary>
|
||||||
|
/// Should the vision panel be visible on the home page?
|
||||||
|
/// </summary>
|
||||||
|
public bool ShowVision { get; set; } = ManagedConfiguration.Register(configSelection, n => n.ShowVision, true);
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// The visibility setting for previews features.
|
/// The visibility setting for previews features.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
|
|||||||
@ -169,7 +169,13 @@ public sealed class PluginConfiguration(bool isInternal, LuaState state, PluginT
|
|||||||
|
|
||||||
// Config: show quick start guide on the home page?
|
// Config: show quick start guide on the home page?
|
||||||
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.ShowQuickStartGuide, this.Id, settingsTable, dryRun);
|
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.ShowQuickStartGuide, this.Id, settingsTable, dryRun);
|
||||||
|
|
||||||
|
// Config: show last changelog on the home page?
|
||||||
|
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.ShowLastChangelog, this.Id, settingsTable, dryRun);
|
||||||
|
|
||||||
|
// Config: show vision panel on the home page?
|
||||||
|
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.ShowVision, this.Id, settingsTable, dryRun);
|
||||||
|
|
||||||
// Config: allow the user to add providers?
|
// Config: allow the user to add providers?
|
||||||
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.AllowUserToAddProvider, this.Id, settingsTable, dryRun);
|
ManagedConfiguration.TryProcessConfiguration(x => x.App, x => x.AllowUserToAddProvider, this.Id, settingsTable, dryRun);
|
||||||
|
|
||||||
|
|||||||
@ -249,7 +249,15 @@ public static partial class PluginFactory
|
|||||||
// Check for the quick start guide visibility:
|
// Check for the quick start guide visibility:
|
||||||
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.ShowQuickStartGuide, AVAILABLE_PLUGINS))
|
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.ShowQuickStartGuide, AVAILABLE_PLUGINS))
|
||||||
wasConfigurationChanged = true;
|
wasConfigurationChanged = true;
|
||||||
|
|
||||||
|
// Check for the last changelog visibility:
|
||||||
|
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.ShowLastChangelog, AVAILABLE_PLUGINS))
|
||||||
|
wasConfigurationChanged = true;
|
||||||
|
|
||||||
|
// Check for the vision panel visibility:
|
||||||
|
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.ShowVision, AVAILABLE_PLUGINS))
|
||||||
|
wasConfigurationChanged = true;
|
||||||
|
|
||||||
// Check for users allowed to added providers:
|
// Check for users allowed to added providers:
|
||||||
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.AllowUserToAddProvider, AVAILABLE_PLUGINS))
|
if(ManagedConfiguration.IsConfigurationLeftOver(x => x.App, x => x.AllowUserToAddProvider, AVAILABLE_PLUGINS))
|
||||||
wasConfigurationChanged = true;
|
wasConfigurationChanged = true;
|
||||||
|
|||||||
@ -1,6 +1,7 @@
|
|||||||
# v26.7.3, build 245 (2026-07-xx xx:xx UTC)
|
# v26.7.3, build 245 (2026-07-xx xx:xx UTC)
|
||||||
- Added support for OpenAI GPT-5.6 Sol, Terra, and Luna; Anthropic Claude Fable 5 and Mythos 5; and Google Gemini 3 Flash, Gemini 3.1 Flash-Lite, Gemini 3.1 Pro, and Gemini 3.5 Flash.
|
- Added support for OpenAI GPT-5.6 Sol, Terra, and Luna; Anthropic Claude Fable 5 and Mythos 5; and Google Gemini 3 Flash, Gemini 3.1 Flash-Lite, Gemini 3.1 Pro, and Gemini 3.5 Flash.
|
||||||
- Added audio and video transcription for chats and assistants. AI Studio now prepares supported media locally, sends only normalized audio to the configured transcription provider, and attaches the resulting transcript instead of the original media.
|
- Added audio and video transcription for chats and assistants. AI Studio now prepares supported media locally, sends only normalized audio to the configured transcription provider, and attaches the resulting transcript instead of the original media.
|
||||||
|
- Added enterprise configuration options to hide the last changelog and vision panels on the welcome page. Thanks, Dominic Neuburg (`donework`), for the contribution.
|
||||||
- Improved the "My Tasks Assistant": you can now provide one or more documents in addition to text or use documents alone when asking to identify tasks.
|
- Improved the "My Tasks Assistant": you can now provide one or more documents in addition to text or use documents alone when asking to identify tasks.
|
||||||
- Improved update guidance for Flatpak installations and added an enterprise option that lets organizations manage updates entirely through their IT department.
|
- Improved update guidance for Flatpak installations and added an enterprise option that lets organizations manage updates entirely through their IT department.
|
||||||
- Fixed an issue that could leave AI Studio unresponsive after waking the computer from sleep. Yes, we know this was an annoying bug, and we apologize for the inconvenience.
|
- Fixed an issue that could leave AI Studio unresponsive after waking the computer from sleep. Yes, we know this was an annoying bug, and we apologize for the inconvenience.
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user