diff --git a/src/app.css b/src/app.css index 8625ee2..d6cf9cb 100644 --- a/src/app.css +++ b/src/app.css @@ -4,6 +4,10 @@ @tailwind components; @tailwind utilities; +* { + flex-shrink: 0; +} + img { max-width: 100%; } diff --git a/src/lib/components/util/navbarFoot.svelte b/src/lib/components/util/navbarFoot.svelte index 2c73c21..bcc4649 100644 --- a/src/lib/components/util/navbarFoot.svelte +++ b/src/lib/components/util/navbarFoot.svelte @@ -12,7 +12,7 @@ export let transitionTime: number = 200 import { fade } from 'svelte/transition' - import { createEventDispatcher } from 'svelte' + import { createEventDispatcher, onMount } from 'svelte' const dispatch = createEventDispatcher() @@ -25,41 +25,39 @@ return newPageIndex > currentPageIndex ? 'right' : 'left' } - let activeTab: HTMLButtonElement, indicatorBar: HTMLDivElement, tabList: HTMLDivElement - $: calculateBar(activeTab) + let indicatorBar: HTMLDivElement, tabList: HTMLDivElement - const calculateBar = (activeTab: HTMLButtonElement) => { - if (activeTab && indicatorBar && tabList) { - const listRect = tabList.getBoundingClientRect() - const tabRec = activeTab.getBoundingClientRect() + const calculateBar = (newPathname: string) => { + const newTab = document.querySelector(`button[data-tab="${newPathname}"]`) + if (newTab && indicatorBar && tabList) { + const listRect = tabList.getBoundingClientRect(), + tabRec = newTab.getBoundingClientRect() + const shiftRight = () => (indicatorBar.style.right = `${listRect.right - tabRec.right}px`), + shiftLeft = () => (indicatorBar.style.left = `${tabRec.left - listRect.left}px`) if (direction === 'right') { - indicatorBar.style.right = `${listRect.right - tabRec.right}px` - setTimeout(() => (indicatorBar.style.left = `${tabRec.left - listRect.left}px`), transitionTime) + shiftRight() + setTimeout(shiftLeft, transitionTime) } else { - indicatorBar.style.left = `${tabRec.left - listRect.left}px` - setTimeout(() => (indicatorBar.style.right = `${listRect.right - tabRec.right}px`), transitionTime) + shiftLeft() + setTimeout(shiftRight, transitionTime) } } } -