From: PhiTux Date: Tue, 9 Sep 2025 09:27:21 +0000 (+0200) Subject: fixed scroll issue X-Git-Url: http://git.99rst.org/?a=commitdiff_plain;h=4f23b8a6b30c7d37afa2babbde49b2721662c21e;p=DailyTxT.git fixed scroll issue --- diff --git a/frontend/src/lib/SettingsNav.svelte b/frontend/src/lib/SettingsNav.svelte deleted file mode 100644 index e44e5cf..0000000 --- a/frontend/src/lib/SettingsNav.svelte +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/frontend/src/lib/settings/Statistics.svelte b/frontend/src/lib/settings/Statistics.svelte index a3992f5..6136ecc 100644 --- a/frontend/src/lib/settings/Statistics.svelte +++ b/frontend/src/lib/settings/Statistics.svelte @@ -463,21 +463,23 @@ days: dayStats.filter((d) => d.isBookmarked).length.toLocaleString($tolgee.getLanguage()) })} -
  • - {$t('tags.tags')}:
    - {#each $tags as tag (tag.id)} - - - - {@html $t('settings.statistics.tagUsedCount', { - count: dayStats - .filter((d) => d.tags.includes(tag.id)) - .length.toLocaleString($tolgee.getLanguage()) - })} - -
    - {/each} -
  • + {#if $tags.length > 0} +
  • + {$t('tags.tags')}:
    + {#each $tags as tag (tag.id)} + + + + {@html $t('settings.statistics.tagUsedCount', { + count: dayStats + .filter((d) => d.tags.includes(tag.id)) + .length.toLocaleString($tolgee.getLanguage()) + })} + +
    + {/each} +
  • + {/if}

    {$t('settings.statistics.funFacts')}

    diff --git a/frontend/src/routes/(authed)/+layout.svelte b/frontend/src/routes/(authed)/+layout.svelte index 0fd2b7b..276c312 100644 --- a/frontend/src/routes/(authed)/+layout.svelte +++ b/frontend/src/routes/(authed)/+layout.svelte @@ -174,6 +174,45 @@ settingsSections = []; } + function reinitializeSettingsScrollSpy() { + // Destroy existing ScrollSpy first + destroySettingsScrollSpy(); + + // Re-setup the settings content scroll behavior + const contentEl = document.getElementById('settings-content'); + const navEl = document.getElementById('settings-nav'); + const modalBody = document.getElementById('modal-body'); + + if (contentEl && navEl && modalBody) { + const height = modalBody.clientHeight; + contentEl.style.height = 'calc(' + height + 'px - 2rem)'; + navEl.style.height = 'calc(' + height + 'px - 2rem)'; + contentEl.style.overflowY = 'auto'; + contentEl.scrollTop = 0; + activeSettingsSection = 'appearance'; + // Short timeout to allow layout calculation before reading offsets + setTimeout(initSettingsScrollSpy, 100); + } + } + + function switchToSettingsTab() { + activeSettingsView = 'settings'; + // Reinitialize ScrollSpy when switching to settings tab + setTimeout(reinitializeSettingsScrollSpy, 50); + } + + function switchToStatsTab() { + activeSettingsView = 'stats'; + // Destroy settings ScrollSpy when leaving settings tab + destroySettingsScrollSpy(); + } + + function switchToAdminTab() { + activeSettingsView = 'admin'; + // Destroy settings ScrollSpy when leaving settings tab + destroySettingsScrollSpy(); + } + function openSettingsModal() { activeSettingsView = 'settings'; $tempSettings = JSON.parse(JSON.stringify($settings)); @@ -898,21 +937,21 @@ @@ -920,7 +959,10 @@ > -