rendering

This commit is contained in:
bkfox 2024-01-27 18:56:05 +01:00
parent 8cf57c07b2
commit 5bb52a9d67
7 changed files with 35 additions and 8 deletions

View File

@ -208,13 +208,13 @@ class Log(Renderable, models.Model):
return object_list if count is None else object_list[:count]
@staticmethod
def _next_index(items, date, default, pred=operator.lt):
@classmethod
def _next_index(cls, items, date, default, pred=operator.lt):
iter = (i for i, v in enumerate(items) if pred(v.date, date))
return next(iter, default)
@staticmethod
def _append_logs(object_list, logs, count, slice=None, group=False):
@classmethod
def _append_logs(cls, object_list, logs, count, slice=None, group=False):
if slice:
count = min(slice, count)
logs = logs[:count]
@ -222,11 +222,27 @@ class Log(Renderable, models.Model):
return object_list
if group:
object_list.append(logs)
grouped = cls._group_logs_by_time(logs)
object_list.extend(grouped)
else:
object_list += logs
return object_list
@classmethod
def _group_logs_by_time(cls, logs):
last_time = -1
cum = []
for log in logs:
hour = log.date.time().hour
if hour != last_time:
if cum:
yield cum
cum = []
last_time = hour
cum.append(log)
if cum:
yield cum
def print(self):
r = []
if self.diffusion:

View File

@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
.list-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-flow: dense;
gap: 1.2rem;
}

View File

@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
.list-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-flow: dense;
gap: 1.2rem;
}

View File

@ -39,16 +39,20 @@
<ul class="urls">
{% if page_obj.has_previous %}
{% comment %}Translators: Bottom of the list, "previous page"{% endcomment %}
<a href="?{{ GET }}&page={{ page_obj.previous_page_number }}" class="left button"
<a href="?{{ GET }}&page={{ page_obj.previous_page_number }}" class="left"
title="{% translate "Previous" %}"
aria-label="{% translate "Previous" %}">
<span class="icon"><i class="fa fa-chevron-left"></i></span>
</a>
{% endif %}
<span>
{{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
</span>
{% if page_obj.has_next %}
{% comment %}Translators: Bottom of the list, "Nextpage"{% endcomment %}
<a href="?{{ GET }}&page={{ page_obj.next_page_number }}" class="right button"
<a href="?{{ GET }}&page={{ page_obj.next_page_number }}" class="right"
title="{% translate "Next" %}"
aria-label="{% translate "Next" %}">
<span class="icon"><i class="fa fa-chevron-right"></i></span>

View File

@ -32,7 +32,7 @@ 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, group_logs=True)
return Log.merge_diffusions(logs, object_list, diff_count=self.related_count, log_slice=20, group_logs=True)
def get_next_diffs(self):
now = tz.now()

View File

@ -71,6 +71,7 @@ class BasePageListView(AttachedToMixin, BasePageMixin, ParentMixin, BaseView, Li
if not context.get("cover") and parent and parent.cover:
context["cover"] = parent.cover.url
return context

View File

@ -446,13 +446,17 @@
.list-grid {
display: grid;
grid-template-columns: 1fr 1fr;
grid-auto-flow: dense;
gap: v.$mp-4;
// .grid-wide { grid-column: 1 / 3; }
}
@media screen and (max-width: v.$screen-smaller) {
.list-grid {
grid-template-columns: 1fr;
// .grid-wide { grid-column: 1; }
}
}