aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tools/ActivityHistory.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-12-24 03:05:43 -0800
committerFuwn <[email protected]>2023-12-24 03:05:43 -0800
commit43336c04b4c646699ca004acdda6638bb7b3d241 (patch)
tree0dcbf617debf0f3ef1d1554261b3835248a12812 /src/lib/Tools/ActivityHistory.svelte
parentrefactor(utility): move utilities to module (diff)
downloaddue.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.svelte117
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}