Amélioration du rendu des pictos de catégories

Fix #391
This commit is contained in:
Jean-Marie Favreau 2025-04-06 13:58:47 +02:00
parent cf4aaa96c7
commit 71f8aa6862
5 changed files with 52 additions and 3 deletions

View File

@ -71,6 +71,21 @@ body>footer {
font-size: 80%; font-size: 80%;
} }
.cat.picto {
height: 1.6em;
width: 1.6em;
padding: 0 0.2em;
border-radius: .8em;
img {
margin-top: 0.1em;
}
}
.cat img {
@media only screen and (prefers-color-scheme: light) {
filter: invert(1);
}
}
.cat[data-tooltip]:not(a, button, input), .cat[data-tooltip]:not(a, button, input),
.recurrent span[data-tooltip] { .recurrent span[data-tooltip] {
border: 0; border: 0;

View File

@ -155,7 +155,7 @@
<ul> <ul>
{% for category_group, events in day.events_by_category_ordered %} {% for category_group, events in day.events_by_category_ordered %}
<li> <li>
{{ events.0.category | circle_cat }} {{ events.0.category | circle_cat_picto }}
<a href="{{ day.date | url_day:category }}?{{ filter.get_url|add_url_category:events.0.category }}" <a href="{{ day.date | url_day:category }}?{{ filter.get_url|add_url_category:events.0.category }}"
data-target="{{ daytag }}-category-{{ events.0.category.pk }}" data-target="{{ daytag }}-category-{{ events.0.category.pk }}"
onClick="toggleModal(event)">{{ events | length }} {{ category_group }}</a> onClick="toggleModal(event)">{{ events | length }} {{ category_group }}</a>

View File

@ -191,7 +191,7 @@
</li> </li>
{% endif %} {% endif %}
<li> <li>
{{ event.category | circle_cat:event.has_recurrences }} {{ event.category | circle_cat_picto:event.has_recurrences }}
{% if event.start_time %}{{ event.start_time }}{% endif %} {% if event.start_time %}{{ event.start_time }}{% endif %}
{{ event|picto_status }} <a href="#event-{{ event.id }}">{{ event.title|no_emoji }}</a> {{ event|tw_badge }} {{ event|picto_status }} <a href="#event-{{ event.id }}">{{ event.title|no_emoji }}</a> {{ event|tw_badge }}
</li> </li>

View File

@ -144,7 +144,7 @@
</li> </li>
{% endif %} {% endif %}
<li> <li>
{{ event.category | circle_cat:event.has_recurrences }} {{ event.category | circle_cat_picto:event.has_recurrences }}
{% if event.start_day == day.date and event.start_time %}{{ event.start_time }}{% endif %} {% if event.start_day == day.date and event.start_time %}{{ event.start_time }}{% endif %}
{{ event|picto_status }} <a href="{{ event.get_absolute_url }}" {{ event|picto_status }} <a href="{{ event.get_absolute_url }}"
data-target="event-{{ event.id }}" data-target="event-{{ event.id }}"

View File

@ -219,6 +219,40 @@ def circle_cat(category, recurrence=False):
) )
@register.filter
def circle_cat_picto(category, recurrence=False):
if category is None:
category = Category.get_default_category()
c = category.css_class()
n = category.name
picto = (
'<span class="cat '
+ c
+ ' circ-cat picto" data-tooltip="'
+ n
+ '">'
+ '<img src="'
+ (
category.pictogram.url + '" alt="' + category.name + '" />'
if category.pictogram
else ""
)
+ "</span>"
)
if recurrence:
return mark_safe(
picto
+ '<span class="cat recurrent '
+ c
+ ' circ-cat">'
+ picto_from_name("repeat", n + " [récurrent]")
+ "</span>"
)
else:
return mark_safe(picto)
def legend_cat(category, url, selected=True, first=False, with_title=False): def legend_cat(category, url, selected=True, first=False, with_title=False):
c = category.css_class() c = category.css_class()
n = category.name n = category.name