blob: 39b35198ea4c267df7184993b8f6550305dff084 (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
|
<script lang="ts">
import userIdentity from "$stores/identity";
import { onMount } from "svelte";
import type { AniListAuthorisation } from "$lib/Data/AniList/identity";
import { lastActivityDate } from "../Data/AniList/activity";
import settings from "$stores/settings";
let { user }: { user: AniListAuthorisation } = $props();
let lastActivityWasToday = $state(true);
onMount(async () => {
if (!$settings.displayDisableLastActivityWarning && user !== undefined) {
lastActivityWasToday =
(await lastActivityDate($userIdentity, user)).date.toDateString() >=
new Date().toDateString();
if (!lastActivityWasToday) {
if ($settings.displayLimitListHeight) {
document.querySelectorAll(".list").forEach((list) => {
(list as HTMLElement).style.maxHeight = `calc((100vh - ${
document.querySelector("#list-container")?.getBoundingClientRect()
.top
}px) - 5rem)`;
});
}
}
}
});
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;
};
</script>
{#if !$settings.displayDisableLastActivityWarning && !lastActivityWasToday}
<blockquote>
You don't have any new activity statuses from the past day! Create one within {timeLeftToday()}
to keep your streak!
</blockquote>
{/if}
|