+
@this.FooterContent
}
diff --git a/app/MindWork AI Studio/Components/InnerScrolling.razor.cs b/app/MindWork AI Studio/Components/InnerScrolling.razor.cs
index 126317c..3b483c4 100644
--- a/app/MindWork AI Studio/Components/InnerScrolling.razor.cs
+++ b/app/MindWork AI Studio/Components/InnerScrolling.razor.cs
@@ -9,14 +9,6 @@ public partial class InnerScrolling : MSGComponentBase
[Parameter]
public bool FillEntireHorizontalSpace { get; set; }
- ///
- /// Set the height of anything above the scrolling content; usually a header.
- /// What we do is calc(100vh - HeaderHeight). Means, you can use multiple measures like
- /// 230px - 3em. Default is 3em.
- ///
- [Parameter]
- public string HeaderHeight { get; set; } = "3em";
-
[Parameter]
public RenderFragment? HeaderContent { get; set; }
@@ -34,6 +26,9 @@ public partial class InnerScrolling : MSGComponentBase
[Parameter]
public string? MinWidth { get; set; }
+
+ [Parameter]
+ public string Style { get; set; } = string.Empty;
[CascadingParameter]
private MainLayout MainLayout { get; set; } = null!;
@@ -74,12 +69,14 @@ public partial class InnerScrolling : MSGComponentBase
#endregion
- private string MinWidthStyle => string.IsNullOrWhiteSpace(this.MinWidth) ? string.Empty : $"min-width: {this.MinWidth};";
+ private string MinWidthStyle => string.IsNullOrWhiteSpace(this.MinWidth) ? string.Empty : $"min-width: {this.MinWidth}; ";
+
+ private string TerminatedStyles => string.IsNullOrWhiteSpace(this.Style) ? string.Empty : $"{this.Style}; ";
- private string Styles => this.FillEntireHorizontalSpace ? $"height: calc(100vh - {this.HeaderHeight} - {this.MainLayout.AdditionalHeight}); overflow-x: auto; min-width: 0; {this.MinWidthStyle}" : $"height: calc(100vh - {this.HeaderHeight} - {this.MainLayout.AdditionalHeight}); flex-shrink: 0; {this.MinWidthStyle}";
-
private string Classes => this.FillEntireHorizontalSpace ? $"{this.Class} d-flex flex-column flex-grow-1" : $"{this.Class} d-flex flex-column";
+ private string Styles => $"flex-grow: 1; overflow: hidden; {this.TerminatedStyles}{this.MinWidthStyle}";
+
public async Task ScrollToBottom()
{
await this.AnchorAfterChildContent.ScrollIntoViewAsync(this.JsRuntime);
diff --git a/app/MindWork AI Studio/Pages/About.razor b/app/MindWork AI Studio/Pages/About.razor
index 07f8780..6074642 100644
--- a/app/MindWork AI Studio/Pages/About.razor
+++ b/app/MindWork AI Studio/Pages/About.razor
@@ -1,64 +1,66 @@
@attribute [Route(Routes.ABOUT)]
-About MindWork AI Studio
+
+ About MindWork AI Studio
-
-
-
-
- The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.:
-
-
-
-
-
-
-
-
-
-
-
- Check for updates
-
-
-
-
-
-
+
+
+
+
+ The following list shows the versions of the MindWork AI Studio, the used compilers, build time, etc.:
+
+
+
+
+
+
+
+
+
+
+
+ Check for updates
+
+
+
+
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Assistants.razor b/app/MindWork AI Studio/Pages/Assistants.razor
index 212f8b5..9cef736 100644
--- a/app/MindWork AI Studio/Pages/Assistants.razor
+++ b/app/MindWork AI Studio/Pages/Assistants.razor
@@ -1,51 +1,53 @@
@using AIStudio.Settings.DataModel
@attribute [Route(Routes.ASSISTANTS)]
-
- Assistants
-
+
+
+ Assistants
+
-
-
-
- General
-
-
-
-
-
-
-
-
+
+
+
+ General
+
+
+
+
+
+
+
+
-
- Business
-
-
-
-
-
-
-
-
-
+
+ Business
+
+
+
+
+
+
+
+
+
-
- Learning
-
-
-
-
-
-
- Software Engineering
-
-
-
- @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
- {
-
- }
-
-
-
\ No newline at end of file
+
+ Learning
+
+
+
+
+
+
+ Software Engineering
+
+
+
+ @if (PreviewFeatures.PRE_RAG_2024.IsEnabled(this.SettingsManager))
+ {
+
+ }
+
+
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Chat.razor b/app/MindWork AI Studio/Pages/Chat.razor
index 2f56c2b..8c345b4 100644
--- a/app/MindWork AI Studio/Pages/Chat.razor
+++ b/app/MindWork AI Studio/Pages/Chat.razor
@@ -2,109 +2,100 @@
@using AIStudio.Settings.DataModel
@inherits MSGComponentBase
-
- @if (this.chatThread is not null && this.chatThread.WorkspaceId != Guid.Empty)
- {
- @($"Chat in Workspace \"{this.currentWorkspaceName}\"")
- }
- else
- {
- @("Temporary Chat")
- }
-
+
+
+
+ @if (this.chatThread is not null && this.chatThread.WorkspaceId != Guid.Empty)
+ {
+ @($"Chat in Workspace \"{this.currentWorkspaceName}\"")
+ }
+ else
+ {
+ @("Temporary Chat")
+ }
+
-
-@if (this.AreWorkspacesVisible)
-{
-
-
- @if (this.AreWorkspacesHidden)
- {
-
-
-
-
-
- }
- @if (this.SettingsManager.ConfigurationData.Workspace.StorageBehavior is not WorkspaceStorageBehavior.DISABLE_WORKSPACES)
- {
- @if ((this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_SIDEBAR && this.SettingsManager.ConfigurationData.Workspace.IsSidebarVisible) || this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.SIDEBAR_ALWAYS_VISIBLE)
+
+ @if (this.AreWorkspacesVisible)
+ {
+
+
+ @if (this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_SIDEBAR && this.SettingsManager.ConfigurationData.Workspace.IsSidebarVisible)
{
- @if (this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_SIDEBAR && this.SettingsManager.ConfigurationData.Workspace.IsSidebarVisible)
- {
-
-
-
-
-
-
-
-
-
-
- }
- else
- {
-
-
-
-
-
- }
+ // Case: Sidebar can be toggled and is currently visible
+
+
+
+
+
+
+
+
+
+
}
- }
-
-
-
+ else
+ {
+ // Case: Sidebar is always visible
+
+
+
+
+
+ }
+
+
+
+
+
+ }
+ else if (this.SettingsManager.ConfigurationData.Workspace.StorageBehavior is not WorkspaceStorageBehavior.DISABLE_WORKSPACES && this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_SIDEBAR)
+ {
+ // Case: Sidebar can be toggled and is currently hidden
+
+
+
+
+
+
+
-
-
-
-}
-else if(this.SettingsManager.ConfigurationData.Workspace.StorageBehavior is not WorkspaceStorageBehavior.DISABLE_WORKSPACES && this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_SIDEBAR)
-{
-
-
-
-
-
-
-
+ WorkspaceName="name => this.currentWorkspaceName = name"/>
+
+ }
+ else
+ {
+ // Case: Workspaces are disabled or shown in an overlay
-
-}
-else
-{
-
-}
+ }
-@if (
- this.SettingsManager.ConfigurationData.Workspace.StorageBehavior != WorkspaceStorageBehavior.DISABLE_WORKSPACES
- && this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_OVERLAY)
-{
-
-
-
-
- Your workspaces
-
-
-
-
-
-
-
-
-}
\ No newline at end of file
+ @if (
+ this.SettingsManager.ConfigurationData.Workspace.StorageBehavior != WorkspaceStorageBehavior.DISABLE_WORKSPACES
+ && this.SettingsManager.ConfigurationData.Workspace.DisplayBehavior is WorkspaceDisplayBehavior.TOGGLE_OVERLAY)
+ {
+
+
+
+
+ Your workspaces
+
+
+
+
+
+
+
+
+ }
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Home.razor b/app/MindWork AI Studio/Pages/Home.razor
index a86b837..de74a62 100644
--- a/app/MindWork AI Studio/Pages/Home.razor
+++ b/app/MindWork AI Studio/Pages/Home.razor
@@ -1,40 +1,42 @@
@attribute [Route(Routes.HOME)]
-
-Let's get started
+
+
+ Let's get started
-
-
+
+
-
-
- Welcome to MindWork AI Studio!
-
-
- 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.
-
-
- Here's what makes MindWork AI Studio stand out:
-
-
-
- We hope you enjoy using MindWork AI Studio to bring your AI projects to life!
-
-
+
+
+ Welcome to MindWork AI Studio!
+
+
+ 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.
+
+
+ Here's what makes MindWork AI Studio stand out:
+
+
+
+ We hope you enjoy using MindWork AI Studio to bring your AI projects to life!
+
+
-
-
-
+
+
+
-
-
-
-
-
-
-
+
+
+
+
+
+
+
-
-
\ No newline at end of file
+
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Settings.razor b/app/MindWork AI Studio/Pages/Settings.razor
index f09a180..41c4298 100644
--- a/app/MindWork AI Studio/Pages/Settings.razor
+++ b/app/MindWork AI Studio/Pages/Settings.razor
@@ -1,31 +1,33 @@
@attribute [Route(Routes.SETTINGS)]
@using AIStudio.Components.Settings
-Settings
+
+ Settings
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
\ No newline at end of file
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Supporters.razor b/app/MindWork AI Studio/Pages/Supporters.razor
index 6793d6d..784cbcb 100644
--- a/app/MindWork AI Studio/Pages/Supporters.razor
+++ b/app/MindWork AI Studio/Pages/Supporters.razor
@@ -1,63 +1,65 @@
@attribute [Route(Routes.SUPPORTERS)]
-Supporters
+
+
Supporters
-
-
-
- Our Titans
-
- In this section, we highlight the titan supporters of MindWork AI Studio. Titans are prestigious companies that provide significant support to our mission.
-
-
- For companies, sponsoring MindWork AI Studio is not only a way to support innovation but also a valuable opportunity for public relations and marketing. Your company's name and logo will be featured prominently, showcasing your commitment to using cutting-edge AI tools and enhancing your reputation as an innovative enterprise.
-
-
- Become our first Titan
-
-
-
-
-
-
-
-
- Individual Contributors
-
+
+
+
+ Our Titans
+
+ In this section, we highlight the titan supporters of MindWork AI Studio. Titans are prestigious companies that provide significant support to our mission.
+
+
+ For companies, sponsoring MindWork AI Studio is not only a way to support innovation but also a valuable opportunity for public relations and marketing. Your company's name and logo will be featured prominently, showcasing your commitment to using cutting-edge AI tools and enhancing your reputation as an innovative enterprise.
+
+
+ Become our first Titan
+
+
+
+
+
+
+
+
+ Individual Contributors
+
-
- Become a contributor
-
-
-
- The first 10 supporters who make a monthly contribution:
-
-
-
-
-
+
+ Become a contributor
+
+
+
+ The first 10 supporters who make a monthly contribution:
+
+
+
+
+
-
- The first 10 supporters who make a one-time contribution:
-
-
-
-
-
-
+
+ The first 10 supporters who make a one-time contribution:
+
+
+
+
+
+
-
-
-
-
- Business Contributors
-
+
+
+
+
+ Business Contributors
+
-
- Become a contributor
-
-
-
-
+
+ Become a contributor
+
+
+
+
-
\ No newline at end of file
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Pages/Writer.razor b/app/MindWork AI Studio/Pages/Writer.razor
index bf65c3e..6108647 100644
--- a/app/MindWork AI Studio/Pages/Writer.razor
+++ b/app/MindWork AI Studio/Pages/Writer.razor
@@ -1,57 +1,59 @@
@attribute [Route(Routes.WRITER)]
@inherits MSGComponentBase
-
- Writer
-
+
+
+ Writer
+
-
+
-
-
-
-
+
+
+
+
-
-
-
- @if (this.isStreaming)
- {
-
- }
-
-
-
\ No newline at end of file
+
+
+
+ @if (this.isStreaming)
+ {
+
+ }
+
+
+
+
\ No newline at end of file
diff --git a/app/MindWork AI Studio/packages.lock.json b/app/MindWork AI Studio/packages.lock.json
index a413321..d1c6dae 100644
--- a/app/MindWork AI Studio/packages.lock.json
+++ b/app/MindWork AI Studio/packages.lock.json
@@ -210,6 +210,6 @@
"type": "Project"
}
},
- "net8.0/osx-x64": {}
+ "net8.0/osx-arm64": {}
}
}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/wwwroot/app.css b/app/MindWork AI Studio/wwwroot/app.css
index 6257c7c..e62b4f8 100644
--- a/app/MindWork AI Studio/wwwroot/app.css
+++ b/app/MindWork AI Studio/wwwroot/app.css
@@ -71,7 +71,25 @@
text-decoration-thickness: 2px;
}
-/* Fixed for MudBlazor, tooltips inside of navmenu */
+/* Fix for MudBlazor, tooltips inside of navmenu */
.mud-navmenu .mud-tooltip-root {
display: initial !important;
}
+
+/* Context div for inner scrolling component */
+.inner-scrolling-context {
+ display: flex;
+ flex-direction: column;
+ height: 100vh;
+}
+
+/* Fixed MudSplitter inside context div for inner scrolling component */
+.inner-scrolling-context > .mud-splitter {
+ flex-grow: 1;
+ overflow: hidden;
+}
+
+/* Fixed the slider part of MudSplitter inside context div for inner scrolling component */
+.inner-scrolling-context > .mud-splitter > .mud-slider > .mud-slider-container {
+ padding-bottom: 12px;
+}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/wwwroot/changelog/v0.9.27.md b/app/MindWork AI Studio/wwwroot/changelog/v0.9.27.md
new file mode 100644
index 0000000..141ed9d
--- /dev/null
+++ b/app/MindWork AI Studio/wwwroot/changelog/v0.9.27.md
@@ -0,0 +1,2 @@
+# v0.9.27, build 202 (2025-01-xx xx:xx UTC)
+- Improved the inner content scrolling to use the entire space available.
\ No newline at end of file