diff --git a/packages/tourmaline/src/routes/profile/[did]/+page.svelte b/packages/tourmaline/src/routes/profile/[did]/+page.svelte index 92e3fe6..125d02f 100644 --- a/packages/tourmaline/src/routes/profile/[did]/+page.svelte +++ b/packages/tourmaline/src/routes/profile/[did]/+page.svelte @@ -33,6 +33,7 @@ import OnThisDay from './OnThisDay.svelte'; import Anniversaries from './Anniversaries.svelte'; import WeeksActive from './WeeksActive.svelte'; + import ListeningCadence from './ListeningCadence.svelte'; import DateRangePicker from './DateRangePicker.svelte'; import ListeningPhases from './ListeningPhases.svelte'; import StoryRecap from './StoryRecap.svelte'; @@ -531,6 +532,7 @@ +
diff --git a/packages/tourmaline/src/routes/profile/[did]/CatalogueTab.svelte b/packages/tourmaline/src/routes/profile/[did]/CatalogueTab.svelte index 471740c..6740a63 100644 --- a/packages/tourmaline/src/routes/profile/[did]/CatalogueTab.svelte +++ b/packages/tourmaline/src/routes/profile/[did]/CatalogueTab.svelte @@ -4,6 +4,7 @@ import OnThisDay from './OnThisDay.svelte'; import Anniversaries from './Anniversaries.svelte'; import WeeksActive from './WeeksActive.svelte'; + import ListeningCadence from './ListeningCadence.svelte'; import type { ListenerProfile } from '$lib/types'; import type { OnThisDayEntry } from '$lib/analysis/on-this-day'; @@ -80,6 +81,7 @@
+ {#if profile.discoveredArtists.length > 0 || profile.discoveredTracks.length > 0 || profile.discoveredAlbums.length > 0}
diff --git a/packages/tourmaline/src/routes/profile/[did]/ListeningCadence.svelte b/packages/tourmaline/src/routes/profile/[did]/ListeningCadence.svelte new file mode 100644 index 0000000..849c11c --- /dev/null +++ b/packages/tourmaline/src/routes/profile/[did]/ListeningCadence.svelte @@ -0,0 +1,34 @@ + + +{#if artists.length > 0} +
+
+
+

Most Regular Listening

+

Artists you come back to at the most consistent intervals

+
+
+ +
+
+
    + {#each artists.slice(0, 10) as artist, i (artist.name)} +
  1. + {i + 1} + {artist.name} + {formatCadence(artist.avgDaysBetween)} +
  2. + {/each} +
+
+{/if}