diff options
| author | Fuwn <[email protected]> | 2023-09-22 23:48:39 -0700 |
|---|---|---|
| committer | Fuwn <[email protected]> | 2023-09-22 23:48:39 -0700 |
| commit | 2caef2c1723801e6145331003e7b430e9772b65a (patch) | |
| tree | dfaa9a361c503bbb5a6de8a18ecb3d083d3d8d37 /src/routes | |
| parent | feat(layout): tools in navbar (diff) | |
| download | due.moe-2caef2c1723801e6145331003e7b430e9772b65a.tar.xz due.moe-2caef2c1723801e6145331003e7b430e9772b65a.zip | |
feat(tools): move activity history
Diffstat (limited to 'src/routes')
| -rw-r--r-- | src/routes/history/+page.svelte | 94 | ||||
| -rw-r--r-- | src/routes/tools/+page.svelte | 6 |
2 files changed, 6 insertions, 94 deletions
diff --git a/src/routes/history/+page.svelte b/src/routes/history/+page.svelte deleted file mode 100644 index 2bb0f129..00000000 --- a/src/routes/history/+page.svelte +++ /dev/null @@ -1,94 +0,0 @@ -<script lang="ts"> - import { activityHistory, type ActivityHistoryEntry } from '$lib/AniList/activity.js'; - import { onMount } from 'svelte'; - import userIdentity from '../../stores/userIdentity.js'; - import { userIdentity as getUserIdentity } from '$lib/AniList/identity'; - - export let data; - - let activityHistoryData: Promise<ActivityHistoryEntry[]>; - let currentUserIdentity = { name: '', id: -1 }; - const timezoneOffset = new Date().getTimezoneOffset() * 60 * 1000; - - onMount(async () => { - if (data.user !== undefined) { - if ($userIdentity === '') { - userIdentity.set(JSON.stringify(await getUserIdentity(data.user))); - } - - currentUserIdentity = JSON.parse($userIdentity); - currentUserIdentity.name = currentUserIdentity.name; - activityHistoryData = activityHistory(currentUserIdentity); - console.log(fillMissingDays(await activityHistory(currentUserIdentity))); - } - }); - - const fillMissingDays = (inputActivities: ActivityHistoryEntry[]): ActivityHistoryEntry[] => { - let activities = inputActivities; - const firstDate = new Date(activities[0].date * 1000 + timezoneOffset); - const lastDate = new Date(activities[activities.length - 1].date * 1000 + timezoneOffset); - const currentDate = firstDate; - - while (currentDate <= lastDate) { - const current_unix_timestamp = currentDate.getTime(); - let found = false; - - for (let i = 0; i < activities.length; i++) { - if (activities[i].date * 1000 + timezoneOffset === current_unix_timestamp) { - found = true; - - break; - } - } - - if (!found) { - activities.push({ - date: current_unix_timestamp / 1000, - amount: 0 - }); - } - - currentDate.setDate(currentDate.getDate() + 1); - } - - // activities.sort((a: { date: number }, b: { date: number }) => a.date - b.date); - - return activities; - }; - - // const incrementDate = (date: Date): Date => { - // date.setDate(date.getDate() + 1); - - // return date; - // }; -</script> - -<details open> - <summary>Activity History</summary> - - Days in risk of developing an activity history hole. (days with one activity) - - <p /> - - {#if data.user === undefined} - Please log in to view this page. - {:else} - {#await activityHistoryData} - Loading ... - {:then activities} - {#if activities === undefined} - Loading ... - {:else} - <ul> - {#each fillMissingDays(activities) as activity} - {#if activity.amount === 0} - <li> - {new Date(activity.date * 1000 + timezoneOffset).toDateString()} - </li> - {/if} - {/each} - </ul> - {/if} - {/await} - {/if} -</details> diff --git a/src/routes/tools/+page.svelte b/src/routes/tools/+page.svelte index 53ace72b..1bf7a4a3 100644 --- a/src/routes/tools/+page.svelte +++ b/src/routes/tools/+page.svelte @@ -1,6 +1,9 @@ <script lang="ts"> + import ActivityHistory from '$lib/ActivityHistory.svelte'; import { todaysCharacterBirthdays } from '$lib/AniList/character'; + export let data; + let tool: number; </script> @@ -8,11 +11,14 @@ <select bind:value={tool}> <option value={0}>Tools</option> <option value={1}>Today's Character Birthdays</option> + <option value={2}>Activity History Hole Risks</option> </select> </p> {#if tool === 0} Select a tool to continue. +{:else if tool === 2} + <ActivityHistory user={data.user} /> {:else if tool === 1} <ul> {#await todaysCharacterBirthdays()} |