Improve stat charts

- Use tw classes for color
- Better titles
- Limit to top 20
This commit is contained in:
Claudio Ortolina
2025-04-20 15:22:31 +01:00
parent 17c9098aba
commit 0532f661e9
4 changed files with 19 additions and 20 deletions
@@ -74,8 +74,8 @@ defmodule MusicLibraryWeb.StatsLive.Index do
def mount(_params, _session, socket) do
latest_record = Collection.get_latest_record!()
recent_tracks = LastFm.get_scrobbled_tracks()
records_by_artists = Collection.count_records_by_artist(limit: 50)
records_by_genre = Collection.count_records_by_genre(limit: 50)
records_by_artists = Collection.count_records_by_artist(limit: 20)
records_by_genre = Collection.count_records_by_genre(limit: 20)
if connected?(socket) do
LastFm.subscribe_to_feed()
@@ -71,14 +71,14 @@
<div class="mt-5 grid grid-cols-1 lg:grid-cols-2 gap-5">
<div>
<h1 class="text-base lg:text-2xl text-zinc-900 dark:text-zinc-200 font-semibold">
{gettext("Collection records by Artist")}
{gettext("Top %{n} Artists", %{n: length(@records_by_artist)})}
</h1>
<div class="mt-5 bg-white dark:bg-zinc-800 rounded-md shadow-sm">
<.vertical_bar_chart
data={@records_by_artist}
width={600}
height={35 * length(@records_by_artist)}
bar_color="rgb(79, 70, 229)"
color_class="fill-red-500"
label_fn={fn datum -> datum.name end}
value_fn={fn datum -> datum.count end}
label_click={
@@ -93,14 +93,14 @@
<div>
<h1 class="text-base lg:text-2xl text-zinc-900 dark:text-zinc-200 font-semibold">
{gettext("Collection records by Genre")}
{gettext("Top %{n} Genres", %{n: length(@records_by_genre)})}
</h1>
<div class="mt-5 bg-white dark:bg-zinc-800 rounded-md shadow-sm">
<.vertical_bar_chart
data={@records_by_genre}
width={600}
height={35 * length(@records_by_genre)}
bar_color="rgb(244, 63, 94)"
color_class="fill-zinc-500"
label_fn={fn {genre, _count} -> genre end}
value_fn={fn {_genre, count} -> count end}
label_click={