aboutsummaryrefslogtreecommitdiff
path: root/src/lib/Tools/Wrapped/Tool.svelte
diff options
context:
space:
mode:
authorFuwn <[email protected]>2025-12-15 02:46:17 -0800
committerFuwn <[email protected]>2025-12-15 02:46:17 -0800
commit87d3569e8da3b69e574e17d27e5dd0fb3dcfdc67 (patch)
treef3bc10147cbab6dc855c5e4faa483645f34a2918 /src/lib/Tools/Wrapped/Tool.svelte
parentfix(api:birthdays): Update HTML parser for primary source (diff)
downloaddue.moe-87d3569e8da3b69e574e17d27e5dd0fb3dcfdc67.tar.xz
due.moe-87d3569e8da3b69e574e17d27e5dd0fb3dcfdc67.zip
feat(Wrapped): Add detailed activity fetcher toggle
Diffstat (limited to 'src/lib/Tools/Wrapped/Tool.svelte')
-rw-r--r--src/lib/Tools/Wrapped/Tool.svelte35
1 files changed, 25 insertions, 10 deletions
diff --git a/src/lib/Tools/Wrapped/Tool.svelte b/src/lib/Tools/Wrapped/Tool.svelte
index e505ffd5..bcc33f68 100644
--- a/src/lib/Tools/Wrapped/Tool.svelte
+++ b/src/lib/Tools/Wrapped/Tool.svelte
@@ -59,6 +59,7 @@
let excludedKeywordsInput = '';
let excludedKeywords: string[] = [];
let useFullActivityHistory = false;
+ let disableLoopingActivityCounter = false;
let topGenresTags = true;
let topMedia: TopMedia;
let highestRatedMediaPercentage = true;
@@ -99,6 +100,10 @@
$page.url.searchParams.set('includeMovies', includeMovies.toString());
$page.url.searchParams.set('includeOVAs', includeOVAs.toString());
$page.url.searchParams.set('excludeUnratedUnwatched', excludeUnratedUnwatched.toString());
+ $page.url.searchParams.set(
+ 'disableLoopingActivityCounter',
+ disableLoopingActivityCounter.toString()
+ );
history.replaceState(null, '', `?${$page.url.searchParams.toString()}`);
}
@@ -250,7 +255,8 @@
'genreTagsSort',
'mediaSort',
'includeMovies',
- 'includeOVAs'
+ 'includeOVAs',
+ 'disableLoopingActivityCounter'
]);
if (browser) {
@@ -264,6 +270,8 @@
highestRatedCount = parseInt($page.url.searchParams.get('highestRatedCount') || '5', 10);
genreTagCount = parseInt($page.url.searchParams.get('genreTagCount') || '5', 10);
disableActivityHistory = $page.url.searchParams.get('disableActivityHistory') === 'true';
+ disableLoopingActivityCounter =
+ $page.url.searchParams.get('disableLoopingActivityCounter') === 'true';
highestRatedMediaPercentage =
$page.url.searchParams.get('highestRatedMediaPercentage') === 'true';
highestRatedGenreTagPercentage =
@@ -300,8 +308,8 @@
(includeRepeats
? true
: item.startDate.year === selectedYear || item.endDate.year === selectedYear
- ? true
- : item.mediaListEntry?.repeat === 0) &&
+ ? true
+ : item.mediaListEntry?.repeat === 0) &&
(item.mediaListEntry?.startedAt.year === selectedYear ||
item.mediaListEntry?.completedAt.year === selectedYear ||
((item.mediaListEntry?.createdAt
@@ -355,8 +363,8 @@
(includeRepeats
? true
: item.startDate.year === selectedYear || item.endDate.year === selectedYear
- ? true
- : item.mediaListEntry?.repeat === 0) &&
+ ? true
+ : item.mediaListEntry?.repeat === 0) &&
(item.mediaListEntry?.startedAt.year === selectedYear ||
item.mediaListEntry?.completedAt.year === selectedYear ||
((item.mediaListEntry?.createdAt
@@ -606,12 +614,12 @@
{#if $userIdentity.id === -2 || user === undefined}
<LogInRestricted />
{:else if $userIdentity.id !== -1}
- {#await selectedYear !== currentYear || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, $userIdentity, selectedYear) : getActivityHistory($userIdentity)}
+ {#await selectedYear !== currentYear || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, $userIdentity, selectedYear, disableLoopingActivityCounter) : getActivityHistory($userIdentity)}
<Message message="Loading activity history ..." />
<Skeleton count={2} />
{:then activities}
- {#await wrapped(user, $userIdentity, selectedYear)}
+ {#await wrapped(user, $userIdentity, selectedYear, false, disableLoopingActivityCounter)}
<Message message="Loading user data ..." />
<Skeleton count={2} />
@@ -669,10 +677,10 @@
</div>
<div class="list">
<div class:card={generated}>
- <div id="wrapped-final"></div>
+ <div id="wrapped-final" />
{#if generated}
- <p></p>
+ <p />
<blockquote style="margin: 0 0 0 1.5rem;">
Click on the image to download, or right click and select "Save Image As...".
@@ -681,7 +689,7 @@
</div>
{#if generated}
- <p></p>
+ <p />
{/if}
<div id="options" class="card">
@@ -806,6 +814,13 @@
<br />
<SettingHint>Comma separated list (e.g., "My Hero, Kaguya")</SettingHint>
</details>
+
+ <details class="no-shadow" open>
+ <summary>Advanced</summary>
+
+ <input type="checkbox" bind:checked={disableLoopingActivityCounter} />
+ Disable detailed activity information
+ </details>
</div>
</div>
</div>