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) } } } -
+
{#each navTabs as tabData} - {#if currentPathname === tabData.pathname} - - {:else} - - {/if} + {/each} {#if navTabs.some((tab) => tab.pathname === currentPathname)}
@@ -67,9 +65,16 @@
diff --git a/src/lib/components/util/navbarSide.svelte b/src/lib/components/util/navbarSide.svelte deleted file mode 100644 index 5d12667..0000000 --- a/src/lib/components/util/navbarSide.svelte +++ /dev/null @@ -1,73 +0,0 @@ - - - - -
- {#each navTabs as tabData} - {#if currentPathname === tabData.pathname} - - {:else} - - {/if} - {/each} - {#if navTabs.some((tab) => tab.pathname === currentPathname)} -
- {/if} -
diff --git a/src/routes/(app)/+layout.svelte b/src/routes/(app)/+layout.svelte index 60953d0..fb63d67 100644 --- a/src/routes/(app)/+layout.svelte +++ b/src/routes/(app)/+layout.svelte @@ -1,56 +1,100 @@ {#if $pageWidth >= 768}
- { - event.detail.direction === 'up' ? (directionMultiplier = 1) : (directionMultiplier = -1) - currentPathname = event.detail.pathname - goto(currentPathname) - }} - /> +