Fix top chart view

This commit is contained in:
2023-12-05 16:39:34 +01:00
parent 7a9f4a0876
commit 4e694bd1b3
4 changed files with 365 additions and 360 deletions

View File

@ -98,32 +98,32 @@ class RecentScrobbleList(ListView):
user=self.request.user, user=self.request.user,
) )
# limit = 14 limit = 14
# artist = {"user": user, "media_type": "Artist", "limit": limit} artist = {"user": user, "media_type": "Artist", "limit": limit}
# This is weird. They don't display properly as QuerySets, so we cast to lists #This is weird. They don't display properly as QuerySets, so we cast to lists
# data["chart_keys"] = { data["chart_keys"] = {
# "today": "Today", "today": "Today",
# "last7": "Last 7 days", "last7": "Last 7 days",
# "last30": "Last 30 days", "last30": "Last 30 days",
# "year": "This year", "year": "This year",
# "all": "All time", "all": "All time",
# } }
# data["current_artist_charts"] = { data["current_artist_charts"] = {
# "today": list(live_charts(**artist, chart_period="today")), "today": list(live_charts(**artist, chart_period="today")),
# "last7": list(live_charts(**artist, chart_period="last7")), "last7": list(live_charts(**artist, chart_period="last7")),
# "last30": list(live_charts(**artist, chart_period="last30")), "last30": list(live_charts(**artist, chart_period="last30")),
# "year": list(live_charts(**artist, chart_period="year")), "year": list(live_charts(**artist, chart_period="year")),
# "all": list(live_charts(**artist)), "all": list(live_charts(**artist)),
# } }
# track = {"user": user, "media_type": "Track", "limit": limit} track = {"user": user, "media_type": "Track", "limit": limit}
# data["current_track_charts"] = { data["current_track_charts"] = {
# "today": list(live_charts(**track, chart_period="today")), "today": list(live_charts(**track, chart_period="today")),
# "last7": list(live_charts(**track, chart_period="last7")), "last7": list(live_charts(**track, chart_period="last7")),
# "last30": list(live_charts(**track, chart_period="last30")), "last30": list(live_charts(**track, chart_period="last30")),
# "year": list(live_charts(**track, chart_period="year")), "year": list(live_charts(**track, chart_period="year")),
# "all": list(live_charts(**track)), "all": list(live_charts(**track)),
# } }
data["counts"] = scrobble_counts(user) data["counts"] = scrobble_counts(user)
else: else:
data["weekly_data"] = week_of_scrobbles() data["weekly_data"] = week_of_scrobbles()

View File

@ -1,5 +1,8 @@
<h2>Last Scrobbles</h2> {% load humanize %}
<p>Today <b>{{counts.today}}</b> | This Week <b>{{counts.week}}</b> | This Month <b>{{counts.month}}</b> | This Year <b>{{counts.year}}</b> | All Time <b>{{counts.alltime}}</b></p> {% load naturalduration %}
<div>
<h2>Last Scrobbles</h2>
<p>Today <b>{{counts.today}}</b> | This Week <b>{{counts.week}}</b> | This Month <b>{{counts.month}}</b> | This Year <b>{{counts.year}}</b> | All Time <b>{{counts.alltime}}</b></p>
</div> </div>
<div class="row"> <div class="row">
<ul class="nav nav-tabs" id="myTab" role="tablist"> <ul class="nav nav-tabs" id="myTab" role="tablist">
@ -206,4 +209,4 @@
</div> </div>
</div> </div>
</div> </div>
{% endif %} </div>

View File

