diff --git a/app/MindWork AI Studio/Pages/Settings.razor b/app/MindWork AI Studio/Pages/Settings.razor
index f37b277e..9ccbfe06 100644
--- a/app/MindWork AI Studio/Pages/Settings.razor
+++ b/app/MindWork AI Studio/Pages/Settings.razor
@@ -202,7 +202,12 @@
-
+
+ @if (this.SettingsManager.ConfigurationData.Workspace.StorageBehavior is not WorkspaceStorageBehavior.DISABLE_WORKSPACES)
+ {
+
+
+ }
diff --git a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs
index 517a8a17..7a65fb8c 100644
--- a/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs
+++ b/app/MindWork AI Studio/Settings/ConfigurationSelectData.cs
@@ -58,6 +58,13 @@ public static class ConfigurationSelectDataFactory
yield return new("Delete temporary chats older than 1 year", WorkspaceStorageTemporaryMaintenancePolicy.DELETE_OLDER_THAN_365_DAYS);
}
+ public static IEnumerable> GetWorkspaceDisplayBehaviorData()
+ {
+ yield return new("Toggle the overlay: the chat uses all the space, workspaces are temporarily shown", WorkspaceDisplayBehavior.TOGGLE_OVERLAY);
+ yield return new("Toggle the sidebar: show the workspaces next to the chat when desired", WorkspaceDisplayBehavior.TOGGLE_SIDEBAR);
+ yield return new("Sidebar is always visible: show the workspaces next to the chat all the time", WorkspaceDisplayBehavior.SIDEBAR_ALWAYS_VISIBLE);
+ }
+
public static IEnumerable> GetNavBehaviorData()
{
yield return new("Navigation expands on mouse hover", NavBehavior.EXPAND_ON_HOVER);
diff --git a/app/MindWork AI Studio/Settings/DataModel/DataWorkspace.cs b/app/MindWork AI Studio/Settings/DataModel/DataWorkspace.cs
index 5041fc12..2fee8cb7 100644
--- a/app/MindWork AI Studio/Settings/DataModel/DataWorkspace.cs
+++ b/app/MindWork AI Studio/Settings/DataModel/DataWorkspace.cs
@@ -11,4 +11,14 @@ public sealed class DataWorkspace
/// The chat storage maintenance behavior.
///
public WorkspaceStorageTemporaryMaintenancePolicy StorageTemporaryMaintenancePolicy { get; set; } = WorkspaceStorageTemporaryMaintenancePolicy.DELETE_OLDER_THAN_90_DAYS;
+
+ ///
+ /// The behavior used for displaying the workspace.
+ ///
+ public WorkspaceDisplayBehavior DisplayBehavior { get; set; } = WorkspaceDisplayBehavior.TOGGLE_SIDEBAR;
+
+ ///
+ /// Indicates whether the sidebar is currently visible.
+ ///
+ public bool IsSidebarVisible { get; set; } = true;
}
\ No newline at end of file
diff --git a/app/MindWork AI Studio/Settings/DataModel/WorkspaceDisplayBehavior.cs b/app/MindWork AI Studio/Settings/DataModel/WorkspaceDisplayBehavior.cs
new file mode 100644
index 00000000..8deccf1b
--- /dev/null
+++ b/app/MindWork AI Studio/Settings/DataModel/WorkspaceDisplayBehavior.cs
@@ -0,0 +1,9 @@
+namespace AIStudio.Settings.DataModel;
+
+public enum WorkspaceDisplayBehavior
+{
+ TOGGLE_OVERLAY,
+
+ TOGGLE_SIDEBAR,
+ SIDEBAR_ALWAYS_VISIBLE,
+}
\ No newline at end of file