ui: fix always-show-sidebar-on-desktop setting after navigation refactor (#24979)

This commit is contained in:
Pascal 2026-06-25 09:45:55 +02:00 committed by GitHub
parent fdbd6abee2
commit 3e61ea0e2f
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 10 additions and 9 deletions

View File

@ -14,6 +14,7 @@
import { useKeyboardShortcuts } from '$lib/hooks/use-keyboard-shortcuts.svelte'; import { useKeyboardShortcuts } from '$lib/hooks/use-keyboard-shortcuts.svelte';
import { conversationsStore, conversations } from '$lib/stores/conversations.svelte'; import { conversationsStore, conversations } from '$lib/stores/conversations.svelte';
import { chatStore } from '$lib/stores/chat.svelte'; import { chatStore } from '$lib/stores/chat.svelte';
import { config } from '$lib/stores/settings.svelte';
import { RouterService } from '$lib/services/router.service'; import { RouterService } from '$lib/services/router.service';
import { isMobile } from '$lib/stores/viewport.svelte'; import { isMobile } from '$lib/stores/viewport.svelte';
import { TooltipSide } from '$lib/enums'; import { TooltipSide } from '$lib/enums';
@ -34,6 +35,14 @@
const isStripExpanded = $derived(isExpandedMode || hoveredTooltip !== null); const isStripExpanded = $derived(isExpandedMode || hoveredTooltip !== null);
const isOnMobile = $derived(isMobile.current); const isOnMobile = $derived(isMobile.current);
const alwaysShowOnDesktop = $derived(config().alwaysShowSidebarOnDesktop as boolean);
// Keep the sidebar expanded on desktop when the user pins it open
$effect(() => {
if (alwaysShowOnDesktop && !isOnMobile) {
isExpandedMode = true;
}
});
function toggleExpandedMode() { function toggleExpandedMode() {
isExpandedMode = !isExpandedMode; isExpandedMode = !isExpandedMode;
@ -183,7 +192,7 @@
/> />
</div> </div>
{#if isExpandedMode || isOnMobile} {#if isOnMobile || (isExpandedMode && !alwaysShowOnDesktop)}
<div <div
class="flex items-center transition-all duration-150 ease-out {isMobile.current && class="flex items-center transition-all duration-150 ease-out {isMobile.current &&
!isExpandedMode !isExpandedMode

View File

@ -33,8 +33,6 @@
import { SETTINGS_KEYS } from '$lib/constants'; import { SETTINGS_KEYS } from '$lib/constants';
let { children } = $props(); let { children } = $props();
let alwaysShowSidebarOnDesktop = $derived(config().alwaysShowSidebarOnDesktop);
let isDesktop = $derived(!isMobile.current);
let innerHeight = $state<number | undefined>(); let innerHeight = $state<number | undefined>();
let innerWidth = $state(browser ? window.innerWidth : 0); let innerWidth = $state(browser ? window.innerWidth : 0);
@ -164,12 +162,6 @@
updateFavicon(); updateFavicon();
}); });
$effect(() => {
if (alwaysShowSidebarOnDesktop && isDesktop) {
return;
}
});
// Initialize server properties on app load (run once) // Initialize server properties on app load (run once)
$effect(() => { $effect(() => {
// Only fetch if we don't already have props // Only fetch if we don't already have props