File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 11<script lang =" ts" >
2+ import { browser } from ' $app/environment' ;
23 import { getContext , onMount , tick } from ' svelte' ;
34 import type { Writable } from ' svelte/store' ;
45 import { toast } from ' svelte-sonner' ;
783784 } else if (filteredSettings .length > 0 && ! filteredSettings .includes (selectedTab )) {
784785 selectedTab = filteredSettings [0 ];
785786 }
787+
788+ scrollToSelectedTab ();
786789 };
787790
788791 const saveSettings = async (updated : Record <string , any >) => {
823826 } ` ;
824827
825828 let selectedTab = ' general' ;
829+ const scrollToSelectedTab = async () => {
830+ if (! browser || ! modalShow || ! selectedTab ) {
831+ return ;
832+ }
833+
834+ await tick ();
835+ const tabElement = document .querySelector <HTMLElement >(
836+ ' #settings-tabs-container [role="tab"][aria-selected="true"]'
837+ );
838+ tabElement ?.scrollIntoView ({ behavior: ' smooth' , block: ' nearest' , inline: ' start' });
839+ };
840+
826841 $ : if ($user ?.role !== ' admin' && isAdminTab (selectedTab )) {
827842 selectedTab = ' general' ;
828843 }
829844
845+ $ : if (modalShow && selectedTab ) {
846+ scrollToSelectedTab ();
847+ }
848+
830849 onMount (() => {
831850 availableSettings = getAvailableSettings ();
832851 setFilteredSettings ();
You can’t perform that action at this time.
0 commit comments