aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Error/RateLimited.svelte
blob: bdddc3c0be84fe5c05ad47f271bdcc1929f3ed94 (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
<script lang="ts">
	export let type = 'Media';
	export let loginSessionError = true;
	export let contact = true;
	export let list = true;
	export let card = false;
	export let might = true;
</script>

<div class:card>
	{#if list}
		<ul>
			<li>
				<p>
					{type} could not be loaded. You{might ? ' might' : ''} have been
					<a href="https://en.wikipedia.org/wiki/Rate_limiting" target="_blank">rate limited</a>. {#if !might}
						Try again in one minute.
					{/if}
				</p>

				{#if loginSessionError}
					<p>
						Your login session may have expired. Try logging out and logging back in, or try again
						in a few minutes.
					</p>
				{/if}

				<slot />

				{#if contact}
					<p />

					If the problem persists, please contact
					<a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a> on AniList.
				{/if}
			</li>
		</ul>
	{:else}
		<p>
			{type} could not be loaded. You{might ? ' might' : ''} have been
			<a href="https://en.wikipedia.org/wiki/Rate_limiting" target="_blank">rate limited</a>. {#if !might}
				Try again in one minute.
			{/if}
		</p>

		{#if loginSessionError}
			<p>
				Your login session may have expired. Try logging out and logging back in, or try again in a
				few minutes.
			</p>
		{/if}

		<slot />

		{#if contact}
			<p />

			If the problem persists, please contact
			<a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a> on AniList.
		{/if}
	{/if}
</div>