aboutsummaryrefslogtreecommitdiff
path: root/src/lib
diff options
context:
space:
mode:
Diffstat (limited to 'src/lib')
-rw-r--r--src/lib/Tools/Wrapped.svelte61
1 files changed, 39 insertions, 22 deletions
diff --git a/src/lib/Tools/Wrapped.svelte b/src/lib/Tools/Wrapped.svelte
index a7bbdccf..b0b58890 100644
--- a/src/lib/Tools/Wrapped.svelte
+++ b/src/lib/Tools/Wrapped.svelte
@@ -29,7 +29,8 @@
export let user: AniListAuthorisation;
- let currentYear = new Date(Date.now()).getFullYear();
+ const currentYear = new Date(Date.now()).getFullYear();
+ let selectedYear = new Date(Date.now()).getFullYear();
let currentUserIdentity = { name: '', id: -1 };
let episodes = 0;
let chapters = 0;
@@ -104,7 +105,7 @@
mediaSort = mediaSort;
includeMovies = includeMovies;
includeOVAs = includeOVAs;
- currentYear = currentYear;
+ selectedYear = selectedYear;
update().then(updateWidth).catch(updateWidth);
}
@@ -290,11 +291,11 @@
(includeMusic ? true : item.format !== 'MUSIC') &&
(includeRepeats
? true
- : item.startDate.year === currentYear || item.endDate.year === currentYear
+ : item.startDate.year === selectedYear || item.endDate.year === selectedYear
? true
: item.mediaListEntry?.repeat === 0) &&
- (item.mediaListEntry?.startedAt.year === currentYear ||
- item.mediaListEntry?.completedAt.year === currentYear) &&
+ (item.mediaListEntry?.startedAt.year === selectedYear ||
+ item.mediaListEntry?.completedAt.year === selectedYear) &&
(includeMovies ? true : item.format !== 'MOVIE') &&
(includeSpecials ? true : item.format !== 'SPECIAL') &&
(includeOVAs ? true : item.format !== 'OVA')
@@ -334,8 +335,8 @@
(item, index, self) =>
self.findIndex((itemToCompare) => itemToCompare.id === item.id) === index &&
(includeRepeats ? true : item.mediaListEntry?.repeat === 0) &&
- (item.mediaListEntry?.startedAt.year === currentYear ||
- item.mediaListEntry?.completedAt.year === currentYear)
+ (item.mediaListEntry?.startedAt.year === selectedYear ||
+ item.mediaListEntry?.completedAt.year === selectedYear)
)
.sort((a, b) => {
if (a.mediaListEntry?.score === undefined) return 1;
@@ -482,10 +483,10 @@
{#if currentUserIdentity.id === -2}
Please log in to view this page.
{:else if currentUserIdentity.id !== -1}
- {#await currentYear !== new Date(Date.now()).getFullYear() || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, currentUserIdentity, currentYear) : getActivityHistory(currentUserIdentity)}
+ {#await selectedYear !== currentYear || useFullActivityHistory || new Date().getMonth() <= 6 ? fullActivityHistory(user, currentUserIdentity, selectedYear) : getActivityHistory(currentUserIdentity)}
{@html nbsp(`Loading${useFullActivityHistory ? ' full-year' : ''} activity history ...`)}
{:then activities}
- {#await wrapped(user, currentUserIdentity, currentYear)}
+ {#await wrapped(user, currentUserIdentity, selectedYear)}
{@html nbsp('Loading user data ...')}
{:then wrapped}
<div id="list-container">
@@ -495,11 +496,15 @@
style={`width: ${width}px; flex-shrink: 0;`}
class:transparent={transparency}
>
- {#if !disableActivityHistory && activityHistoryPosition === 'TOP' && activities.length > 0}
+ {#if !disableActivityHistory && activityHistoryPosition === 'TOP' && activities.length > 0 && selectedYear === currentYear}
<div class="categories-grid" style="padding-bottom: 0;">
<div class="category-grid bottom-category pure-category category">
<div id="activity-history">
- <ActivityHistoryGrid {user} activityData={activities} />
+ <ActivityHistoryGrid
+ {user}
+ activityData={activities}
+ currentYear={selectedYear}
+ />
</div>
</div>
</div>
@@ -524,7 +529,7 @@
Messages: {wrapped.activities.messageCount}
</div>
<div>
- Days Active: {#if currentYear !== new Date(Date.now()).getFullYear()}
+ Days Active: {#if selectedYear !== currentYear}
?/365
{:else}
{activities.length}/{useFullActivityHistory ? 365 : 189}
@@ -559,11 +564,15 @@
</div>
</div>
</div>
- {#if !disableActivityHistory && activityHistoryPosition === 'BELOW_TOP' && activities.length > 0}
+ {#if !disableActivityHistory && activityHistoryPosition === 'BELOW_TOP' && activities.length > 0 && selectedYear === currentYear}
<div class="categories-grid" style="padding-bottom: 0;">
<div class="category-grid bottom-category pure-category category">
<div id="activity-history">
- <ActivityHistoryGrid {user} activityData={activities} />
+ <ActivityHistoryGrid
+ {user}
+ activityData={activities}
+ currentYear={selectedYear}
+ />
</div>
</div>
</div>
@@ -734,11 +743,15 @@
{/if}
</div>
{/if}
- {#if !disableActivityHistory && activityHistoryPosition === 'ORIGINAL' && activities.length > 0}
+ {#if !disableActivityHistory && activityHistoryPosition === 'ORIGINAL' && activities.length > 0 && selectedYear === currentYear}
<div class="categories-grid" style="padding-top: 0;">
<div class="category-grid bottom-category pure-category category">
<div id="activity-history">
- <ActivityHistoryGrid {user} activityData={activities} />
+ <ActivityHistoryGrid
+ {user}
+ activityData={activities}
+ currentYear={selectedYear}
+ />
</div>
</div>
</div>
@@ -771,8 +784,12 @@
Enable light mode<br />
<input type="checkbox" bind:checked={topGenresTags} />
Show top genres and tags<br />
- <input type="checkbox" bind:checked={disableActivityHistory} /> Hide activity
- history<br />
+ <input
+ type="checkbox"
+ bind:checked={disableActivityHistory}
+ disabled={selectedYear !== currentYear}
+ />
+ Hide activity history<br />
<input type="checkbox" bind:checked={highestRatedMediaPercentage} /> Show highest
rated media percentages<br />
<input type="checkbox" bind:checked={highestRatedGenreTagPercentage} /> Show highest
@@ -811,10 +828,10 @@
<SettingHint>
<a href={'#'} on:click={pruneFullYear}>Refresh data</a>
</SettingHint><br />
- <select bind:value={currentYear}>
- {#each Array.from({ length: new Date(Date.now()).getFullYear() - 2012 }) as _, i}
- <option value={new Date(Date.now()).getFullYear() - i}>
- {new Date(Date.now()).getFullYear() - i}
+ <select bind:value={selectedYear}>
+ {#each Array.from({ length: currentYear - 2012 }) as _, i}
+ <option value={currentYear - i}>
+ {currentYear - i}
</option>
{/each}
</select>