@ -208,13 +208,13 @@ class Log(Renderable, models.Model):
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
        return object_list if count is None else object_list[:count]
 | 
					        return object_list if count is None else object_list[:count]
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @classmethod
 | 
				
			||||||
    def _next_index(items, date, default, pred=operator.lt):
 | 
					    def _next_index(cls, items, date, default, pred=operator.lt):
 | 
				
			||||||
        iter = (i for i, v in enumerate(items) if pred(v.date, date))
 | 
					        iter = (i for i, v in enumerate(items) if pred(v.date, date))
 | 
				
			||||||
        return next(iter, default)
 | 
					        return next(iter, default)
 | 
				
			||||||
 | 
					
 | 
				
			||||||
    @staticmethod
 | 
					    @classmethod
 | 
				
			||||||
    def _append_logs(object_list, logs, count, slice=None, group=False):
 | 
					    def _append_logs(cls, object_list, logs, count, slice=None, group=False):
 | 
				
			||||||
        if slice:
 | 
					        if slice:
 | 
				
			||||||
            count = min(slice, count)
 | 
					            count = min(slice, count)
 | 
				
			||||||
        logs = logs[:count]
 | 
					        logs = logs[:count]
 | 
				
			||||||
@ -222,11 +222,27 @@ class Log(Renderable, models.Model):
 | 
				
			|||||||
            return object_list
 | 
					            return object_list
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        if group:
 | 
					        if group:
 | 
				
			||||||
            object_list.append(logs)
 | 
					            grouped = cls._group_logs_by_time(logs)
 | 
				
			||||||
 | 
					            object_list.extend(grouped)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            object_list += logs
 | 
					            object_list += logs
 | 
				
			||||||
        return object_list
 | 
					        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):
 | 
					    def print(self):
 | 
				
			||||||
        r = []
 | 
					        r = []
 | 
				
			||||||
        if self.diffusion:
 | 
					        if self.diffusion:
 | 
				
			||||||
 | 
				
			|||||||
@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
 | 
				
			|||||||
.list-grid {
 | 
					.list-grid {
 | 
				
			||||||
  display: grid;
 | 
					  display: grid;
 | 
				
			||||||
  grid-template-columns: 1fr 1fr;
 | 
					  grid-template-columns: 1fr 1fr;
 | 
				
			||||||
 | 
					  grid-auto-flow: dense;
 | 
				
			||||||
  gap: 1.2rem;
 | 
					  gap: 1.2rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -301,6 +301,7 @@ preview-header:not(.no-cover) .card-headings .heading, preview-header:not(.no-co
 | 
				
			|||||||
.list-grid {
 | 
					.list-grid {
 | 
				
			||||||
  display: grid;
 | 
					  display: grid;
 | 
				
			||||||
  grid-template-columns: 1fr 1fr;
 | 
					  grid-template-columns: 1fr 1fr;
 | 
				
			||||||
 | 
					  grid-auto-flow: dense;
 | 
				
			||||||
  gap: 1.2rem;
 | 
					  gap: 1.2rem;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -39,16 +39,20 @@
 | 
				
			|||||||
    <ul class="urls">
 | 
					    <ul class="urls">
 | 
				
			||||||
        {% if page_obj.has_previous %}
 | 
					        {% if page_obj.has_previous %}
 | 
				
			||||||
        {% comment %}Translators: Bottom of the list, "previous page"{% endcomment %}
 | 
					        {% 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" %}"
 | 
					            title="{% translate "Previous" %}"
 | 
				
			||||||
            aria-label="{% translate "Previous" %}">
 | 
					            aria-label="{% translate "Previous" %}">
 | 
				
			||||||
            <span class="icon"><i class="fa fa-chevron-left"></i></span>
 | 
					            <span class="icon"><i class="fa fa-chevron-left"></i></span>
 | 
				
			||||||
        </a>
 | 
					        </a>
 | 
				
			||||||
        {% endif %}
 | 
					        {% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					        <span>
 | 
				
			||||||
 | 
					            {{ page_obj.number }} / {{ page_obj.paginator.num_pages }}
 | 
				
			||||||
 | 
					        </span>
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        {% if page_obj.has_next %}
 | 
					        {% if page_obj.has_next %}
 | 
				
			||||||
        {% comment %}Translators: Bottom of the list, "Nextpage"{% endcomment %}
 | 
					        {% 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" %}"
 | 
					                title="{% translate "Next" %}"
 | 
				
			||||||
                aria-label="{% translate "Next" %}">
 | 
					                aria-label="{% translate "Next" %}">
 | 
				
			||||||
            <span class="icon"><i class="fa fa-chevron-right"></i></span>
 | 
					            <span class="icon"><i class="fa fa-chevron-right"></i></span>
 | 
				
			||||||
 | 
				
			|||||||
@ -32,7 +32,7 @@ class HomeView(AttachedToMixin, BaseView, ListView):
 | 
				
			|||||||
            logs = logs.after(min_date)
 | 
					            logs = logs.after(min_date)
 | 
				
			||||||
        else:
 | 
					        else:
 | 
				
			||||||
            logs = logs.date(today)
 | 
					            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):
 | 
					    def get_next_diffs(self):
 | 
				
			||||||
        now = tz.now()
 | 
					        now = tz.now()
 | 
				
			||||||
 | 
				
			|||||||
@ -71,6 +71,7 @@ class BasePageListView(AttachedToMixin, BasePageMixin, ParentMixin, BaseView, Li
 | 
				
			|||||||
 | 
					
 | 
				
			||||||
            if not context.get("cover") and parent and parent.cover:
 | 
					            if not context.get("cover") and parent and parent.cover:
 | 
				
			||||||
                context["cover"] = parent.cover.url
 | 
					                context["cover"] = parent.cover.url
 | 
				
			||||||
 | 
					
 | 
				
			||||||
        return context
 | 
					        return context
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
@ -446,13 +446,17 @@
 | 
				
			|||||||
.list-grid {
 | 
					.list-grid {
 | 
				
			||||||
    display: grid;
 | 
					    display: grid;
 | 
				
			||||||
    grid-template-columns: 1fr 1fr;
 | 
					    grid-template-columns: 1fr 1fr;
 | 
				
			||||||
 | 
					    grid-auto-flow: dense;
 | 
				
			||||||
    gap: v.$mp-4;
 | 
					    gap: v.$mp-4;
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					    // .grid-wide { grid-column: 1 / 3; }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
@media screen and (max-width: v.$screen-smaller) {
 | 
					@media screen and (max-width: v.$screen-smaller) {
 | 
				
			||||||
    .list-grid {
 | 
					    .list-grid {
 | 
				
			||||||
        grid-template-columns: 1fr;
 | 
					        grid-template-columns: 1fr;
 | 
				
			||||||
 | 
					        // .grid-wide { grid-column: 1; }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user