diff options
Diffstat (limited to 'src/lib')
| -rw-r--r-- | src/lib/Tools/Wrapped.svelte | 61 |
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> |