This commit is contained in:
Timothy Jaeryang Baek committed 2026-07-16 21:08:23 -04:00
1 parent d7f33996ee
commit 975c9f9b50
1 file changed
+19
@@ -1,4 +1,5 @@
<script lang="ts"> <script lang="ts">
import { browser } from '$app/environment';
import { getContext, onMount, tick } from 'svelte'; import { getContext, onMount, tick } from 'svelte';
import type { Writable } from 'svelte/store'; import type { Writable } from 'svelte/store';
import { toast } from 'svelte-sonner'; import { toast } from 'svelte-sonner';
@@ -783,6 +784,8 @@
} else if (filteredSettings.length > 0 && !filteredSettings.includes(selectedTab)) { } else if (filteredSettings.length > 0 && !filteredSettings.includes(selectedTab)) {
selectedTab = filteredSettings[0]; selectedTab = filteredSettings[0];
} }
scrollToSelectedTab();
}; };
const saveSettings = async (updated: Record<string, any>) => { const saveSettings = async (updated: Record<string, any>) => {
@@ -823,10 +826,26 @@
}`; }`;
let selectedTab = 'general'; let selectedTab = 'general';
const scrollToSelectedTab = async () => {
if (!browser || !modalShow || !selectedTab) {
return;
}
await tick();
const tabElement = document.querySelector<HTMLElement>(
'#settings-tabs-container [role="tab"][aria-selected="true"]'
);
tabElement?.scrollIntoView({ behavior: 'smooth', block: 'nearest', inline: 'start' });
};
$: if ($user?.role !== 'admin' && isAdminTab(selectedTab)) { $: if ($user?.role !== 'admin' && isAdminTab(selectedTab)) {
selectedTab = 'general'; selectedTab = 'general';
} }
$: if (modalShow && selectedTab) {
scrollToSelectedTab();
}
onMount(() => { onMount(() => {
availableSettings = getAvailableSettings(); availableSettings = getAvailableSettings();
setFilteredSettings(); setFilteredSettings();