{#if currentUserIdentity.id === -2} Please log in to view this page. {:else if currentUserIdentity.id !== -1} {#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, selectedYear)} {@html nbsp('Loading user data ...')} {:then wrapped}
{#if !disableActivityHistory && activityHistoryPosition === 'TOP' && activities.length > 0 && selectedYear === currentYear}
{/if}
User Avatar
Status Posts: {wrapped.activities.statusCount}
Messages: {wrapped.activities.messageCount}
Days Active: {#if selectedYear !== currentYear} ?/365 {:else} {activities.length}/{useFullActivityHistory ? 365 : 189} {/if}
Anime
Time Watched: {((minutesWatched || 0) / 60 / 24).toFixed(2)} days
Completed: {animeList?.length || 0}
Episodes: {episodes}
Manga
Time Read: {estimatedDayReading(chapters).toFixed(2)} days
Completed: {mangaList?.length || 0}
Chapters: {chapters}
{#if !disableActivityHistory && activityHistoryPosition === 'BELOW_TOP' && activities.length > 0 && selectedYear === currentYear}
{/if} {#if animeList !== undefined || mangaList !== undefined}
Highest Rated Anime Cover
{animeMostTitle} Anime
    {#if animeList !== undefined && animeList.length !== 0} {#each animeList?.slice(0, highestRatedCount) as anime}
  1. {highestRatedMediaPercentage && anime.mediaListEntry && anime.mediaListEntry?.score > 0 ? `: ${anime.mediaListEntry?.score}%` : ''}
  2. {/each} {:else}
  3. (⌣_⌣”)

  4. {/if}
Highest Rated Manga Cover
{mangaMostTitle} Manga
    {#if mangaList !== undefined && mangaList.length !== 0} {#each mangaList?.slice(0, highestRatedCount) as manga}
  1. {highestRatedMediaPercentage && manga.mediaListEntry && manga.mediaListEntry?.score > 0 ? `: ${manga.mediaListEntry?.score}%` : ''}
  2. {/each} {:else}
  3. (⌣_⌣”)

  4. {/if}
{/if} {#if topMedia && topGenresTags && ((topMedia.topGenreMedia && topMedia.genres.length > 0) || (topMedia.topTagMedia && topMedia.tags.length > 0))}
{#if topMedia.topGenreMedia && topMedia.genres.length > 0}
Highest Rated Genre Cover
{genreTagTitle} Genres
    {#each topMedia.genres as genre}
  1. {genre.genre}{highestRatedGenreTagPercentage ? `: ${genre.averageScore}%` : ''}
  2. {/each}
{/if} {#if topMedia.topTagMedia && topMedia.tags.length > 0}
Highest Rated Tag Cover
{genreTagTitle} Tags
    {#each topMedia.tags as tag}
  1. {tag.tag}{highestRatedGenreTagPercentage ? `: ${tag.averageScore}%` : ''}
  2. {/each}
{/if}
{/if} {#if !disableActivityHistory && activityHistoryPosition === 'ORIGINAL' && activities.length > 0 && selectedYear === currentYear}
{/if} {#if watermark} {/if}

Generate image

Options
Display Show watermark
Enable background transparency
Enable light mode
Show top genres and tags
Hide activity history
Show highest rated media percentages
Show highest rated genre and tag percentages
Activity history position
Highest rated media count
Highest genre and tag count
Width adjustment

Calculation Enable full-year activity Refresh data
Calculate for year
Anime and manga sort
Genre and tag sort
Include music
Include rewatches & rereads
Include specials
Include OVAs
Include movies
{ e.key === 'Enter' && submitExcludedKeywords(); }} /> Excluded keywords Submit
Comma separated list (e.g., "My Hero, Kaguya")

{#if generated}

Click on the image to download, or right click and select "Save Image As...".
{/if}
{:catch} {/await} {:catch} {#if useFullActivityHistory}

With many activities, it may take multiple attempts to obtain all of your activity history from AniList. If this occurs, wait one minute and try again to continue populating your local activity history database.

{/if}
{/await} {:else} {@html nbsp('Loading user identity ...')} {/if}