Files
pl_mail/templates/calendar/_view_agenda.html.twig
Paul LütznerandClaude Opus 5.5 263c1bd1a8 fix(calendar): no tooltips on week, day and agenda chips
Every view already shows the full title on hover: a time-grid block and
an all-day chip open to their content, an agenda row unwraps its title.
The native tooltip only repeated it. The chip grows a `tooltip` switch,
off in all four calendar views; the string stays the aria-label.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-09-23 13:42:23 +02:00

57 lines
2.5 KiB
Twig

{#
Agenda: a flat list, skipping empty days.
This is the pane's default view, and the reason the pane is useful at all — a
narrow column beside your mail should answer "what is coming up", not draw a
grid nobody can read at that width.
**The rail and the row are not here.** They live in
calendar/_agenda_shell.html.twig, which the public shared-calendar page embeds
too; what is left in this file is the chips that open an editor and the empty
state that offers to create one. The shell's header says why, and says why the
shared page prints its empty days when this one does not.
#}
{# The view's clock, not the reader's — see _view_month for why. #}
{% embed 'calendar/_agenda_shell.html.twig' with {
dayKeys: days|keys,
days: days,
today: 'now'|date('Y-m-d', range.zone),
} %}
{% block day_entries %}
{# No wrapper. A box here would sit between the chips and the tracks
they have to land on — see the shell, which owns the grid and the
separator between rows now. #}
{% for cluster in dayEntries %}
{# The one view that prints a range rather than a start.
An agenda row draws no timeline, so "18:00" alone cannot
answer how long the meeting is; a grid block answers that by
being that tall, and a month cell has no width to spare.
`timeColumn` is what puts that range in a lane of its own so
the titles line up — see the chip, and the shell's header for
what it replaced. #}
{% include 'calendar/_event_chip.html.twig' with {
showRange: true,
timeColumn: true,
tooltip: false,
} %}
{% endfor %}
{% endblock %}
{% block empty_state %}
<div class="flex flex-col items-center justify-center gap-2 py-12 px-4 text-center text-ink-faint">
<i class="fa-regular fa-calendar text-2xl" aria-hidden="true"></i>
<p class="text-sm">{{ 'calendar.empty'|trans }}</p>
<button type="button"
data-controller="ui--modal"
data-action="click->ui--modal#open"
data-ui--modal-src-value="{{ path('app_calendar_event_new') }}"
data-ui--modal-title-value="{{ 'calendar.event.new'|trans }}"
class="text-sm text-accent hover:underline">
{{ 'calendar.event.new'|trans }}
</button>
</div>
{% endblock %}
{% endembed %}