rendering

This commit is contained in:
bkfox 2024-01-27 19:24:24 +01:00
parent 5bb52a9d67
commit b9148933f4
7 changed files with 29 additions and 14 deletions

View File

@ -164,7 +164,7 @@ class Log(Renderable, models.Model):
object_list += [cls(obj) for obj in items]
@classmethod
def merge_diffusions(cls, logs, diffs, count=None, diff_count=None, log_slice=None, group_logs=False):
def merge_diffusions(cls, logs, diffs, count=None, diff_count=None, group_logs=False):
"""Merge logs and diffusions together.
`logs` can either be a queryset or a list ordered by `Log.date`.
@ -179,7 +179,7 @@ class Log(Renderable, models.Model):
while True:
if not len(diffs):
cls._append_logs(object_list, logs, len(logs), slice=log_slice, group=group_logs)
cls._append_logs(object_list, logs, len(logs), group=group_logs)
break
if not len(logs):
@ -190,7 +190,7 @@ class Log(Renderable, models.Model):
# - takes all logs after diff start
index = cls._next_index(logs, diff.end, len(logs), pred=operator.le)
cls._append_logs(object_list, logs, index, slice=log_slice, group=group_logs)
cls._append_logs(object_list, logs, index, group=group_logs)
if len(logs):
# FIXME
@ -214,9 +214,7 @@ class Log(Renderable, models.Model):
return next(iter, default)
@classmethod
def _append_logs(cls, object_list, logs, count, slice=None, group=False):
if slice:
count = min(slice, count)
def _append_logs(cls, object_list, logs, count, group=False):
logs = logs[:count]
if not logs:
return object_list
@ -239,7 +237,8 @@ class Log(Renderable, models.Model):
yield cum
cum = []
last_time = hour
cum.append(log)
# reverse from lowest to highest date
cum.insert(0, log)
if cum:
yield cum

View File

@ -491,7 +491,6 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
padding: 0.4rem !important;
min-width: calc(var(--a-player-bar-height) + 0.8rem);
border-radius: 0px;
transition: background-color 0.5s;
}
.a-player-bar .button.open {
background-color: var(--a-player-bar-button-hg-bg);

View File

@ -491,7 +491,6 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
padding: 0.4rem !important;
min-width: calc(var(--a-player-bar-height) + 0.8rem);
border-radius: 0px;
transition: background-color 0.5s;
}
.a-player-bar .button.open {
background-color: var(--a-player-bar-button-hg-bg);
@ -7323,6 +7322,9 @@ a.tag:hover {
margin: 0.6rem;
margin-left: 0rem;
}
.schedule .heading {
padding: 0em;
}
.schedule .day {
font-weight: 700;
margin-right: 0.6rem;
@ -7671,7 +7673,11 @@ nav li a, nav li .button {
margin-bottom: 2rem;
}
.list-item.logs .track {
margin-right: 0.6rem;
}
.list-item.logs .track .icon {
margin-right: 0.4rem;
color: var(--secondary-color-dark);
}
.list-item:nth-child(3n):not(.wide) {

View File

@ -30,7 +30,9 @@ The audio player
</h4>
<h4 v-else-if="current && current.data.type == 'track'"
class="title" aria-description="{% translate "Track currently on air" %}">
<span class="has-text-info is-size-3 mr-3">&#9836;</span>
<span class="icon hg-color-2 mr-3">
<i class="fas fa-music"></i>
</span>
<span>[[ current.data.title ]]</span>
<span class="has-text-grey-dark has-text-weight-light">
&mdash; [[ current.data.artist ]]

View File

@ -32,7 +32,9 @@ class HomeView(AttachedToMixin, BaseView, ListView):
logs = logs.after(min_date)
else:
logs = logs.date(today)
return Log.merge_diffusions(logs, object_list, diff_count=self.related_count, log_slice=20, group_logs=True)
return Log.merge_diffusions(
logs, object_list, diff_count=self.related_count, count=self.related_count + 2, group_logs=True
)
def get_next_diffs(self):
now = tz.now()

View File

@ -674,7 +674,6 @@
padding: v.$mp-2 !important;
min-width: calc(var(--a-player-bar-height) + v.$mp-2 * 2);
border-radius: 0px;
transition: background-color 0.5s;
&.open {
background-color: var(--a-player-bar-button-hg-bg);

View File

@ -55,6 +55,10 @@
margin: v.$mp-3;
margin-left: 0rem;
.heading {
padding: 0em;
}
.day {
font-weight: v.$weight-bold;
margin-right: v.$mp-3;
@ -407,8 +411,12 @@ nav li {
// ---- ---- list
.list-item {
&.logs {
.track .icon {
color: var(--secondary-color-dark);
.track {
margin-right: v.$mp-3;
.icon {
margin-right: v.$mp-2;
color: var(--secondary-color-dark);
}
}
}