aboutsummaryrefslogtreecommitdiff
path: root/src/routes
diff options
context:
space:
mode:
authorFuwn <[email protected]>2023-09-22 23:48:39 -0700
committerFuwn <[email protected]>2023-09-22 23:48:39 -0700
commit2caef2c1723801e6145331003e7b430e9772b65a (patch)
treedfaa9a361c503bbb5a6de8a18ecb3d083d3d8d37 /src/routes
parentfeat(layout): tools in navbar (diff)
downloaddue.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.svelte94
-rw-r--r--src/routes/tools/+page.svelte6
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()}