From 3846de3d9d08ae2a77f6ee7f8a83f841fc64f508 Mon Sep 17 00:00:00 2001 From: ThaUnknown <6506529+ThaUnknown@users.noreply.github.com> Date: Thu, 20 Mar 2025 17:30:10 +0100 Subject: [PATCH] feat: mobile sidebar --- src/lib/components/Backplate.svelte | 5 +- src/lib/components/EpisodesList.svelte | 2 +- .../ui/extensions/ExtensionSettings.svelte | 4 +- .../ui/sidebar/SidebarButton.svelte | 2 +- src/lib/components/ui/sidebar/index.ts | 2 +- src/lib/components/ui/sidebar/sidebar.svelte | 87 +++++-------------- .../components/ui/sidebar/sidebarlist.svelte | 69 +++++++++++++++ src/lib/modules/anilist/util.ts | 4 + src/routes/app/+layout.svelte | 10 ++- 9 files changed, 110 insertions(+), 75 deletions(-) create mode 100644 src/lib/components/ui/sidebar/sidebarlist.svelte diff --git a/src/lib/components/Backplate.svelte b/src/lib/components/Backplate.svelte index 1c6a963..a1fa701 100644 --- a/src/lib/components/Backplate.svelte +++ b/src/lib/components/Backplate.svelte @@ -15,6 +15,8 @@ let isFlying = false let timeout: number + // WE LOVE RACE CONDITIONS WOOOO YEAAH MY SANITY + async function start () { if (isAnimating) return isAnimating = true @@ -52,13 +54,14 @@ if (lockedState === 'locked' || visibilityState === 'hidden') return reset() if (idleState === 'active' && activityState === 'active') return reset() if ($page.url.pathname === '/app/player/') return reset() + clearTimeout(timeout) timeout = setTimeout(start, 20_000) } $: checkIdleState(idleState, lockedState, activityState, visibilityState) - { if (!document.hasFocus()) activityState = 'inactive' }} on:mouseenter={() => { console.log('uwu'); activityState = 'active' }} /> + { if (!document.hasFocus()) activityState = 'inactive' }} on:mouseenter={() => { activityState = 'active' }} /> { activityState = 'active' }} on:blur={() => { activityState = 'inactive' }} on:pointermove={() => { idleState = 'active'; activityState = 'active' }} /> diff --git a/src/lib/components/EpisodesList.svelte b/src/lib/components/EpisodesList.svelte index 6c333b2..b14ddca 100644 --- a/src/lib/components/EpisodesList.svelte +++ b/src/lib/components/EpisodesList.svelte @@ -68,7 +68,7 @@ -
+
{#each getPage(currentPage) as { episode, image, title, summary, airingAt, airdate, filler, length } (episode)} {@const watched = _progress >= episode} diff --git a/src/lib/components/ui/extensions/ExtensionSettings.svelte b/src/lib/components/ui/extensions/ExtensionSettings.svelte index 3caff05..e356319 100644 --- a/src/lib/components/ui/extensions/ExtensionSettings.svelte +++ b/src/lib/components/ui/extensions/ExtensionSettings.svelte @@ -52,5 +52,7 @@ - + {#if $exopts[config.id]} + + {/if}
diff --git a/src/lib/components/ui/sidebar/SidebarButton.svelte b/src/lib/components/ui/sidebar/SidebarButton.svelte index d541172..96efe18 100644 --- a/src/lib/components/ui/sidebar/SidebarButton.svelte +++ b/src/lib/components/ui/sidebar/SidebarButton.svelte @@ -28,7 +28,7 @@ $: isActive = matchPath(href, $page) - - - - - - {#if hasAuth} - {@const viewer = client.profile()} - - - {viewer?.name} - - {:else} - - {/if} - -
- - +{#if $isMobile} +
+
+ + +
+
+{:else} +
+ +
+{/if} diff --git a/src/lib/components/ui/sidebar/sidebarlist.svelte b/src/lib/components/ui/sidebar/sidebarlist.svelte new file mode 100644 index 0000000..7893db2 --- /dev/null +++ b/src/lib/components/ui/sidebar/sidebarlist.svelte @@ -0,0 +1,69 @@ + + +