From d566ef1829623ad2f77c742ee4df1184601e81e7 Mon Sep 17 00:00:00 2001 From: Thorsten Sommer Date: Sat, 2 Nov 2024 22:47:22 +0100 Subject: [PATCH] Added workspace display options --- app/MindWork AI Studio/Pages/Settings.razor | 7 ++++++- .../Settings/ConfigurationSelectData.cs | 7 +++++++ .../Settings/DataModel/DataWorkspace.cs | 10 ++++++++++ .../Settings/DataModel/WorkspaceDisplayBehavior.cs | 9 +++++++++ 4 files changed, 32 insertions(+), 1 deletion(-) create mode 100644 app/MindWork AI Studio/Settings/DataModel/WorkspaceDisplayBehavior.cs 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