<script lang="ts">
	/* eslint svelte/no-at-html-tags: "off" */

	import SettingHint from '$lib/Settings/SettingHint.svelte';
	import Attributions from '$lib/Settings/Attributions.svelte';
	import { env } from '$env/dynamic/public';
	import HeadTitle from '$lib/HeadTitle.svelte';
	import Display from '$lib/Settings/Categories/Display.svelte';
	import Calculation from '$lib/Settings/Categories/Calculation.svelte';
	import Debug from '$lib/Settings/Categories/Debug.svelte';
	import Cache from '$lib/Settings/Categories/Cache.svelte';
	import Category from '$lib/Settings/Category.svelte';

	export let data;

	// const pruneUnresolved = async () => {
	// 	const unresolved = await chapterDatabase.chapters.where('chapters').equals(-1).toArray();
	// 	const ids = unresolved.map((m) => m.id);

	// 	manga.set('');
	// 	anime.set('');
	// 	await chapterDatabase.chapters.bulkDelete(ids);
	// };
</script>

<HeadTitle route="Settings" path="/settings" />

<p>
	Have feedback or suggestions? Send a private message to
	<a href="https://anilist.co/user/fuwn" target="_blank">@fuwn</a> on AniList!
</p>

{#if data.user === undefined}
	Please log in to modify settings.
{:else}
	<Category title="RSS Feeds" id="feeds">
		<a
			href={'#'}
			on:click={() =>
				navigator.clipboard.writeText(
					`https://${
						env.PUBLIC_ANILIST_REDIRECT_URI?.includes('192.168') ? '192.168.1.60:5173' : 'due.moe'
					}/feeds/activity-notifications?token=${data.user.accessToken}&refresh=${
						data.user.refreshToken
					}`
				)}
		>
			Click to copy AniList notifications RSS feed URL and token
		</a>
		<SettingHint lineBreak>Do not share this link with <b>anyone</b>!</SettingHint>
	</Category>
	<Category title="Display"><Display /></Category>
	<Category title="Calculation"><Calculation /></Category>
	<Category title="Cache"><Cache /></Category>
	<Category id="debug">
		<summary>Debug <small style="opacity: 50%;">{data.commit.slice(0, 7)}</small></summary>

		<Debug />
	</Category>
	<Category title="Attributions" open={false}><Attributions /></Category>
{/if}
