Skip to content

Commit 3e61ea0

Browse files
ui: fix always-show-sidebar-on-desktop setting after navigation refactor (ggml-org#24979)
1 parent fdbd6ab commit 3e61ea0

2 files changed

Lines changed: 10 additions & 9 deletions

File tree

tools/ui/src/lib/components/app/navigation/SidebarNavigation/SidebarNavigation.svelte

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,7 @@
1414
import { useKeyboardShortcuts } from '$lib/hooks/use-keyboard-shortcuts.svelte';
1515
import { conversationsStore, conversations } from '$lib/stores/conversations.svelte';
1616
import { chatStore } from '$lib/stores/chat.svelte';
17+
import { config } from '$lib/stores/settings.svelte';
1718
import { RouterService } from '$lib/services/router.service';
1819
import { isMobile } from '$lib/stores/viewport.svelte';
1920
import { TooltipSide } from '$lib/enums';
@@ -34,6 +35,14 @@
3435
3536
const isStripExpanded = $derived(isExpandedMode || hoveredTooltip !== null);
3637
const isOnMobile = $derived(isMobile.current);
38+
const alwaysShowOnDesktop = $derived(config().alwaysShowSidebarOnDesktop as boolean);
39+
40+
// Keep the sidebar expanded on desktop when the user pins it open
41+
$effect(() => {
42+
if (alwaysShowOnDesktop && !isOnMobile) {
43+
isExpandedMode = true;
44+
}
45+
});
3746
3847
function toggleExpandedMode() {
3948
isExpandedMode = !isExpandedMode;
@@ -183,7 +192,7 @@
183192
/>
184193
</div>
185194

186-
{#if isExpandedMode || isOnMobile}
195+
{#if isOnMobile || (isExpandedMode && !alwaysShowOnDesktop)}
187196
<div
188197
class="flex items-center transition-all duration-150 ease-out {isMobile.current &&
189198
!isExpandedMode

tools/ui/src/routes/+layout.svelte

Lines changed: 0 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,6 @@
3333
import { SETTINGS_KEYS } from '$lib/constants';
3434
3535
let { children } = $props();
36-
let alwaysShowSidebarOnDesktop = $derived(config().alwaysShowSidebarOnDesktop);
37-
let isDesktop = $derived(!isMobile.current);
3836
let innerHeight = $state<number | undefined>();
3937
let innerWidth = $state(browser ? window.innerWidth : 0);
4038
@@ -164,12 +162,6 @@
164162
updateFavicon();
165163
});
166164
167-
$effect(() => {
168-
if (alwaysShowSidebarOnDesktop && isDesktop) {
169-
return;
170-
}
171-
});
172-
173165
// Initialize server properties on app load (run once)
174166
$effect(() => {
175167
// Only fetch if we don't already have props

0 commit comments

Comments
 (0)