On affiche les périodes de la journée

Fix #350
This commit is contained in:
Jean-Marie Favreau 2025-03-09 16:18:30 +01:00
parent ae26f3630c
commit 4df5667f88
2 changed files with 117 additions and 102 deletions

View File

@ -2070,3 +2070,15 @@ dialog {
padding: 0; padding: 0;
} }
} }
#calendar.week {
h3 {
font-size: 100%;
margin: 0 0.2em;
padding-left: 0.1em;
border-bottom: 1px solid var(--secondary);
}
.day header {
margin-bottom: 0.5em;
}
}

View File

@ -88,7 +88,7 @@
{% endif %} {% endif %}
</div> </div>
</header> </header>
<div id="calendar"> <div id="calendar" class="week">
<div class="slider-button slider-button-inside button-left hidden">{% picto_from_name "arrow-left" %}</div> <div class="slider-button slider-button-inside button-left hidden">{% picto_from_name "arrow-left" %}</div>
{% if calendar.firstdate|shift_day:-1|not_before_first %} {% if calendar.firstdate|shift_day:-1|not_before_first %}
{% if calendar.lastdate|not_after_last %} {% if calendar.lastdate|not_after_last %}
@ -126,10 +126,103 @@
href="{{ day.date | url_day:category }}?{{ filter.get_url }}">{{ day.date | date:"l j" }}</a> href="{{ day.date | url_day:category }}?{{ filter.get_url }}">{{ day.date | date:"l j" }}</a>
</h2> </h2>
</header> </header>
{% if day.events %} {% for ti in day.get_time_intervals %}
<ul> {% if ti.events|length > 0 %}
{% for event in day.events %} {% if not forloop.first %}<h3>{{ ti.short_name }}</h3>{% endif %}
{% if event.is_first_after_now %} <ul>
{% for event in ti.events %}
{% if event.is_first_after_now %}
<li class="line-now">
<div>
<div>{% now "H:i" %}</div>
<div class="line"></div>
</div>
</li>
{% endif %}
<li>
{{ event.category | circle_cat:event.has_recurrences }}
{% if event.start_day == day.date and event.start_time %}{{ event.start_time }}{% endif %}
{{ event|picto_status }} <a href="{{ event.get_absolute_url }}"
data-target="event-{{ event.id }}"
onClick="toggleModal(event)">{{ event.title|no_emoji }}</a>
{{ event|tw_badge }}
<dialog id="event-{{ event.id }}">
<article>
<header {% if event.has_image_url %} style="background-image: url({{ event.get_image_url }})" class="h-image" {% else %} class="cat-{{ event.category.pk }}" {% endif %}>
<div class="h-mask">
<a href="#event-{{ event.id }}"
aria-label="Fermer"
class="close"
data-target="event-{{ event.id }}"
onClick="toggleModal(event)"></a>
<h3>
{{ event.category|small_cat_recurrent:event.has_recurrences }} {{ event|picto_status }} {{ event.title }} {{ event|picto_visibility:user.is_authenticated }}
</h3>
<p>
{% picto_from_name "map-pin" %}
{% if event.exact_location %}
{{ event.exact_location.name }}, {{ event.exact_location.city }}
{% else %}
{% if perms.agenda_culturel.change_event and perms.agenda_culturel.change_place %}
<a href="{% url 'add_place_to_event' event.pk %}" class="missing-data">{{ event.location }}</a>
{% else %}
{{ event.location }}
{% endif %}
{% endif %}
</p>
<p>
{% picto_from_name "calendar" %}
{% if event.end_day and event.end_day != event.start_day %}
du
{% else %}
le
{% endif %}
{{ event.start_day|date|frdate }}
{% if event.start_time %}
{% if not event.end_day or event.end_day == event.start_day %}
{% if event.end_time %}
de
{% else %}
à
{% endif %}
{% endif %}
{{ event.start_time }}
{% endif %}
{% if event.end_day and event.end_day != event.start_day %}
au
{% if event.end_day and event.end_day != event.start_day %}{{ event.end_day|date|frdate }}{% endif %}
{% endif %}
{% if event.end_time %}
{% if not event.end_day|date|frdate or event.end_day == event.start_day %}jusqu'à{% endif %}
{{ event.end_time }}
{% endif %}
</p>
</div>
</header>
<div class="body-fixed">{{ event.description |linebreaks }}</div>
<p>
{% for tag in event.sorted_tags %}{{ tag | tag_button }}{% endfor %}
</p>
<footer class="infos-and-buttons">
<div class="buttons">
<a href="{{ event.get_absolute_url }}" role="button">Voir l'événement
<svg width="1em"
height="1em"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round">
<use href="{% static 'images/feather-sprite.svg' %}#chevron-right" />
</svg>
</a>
</div>
</footer>
</article>
</dialog>
</li>
{% endfor %}
{% if day.is_today_after_events %}
<li class="line-now"> <li class="line-now">
<div> <div>
<div>{% now "H:i" %}</div> <div>{% now "H:i" %}</div>
@ -137,103 +230,13 @@
</div> </div>
</li> </li>
{% endif %} {% endif %}
<li> </ul>
{{ event.category | circle_cat:event.has_recurrences }} {% endif %}
{% if event.start_day == day.date and event.start_time %}{{ event.start_time }}{% endif %} {% endfor %}
{{ event|picto_status }} <a href="{{ event.get_absolute_url }}" <p class="detail-link">
data-target="event-{{ event.id }}" <a href="{{ day.date | url_day }}?{{ filter.get_url }}"
onClick="toggleModal(event)">{{ event.title|no_emoji }}</a> class="visible-link">voir en détail {% picto_from_name "chevrons-right" %}</a>
{{ event|tw_badge }} </p>
<dialog id="event-{{ event.id }}">
<article>
<header {% if event.has_image_url %} style="background-image: url({{ event.get_image_url }})" class="h-image" {% else %} class="cat-{{ event.category.pk }}" {% endif %}>
<div class="h-mask">
<a href="#event-{{ event.id }}"
aria-label="Fermer"
class="close"
data-target="event-{{ event.id }}"
onClick="toggleModal(event)"></a>
<h3>
{{ event.category|small_cat_recurrent:event.has_recurrences }} {{ event|picto_status }} {{ event.title }} {{ event|picto_visibility:user.is_authenticated }}
</h3>
<p>
{% picto_from_name "map-pin" %}
{% if event.exact_location %}
{{ event.exact_location.name }}, {{ event.exact_location.city }}
{% else %}
{% if perms.agenda_culturel.change_event and perms.agenda_culturel.change_place %}
<a href="{% url 'add_place_to_event' event.pk %}" class="missing-data">{{ event.location }}</a>
{% else %}
{{ event.location }}
{% endif %}
{% endif %}
</p>
<p>
{% picto_from_name "calendar" %}
{% if event.end_day and event.end_day != event.start_day %}
du
{% else %}
le
{% endif %}
{{ event.start_day|date|frdate }}
{% if event.start_time %}
{% if not event.end_day or event.end_day == event.start_day %}
{% if event.end_time %}
de
{% else %}
à
{% endif %}
{% endif %}
{{ event.start_time }}
{% endif %}
{% if event.end_day and event.end_day != event.start_day %}
au
{% if event.end_day and event.end_day != event.start_day %}{{ event.end_day|date|frdate }}{% endif %}
{% endif %}
{% if event.end_time %}
{% if not event.end_day|date|frdate or event.end_day == event.start_day %}jusqu'à{% endif %}
{{ event.end_time }}
{% endif %}
</p>
</div>
</header>
<div class="body-fixed">{{ event.description |linebreaks }}</div>
<p>
{% for tag in event.sorted_tags %}{{ tag | tag_button }}{% endfor %}
</p>
<footer class="infos-and-buttons">
<div class="buttons">
<a href="{{ event.get_absolute_url }}" role="button">Voir l'événement
<svg width="1em"
height="1em"
fill="none"
stroke="currentColor"
stroke-width="2"
stroke-linecap="round"
stroke-linejoin="round">
<use href="{% static 'images/feather-sprite.svg' %}#chevron-right" />
</svg>
</a>
</div>
</footer>
</article>
</dialog>
</li>
{% endfor %}
{% if day.is_today_after_events %}
<li class="line-now">
<div>
<div>{% now "H:i" %}</div>
<div class="line"></div>
</div>
</li>
{% endif %}
<li class="detail-link">
<a href="{{ day.date | url_day }}?{{ filter.get_url }}"
class="visible-link">voir en détail {% picto_from_name "chevrons-right" %}</a>
</li>
</ul>
{% endif %}
</article> </article>
{% endwith %} {% endwith %}
{% endwith %} {% endwith %}