@ -1,5 +1,6 @@
<h2>Top Artist</h2> {% load static %}
<ul class="nav nav-tabs" id="artistTab" role="tablist"> <h2>Top Artist</h2>
<ul class="nav nav-tabs" id="artistTab" role="tablist">
{% for key, name in chart_keys.items %} {% for key, name in chart_keys.items %}
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link {% if forloop.counter == 2 %}active{% endif %}" <button class="nav-link {% if forloop.counter == 2 %}active{% endif %}"
@ -7,9 +8,9 @@
type="button" role="tab" aria-controls="home" aria-selected="true">{{name}}</button> type="button" role="tab" aria-controls="home" aria-selected="true">{{name}}</button>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
<div class="tab-content" id="artistTabContent" class="maloja-chart"> <div class="tab-content" id="artistTabContent" class="maloja-chart">
{% for key, artists in current_artist_charts.items %} {% for key, artists in current_artist_charts.items %}
<div class="tab-pane fade {% if forloop.counter == 2 %}show active{% endif %}" id="artist-{{key}}" role="tabpanel" aria-labelledby="artist-{{key}}-tab"> <div class="tab-pane fade {% if forloop.counter == 2 %}show active{% endif %}" id="artist-{{key}}" role="tabpanel" aria-labelledby="artist-{{key}}-tab">
<div style="display:block"> <div style="display:block">
@ -166,21 +167,21 @@
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>
</div> </div>
<div class="row"> <div class="row">
<h2>Top Tracks</h2> <h2>Top Tracks</h2>
<ul class="nav nav-tabs" id="trackTab" role="tablist"> <ul class="nav nav-tabs" id="trackTab" role="tablist">
{% for key, name in chart_keys.items %} {% for key, name in chart_keys.items %}
<li class="nav-item" role="presentation"> <li class="nav-item" role="presentation">
<button class="nav-link {% if forloop.counter == 2 %}active{% endif %}" id="track-{{key}}-tab" data-bs-toggle="tab" <button class="nav-link {% if forloop.counter == 2 %}active{% endif %}" id="track-{{key}}-tab" data-bs-toggle="tab"
data-bs-target="#track-{{key}}" type="button" role="tab" aria-controls="home" aria-selected="true">{{name}}</button> data-bs-target="#track-{{key}}" type="button" role="tab" aria-controls="home" aria-selected="true">{{name}}</button>
</li> </li>
{% endfor %} {% endfor %}
</ul> </ul>
<div class="tab-content" id="trackTabContent" class="maloja-chart"> <div class="tab-content" id="trackTabContent" class="maloja-chart">
{% for chart_name, tracks in current_track_charts.items %} {% for chart_name, tracks in current_track_charts.items %}
<div class="tab-pane fade {% if forloop.counter == 2 %}show active{% endif %}" id="track-{{chart_name}}" role="tabpanel" aria-labelledby="track-{{chart_name}}-tab"> <div class="tab-pane fade {% if forloop.counter == 2 %}show active{% endif %}" id="track-{{chart_name}}" role="tabpanel" aria-labelledby="track-{{chart_name}}-tab">
<div style="display:block"> <div style="display:block">
@ -337,4 +338,4 @@
</div> </div>
</div> </div>
{% endfor %} {% endfor %}
</div> </div>

View File

@ -1,6 +1,6 @@
{% extends "base.html" %} {% extends "base.html" %}
{% load humanize %}
{% load static %} {% load static %}
{% load humanize %}
{% load naturalduration %} {% load naturalduration %}
{% block head_extra %} {% block head_extra %}
@ -85,7 +85,6 @@
{% endif %} {% endif %}
<div class="container"> <div class="container">
{% if user.is_authenticated %} {% if user.is_authenticated %}
<div class="row"> <div class="row">
{% include "scrobbles/_top_charts.html" %} {% include "scrobbles/_top_charts.html" %}
@ -94,6 +93,8 @@
<div class="row"> <div class="row">
{% include "scrobbles/_last_scrobbles.html" %} {% include "scrobbles/_last_scrobbles.html" %}
</div> </div>
{% endif %}
</div>
</main> </main>
<div class="modal fade" id="importModal" tabindex="-1" role="dialog" aria-labelledby="importModalLabel" <div class="modal fade" id="importModal" tabindex="-1" role="dialog" aria-labelledby="importModalLabel"