diff options
| author | Fuwn <[email protected]> | 2023-12-24 03:05:43 -0800 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-12-24 03:05:43 -0800 |
| commit | 43336c04b4c646699ca004acdda6638bb7b3d241 (patch) | |
| tree | 0dcbf617debf0f3ef1d1554261b3835248a12812 /src/lib/Tools/ActivityHistory.svelte | |
| parent | refactor(utility): move utilities to module (diff) | |
| download | due.moe-43336c04b4c646699ca004acdda6638bb7b3d241.tar.xz due.moe-43336c04b4c646699ca004acdda6638bb7b3d241.zip | |
refactor(tools): activity history to module
Diffstat (limited to 'src/lib/Tools/ActivityHistory.svelte')
| -rw-r--r-- | src/lib/Tools/ActivityHistory.svelte | 117 |
1 files changed, 0 insertions, 117 deletions
diff --git a/src/lib/Tools/ActivityHistory.svelte b/src/lib/Tools/ActivityHistory.svelte deleted file mode 100644 index 811241fa..00000000 --- a/src/lib/Tools/ActivityHistory.svelte +++ /dev/null @@ -1,117 +0,0 @@ -<script lang="ts"> - import { - activityHistory, - fillMissingDays, - type ActivityHistoryEntry - } from '$lib/AniList/activity'; - import { onMount } from 'svelte'; - import userIdentity from '../../stores/userIdentity'; - import { - userIdentity as getUserIdentity, - type AniListAuthorisation - } from '$lib/AniList/identity'; - import { clearAllParameters } from '../Utility/parameters'; - import { domToBlob } from 'modern-screenshot'; - import ActivityHistoryGrid from './ActivityHistoryGrid.svelte'; - - export let user: AniListAuthorisation; - - let activityHistoryData: Promise<ActivityHistoryEntry[]>; - let currentUserIdentity = { name: '', id: -1 }; - let generated = false; - - onMount(async () => { - clearAllParameters(); - - if (user !== undefined) { - if ($userIdentity === '') userIdentity.set(JSON.stringify(await getUserIdentity(user))); - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - activityHistoryData = activityHistory(currentUserIdentity); - } - }); - - // 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} - Please log in to view this page. -{:else} - {#await activityHistoryData} - Loading activity history ... 33% - {:then activities} - {#if activities === undefined} - Loading activities ... 66% - {:else} - {@const filledActivities = fillMissingDays(activities)} - - <ActivityHistoryGrid {user} /> - - <p /> - - <div id="grid-final" /> - - {#if generated} - <p /> - {/if} - - <p><a href={'#'} on:click={screenshot}>Generate grid image</a></p> - - <details open> - <summary> - Days in risk of developing an activity history hole. (days with one activity) - </summary> - - <ul> - {#each filledActivities as activity} - {#if activity.amount === 0} - <li> - {new Date( - activity.date * 1000 + new Date().getTimezoneOffset() * 60 * 1000 - ).toDateString()} - </li> - {/if} - {/each} - </ul> - </details> - {/if} - {/await} -{/if} |