From f14177ce6c1df5412305e6c5cd774aefdfdc0bb0 Mon Sep 17 00:00:00 2001 From: Fuwn Date: Wed, 20 Sep 2023 15:28:37 -0700 Subject: feat(settings): limit list height --- src/routes/+layout.svelte | 87 ++++++++++++++++------------------------ src/routes/+page.svelte | 54 ++++++++++++++++++++++++- src/routes/settings/+page.svelte | 8 +++- 3 files changed, 93 insertions(+), 56 deletions(-) (limited to 'src/routes') diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 7a4b517a..ce1b7a68 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -2,14 +2,12 @@ import { env } from '$env/dynamic/public'; import { userIdentity as getUserIdentity } from '$lib/AniList/identity'; import { onMount } from 'svelte'; - import { lastActivityDate } from '$lib/AniList/activity'; import userIdentity from '../stores/userIdentity'; import settings from '../stores/settings'; export let data; let currentUserIdentity = { name: '...', id: -1 }; - let lastActivityWasToday = true; onMount(async () => { settings.subscribe((value) => { @@ -27,67 +25,40 @@ currentUserIdentity = JSON.parse($userIdentity); currentUserIdentity.name = currentUserIdentity.name; - lastActivityWasToday = - (await lastActivityDate(currentUserIdentity)).toDateString() >= new Date().toDateString(); - } - }); - - const timeLeftToday = () => { - const now = new Date(); - const currentHour = now.getHours(); - const currentMinute = now.getMinutes(); - const hoursLeft = 24 - currentHour; - let minutesLeft = 0; - let timeLeft = ''; - - if (hoursLeft > 0) { - minutesLeft = hoursLeft * 60 - currentMinute; - } else { - minutesLeft = 24 * 60 - (currentHour * 60 + currentMinute); - } - if (minutesLeft > 60) { - timeLeft = `${Math.round(minutesLeft / 60)} hours`; - } else { - timeLeft = `${minutesLeft} minutes`; + // document.getElementsByTagName('html')[0].classList.add('limit-height'); + // document.getElementsByTagName('body')[0].classList.add('limit-height'); } - - return timeLeft; - }; + }); -

+

+ -

- 「 HomeManga & LN Updates • - Settings 」 -

- -
- - + +
diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index c784cb6c..c5109c4a 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -7,12 +7,22 @@ import userIdentity from '../stores/userIdentity'; import settings from '../stores/settings'; import WatchingAnimeList from '$lib/List/WatchingAnimeList.svelte'; + import { lastActivityDate } from '$lib/AniList/activity'; export let data; let currentUserIdentity = { name: '', id: -1 }; + let lastActivityWasToday = true; onMount(async () => { + if ($settings.limitListHeight) { + document.querySelectorAll('.list').forEach((list) => { + list.style.maxHeight = `calc(100vh - ${ + document.querySelector('#list-container')?.getBoundingClientRect().bottom + }px)`; + }); + } + if (data.user !== undefined) { if ($userIdentity === '') { userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); @@ -20,10 +30,44 @@ currentUserIdentity = JSON.parse($userIdentity); currentUserIdentity.name = currentUserIdentity.name; + lastActivityWasToday = + (await lastActivityDate(currentUserIdentity)).toDateString() >= new Date().toDateString(); } }); + + const timeLeftToday = () => { + const now = new Date(); + const currentHour = now.getHours(); + const currentMinute = now.getMinutes(); + const hoursLeft = 24 - currentHour; + let minutesLeft = 0; + let timeLeft = ''; + + if (hoursLeft > 0) { + minutesLeft = hoursLeft * 60 - currentMinute; + } else { + minutesLeft = 24 * 60 - (currentHour * 60 + currentMinute); + } + + if (minutesLeft > 60) { + timeLeft = `${Math.round(minutesLeft / 60)} hours`; + } else { + timeLeft = `${minutesLeft} minutes`; + } + + return timeLeft; + }; +{#if !lastActivityWasToday} +
+

+ You don't have any new activity statuses from the past day! Create one within {timeLeftToday()} + to keep your streak! +

+
+{/if} +
{#if data.user === undefined} Please log in to view due media. @@ -82,7 +126,13 @@ diff --git a/src/routes/settings/+page.svelte b/src/routes/settings/+page.svelte index 8ec56788..9707ec33 100644 --- a/src/routes/settings/+page.svelte +++ b/src/routes/settings/+page.svelte @@ -58,9 +58,15 @@ on={'Link anime to LiveChart.me'} off={'Link anime to AniList'} /> - + paused media +

-- cgit v1.2.3