From 4a756bfb69eedb02aa6c5f002d79db69ed90fbf9 Mon Sep 17 00:00:00 2001 From: Jesse Winton Date: Thu, 10 Jul 2025 11:44:58 -0400 Subject: [PATCH] update preferences --- src/lib/components/studio/chatWrapper.svelte | 6 ++---- src/lib/helpers/studioLayout.ts | 20 +++++++++---------- .../studio/artifact-[artifact]/+layout.svelte | 8 ++++---- 3 files changed, 16 insertions(+), 18 deletions(-) diff --git a/src/lib/components/studio/chatWrapper.svelte b/src/lib/components/studio/chatWrapper.svelte index ddfbf08bf..267eaa710 100644 --- a/src/lib/components/studio/chatWrapper.svelte +++ b/src/lib/components/studio/chatWrapper.svelte @@ -6,7 +6,7 @@ disableBodySelect, enabledBodySelect, getChatWidthFromPrefs, - saveProjectPrefs + saveImagineProjectPrefs } from '$lib/helpers/studioLayout.js'; import { createStreamParser } from '$lib/components/studio/chat/parser.js'; import { sdk } from '$lib/stores/sdk.js'; @@ -23,8 +23,6 @@ } }); - console.log(page.data); - let resizer = $state(null); let resizerLeftPosition = $state( page.data?.subNavigation @@ -82,7 +80,7 @@ resizerLeftPosition = 500; } const saveWidth = page.data?.subNavigation ? resizerLeftPosition - 24 : resizerLeftPosition; - saveProjectPrefs(page.data?.project.$id, 'studioChatWidth', saveWidth); + saveImagineProjectPrefs(page.data?.project.$id, 'studioChatWidth', saveWidth); isResizing = false; window.removeEventListener('mousemove', resize); diff --git a/src/lib/helpers/studioLayout.ts b/src/lib/helpers/studioLayout.ts index 9c27eb27c..dadb40bd0 100644 --- a/src/lib/helpers/studioLayout.ts +++ b/src/lib/helpers/studioLayout.ts @@ -16,19 +16,18 @@ type ImaginePrefs = { [projectId: string]: ProjectPrefs; }; -const getImaginePrefs = () => { - const currentPrefs = userPreferences(); - return currentPrefs?.imagine as unknown as ImaginePrefs; -}; - const getProjectPrefs = (projectId: string): ProjectPrefs => { const currentPrefs = userPreferences(); - const projectPrefs = currentPrefs?.imagine; - return projectPrefs[projectId]; + const imaginePrefs = currentPrefs?.imagine; + const projectPrefs = imaginePrefs?.[projectId] ?? ({} as ProjectPrefs); + + return projectPrefs; }; export function getChatWidthFromPrefs(projectId: string): number { const projectPrefs = getProjectPrefs(projectId); + + console.log(projectPrefs); if (projectPrefs?.studioChatWidth) { if (window) { const maxSize = page.data?.subNavigation @@ -64,20 +63,21 @@ export function getStudioView(projectId: string) { return projectPrefs?.studioView as 'editor' | 'preview' | null; } -export function saveProjectPrefs( +export function saveImagineProjectPrefs( projectId: string, key: string, value: string | number | boolean ): void { const currentPrefs = userPreferences(); - const imaginePrefs = getImaginePrefs(); + const imaginePrefs = currentPrefs?.imagine as unknown as ImaginePrefs; + const projectPrefs = getProjectPrefs(projectId); const newPrefs = { ...currentPrefs, imagine: { ...imaginePrefs, [projectId]: { - ...imaginePrefs[projectId], + ...projectPrefs, [key]: value } } diff --git a/src/routes/(console)/project-[region]-[project]/studio/artifact-[artifact]/+layout.svelte b/src/routes/(console)/project-[region]-[project]/studio/artifact-[artifact]/+layout.svelte index 7f37afaa1..20f6bf194 100644 --- a/src/routes/(console)/project-[region]-[project]/studio/artifact-[artifact]/+layout.svelte +++ b/src/routes/(console)/project-[region]-[project]/studio/artifact-[artifact]/+layout.svelte @@ -19,7 +19,7 @@ getStudioView, getTerminalHeightFromPrefs, getTerminalOpenFromPrefs, - saveProjectPrefs + saveImagineProjectPrefs } from '$lib/helpers/studioLayout'; import { showChat } from '$lib/stores/chat'; import { default as IconChatLayout } from '$routes/(console)/project-[region]-[project]/studio/assets/chat-layout.svelte'; @@ -39,7 +39,7 @@ function changeView(newView: 'preview' | 'editor') { view = newView; - saveProjectPrefs(data.project.$id, 'studioView', newView); + saveImagineProjectPrefs(data.project.$id, 'studioView', newView); } $effect(() => { @@ -62,7 +62,7 @@ $effect(() => { if (terminalOpen !== undefined) { - //saveImaginePrefs('studioTerminalOpen', terminalOpen); + saveImagineProjectPrefs(data.project.$id, 'studioTerminalOpen', terminalOpen); } }); @@ -106,7 +106,7 @@ function stopResize() { isResizing = false; - //saveImaginePrefs('studioTerminalHeight', resizerTopPosition); + saveImagineProjectPrefs(data.project.$id, 'studioTerminalHeight', resizerTopPosition); window.removeEventListener('mousemove', resize); window.removeEventListener('mouseup', stopResize); window.removeEventListener('touchmove', resize);