blob: 2809a6498f5f8f45e6cd9a29830a002606043a43 (
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
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
|
<script lang="ts">
import { onMount } from 'svelte';
import { userIdentity as getUserIdentity } from '$lib/AniList/identity';
import AnimeList from '$lib/List/Anime/DueAnimeList.svelte';
import MangaListTemplate from '$lib/List/Manga/MangaListTemplate.svelte';
import UpcomingAnimeList from '$lib/List/Anime/UpcomingAnimeList.svelte';
import userIdentity from '$stores/userIdentity';
import settings from '$stores/settings';
import ListTitle from '$lib/List/ListTitle.svelte';
import HeadTitle from '$lib/HeadTitle.svelte';
import LastActivity from '$lib/LastActivity.svelte';
export let data;
let currentUserIdentity = { name: '', id: -1 };
onMount(async () => {
if ($settings.displayLimitListHeight) {
document.querySelectorAll('.list').forEach((list) => {
(list as HTMLElement).style.maxHeight = `calc(100vh - ${
document.querySelector('#list-container')?.getBoundingClientRect().bottom
}px + 1.1rem)`;
});
}
if (data.user !== undefined) {
if ($userIdentity === '') {
userIdentity.set(JSON.stringify(await getUserIdentity(data.user)));
}
currentUserIdentity = JSON.parse($userIdentity);
currentUserIdentity.name = currentUserIdentity.name;
}
});
</script>
<HeadTitle />
<LastActivity user={data.user} />
<div
id="list-container"
style={`column-width: 300px; column-count: ${
Number(!$settings.disableAnime) +
Number(!$settings.disableManga) +
Number(!$settings.disableUpcomingAnime) -
Number(!$settings.disableUpcomingAnime && !$settings.disableAnime && !$settings.disableManga)
};`}
>
{#if data.user === undefined}
Please log in to view due media.
{:else}
{#if !$settings.disableUpcomingAnime}
<details open={!$settings.displayUpcomingAnimeCollapsed} class="list">
{#if currentUserIdentity.id != -1}
<UpcomingAnimeList user={data.user} identity={currentUserIdentity} />
{:else}
<ListTitle custom="Upcoming Episodes" />
<ul><li>Loading user identity ... 50%</li></ul>
{/if}
</details>
{#if !$settings.disableAnime || !$settings.disableManga}
<p />
{/if}
{/if}
{#if !$settings.disableAnime}
<details open={!$settings.displayAnimeCollapsed} class="list">
{#if currentUserIdentity.id != -1}
<AnimeList user={data.user} identity={currentUserIdentity} />
{:else}
<ListTitle anime />
<ul><li>Loading user identity ... 50%</li></ul>
{/if}
</details>
{#if !$settings.disableManga}
<p />
{/if}
{/if}
{#if !$settings.disableManga}
<details open={!$settings.displayMangaCollapsed} class="list">
{#if currentUserIdentity.id != -1}
<MangaListTemplate
user={data.user}
identity={currentUserIdentity}
displayUnresolved={$settings.displayUnresolved}
due={true}
/>
{:else}
<ListTitle />
<ul><li>Loading 0% ...</li></ul>
{/if}
</details>
{/if}
{#if $settings.disableUpcomingAnime && $settings.disableAnime && $settings.disableManga}
<video src="https://video.twimg.com/tweet_video/Do_eDPnX0AAKV9f.mp4" autoplay loop>
<track kind="captions" />
</video>
{/if}
{/if}
</div>
<style>
.list {
overflow-y: auto;
break-inside: avoid-column;
}
</style>
|