diff options
Diffstat (limited to 'src/lib/Tools/ActivityHistory/Tool.svelte')
| -rw-r--r-- | src/lib/Tools/ActivityHistory/Tool.svelte | 135 |
1 files changed, 70 insertions, 65 deletions
diff --git a/src/lib/Tools/ActivityHistory/Tool.svelte b/src/lib/Tools/ActivityHistory/Tool.svelte index 6f6282a6..3cf7b09e 100644 --- a/src/lib/Tools/ActivityHistory/Tool.svelte +++ b/src/lib/Tools/ActivityHistory/Tool.svelte @@ -1,69 +1,74 @@ <script lang="ts"> - import Spacer from '$lib/Layout/Spacer.svelte'; - import { - activityHistory, - fillMissingDays, - type ActivityHistoryEntry - } from '$lib/Data/AniList/activity'; - import { onMount } from 'svelte'; - import userIdentity from '$stores/identity'; - import type { AniListAuthorisation } from '$lib/Data/AniList/identity'; - import { clearAllParameters } from '../../Utility/parameters'; - import { domToBlob } from 'modern-screenshot'; - import ActivityHistoryGrid from './Grid.svelte'; - import SettingHint from '$lib/Settings/SettingHint.svelte'; - import Skeleton from '$lib/Loading/Skeleton.svelte'; - import LogInRestricted from '$lib/Error/LogInRestricted.svelte'; - - export let user: AniListAuthorisation; - - let activityHistoryData: Promise<ActivityHistoryEntry[]>; - let generated = false; - - onMount(async () => { - clearAllParameters(); - - if (user !== undefined) activityHistoryData = activityHistory($userIdentity); - }); - - // const incrementDate = (date: Date): Date => { - // date.setDate(date.getDate() + 1); - - // return date; - // }; - - const screenshot = async () => { - let element = document.querySelector('.grid') as HTMLElement; - - if (element !== null) { - domToBlob(element, { - quality: 1, - scale: 2 - }).then((blob) => { - const downloadWrapper = document.createElement('a'); - const image = document.createElement('img'); - const object = (window.URL || window.webkitURL || window || {}).createObjectURL(blob); - - downloadWrapper.href = object; - downloadWrapper.target = '_blank'; - image.src = object; - - downloadWrapper.appendChild(image); - - const gridFinal = document.getElementById('grid-final'); - - if (gridFinal !== null) { - gridFinal.innerHTML = ''; - - gridFinal.appendChild(downloadWrapper); - - generated = true; - } - - downloadWrapper.click(); - }); - } - }; +import Spacer from "$lib/Layout/Spacer.svelte"; +import { + activityHistory, + fillMissingDays, + type ActivityHistoryEntry, +} from "$lib/Data/AniList/activity"; +import { onMount } from "svelte"; +import userIdentity from "$stores/identity"; +import type { AniListAuthorisation } from "$lib/Data/AniList/identity"; +import { clearAllParameters } from "../../Utility/parameters"; +import { domToBlob } from "modern-screenshot"; +import ActivityHistoryGrid from "./Grid.svelte"; +import SettingHint from "$lib/Settings/SettingHint.svelte"; +import Skeleton from "$lib/Loading/Skeleton.svelte"; +import LogInRestricted from "$lib/Error/LogInRestricted.svelte"; + +export let user: AniListAuthorisation; + +let activityHistoryData: Promise<ActivityHistoryEntry[]>; +let generated = false; + +onMount(async () => { + clearAllParameters(); + + if (user !== undefined) activityHistoryData = activityHistory($userIdentity); +}); + +// const incrementDate = (date: Date): Date => { +// date.setDate(date.getDate() + 1); + +// return date; +// }; + +const screenshot = async () => { + let element = document.querySelector(".grid") as HTMLElement; + + if (element !== null) { + domToBlob(element, { + quality: 1, + scale: 2, + }).then((blob) => { + const downloadWrapper = document.createElement("a"); + const image = document.createElement("img"); + const object = ( + window.URL || + window.webkitURL || + window || + {} + ).createObjectURL(blob); + + downloadWrapper.href = object; + downloadWrapper.target = "_blank"; + image.src = object; + + downloadWrapper.appendChild(image); + + const gridFinal = document.getElementById("grid-final"); + + if (gridFinal !== null) { + gridFinal.innerHTML = ""; + + gridFinal.appendChild(downloadWrapper); + + generated = true; + } + + downloadWrapper.click(); + }); + } +}; </script> {#if user === undefined} |