Afficher le sujet des rendez-vous sans avoir à cliquer

Les cartes de l'agenda montrent maintenant le descriptif sous le lieu, en
deux lignes au plus. Le clic ouvre toujours le détail complet, avec les
liens cliquables.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_018s2hBjvTi7Tn4F42cvp7m4
This commit is contained in:
Cédrix 2026-10-22 06:33:21 +02:00
parent 256695b58d
commit 4a6396cb42

View file

@ -454,6 +454,16 @@
.event-title { font-size: 1rem; font-weight: 600; } .event-title { font-size: 1rem; font-weight: 600; }
.event-where { font-size: .88rem; color: #666; margin-top: .3rem; } .event-where { font-size: .88rem; color: #666; margin-top: .3rem; }
/* Le sujet tient en deux lignes ; la carte ouvre le descriptif entier. */
.event-desc {
font-size: .85rem;
color: #555;
margin-top: .45rem;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
}
.ev-has-desc { .ev-has-desc {
position: absolute; position: absolute;
top: .55rem; right: .6rem; top: .55rem; right: .6rem;
@ -1117,6 +1127,14 @@
}); });
} }
/* Le sujet affiché sur une carte : le descriptif sur une seule ligne logique, en texte
brut. Pas de lien ici, la carte est déjà un bouton. */
function sujet(ev) {
if (!ev.desc) return '';
var texte = ev.desc.replace(/\s+/g, ' ').trim();
return texte ? '<div class="event-desc">' + echapper(texte) + '</div>' : '';
}
function showDetail(date, evs, el) { function showDetail(date, evs, el) {
el.hidden = false; el.hidden = false;
el.innerHTML = '<strong>' + el.innerHTML = '<strong>' +
@ -1186,7 +1204,8 @@
(ev.end ? ' – ' + ev.end.toLocaleTimeString('fr-FR', { hour:'2-digit', minute:'2-digit' }) : '')) + (ev.end ? ' – ' + ev.end.toLocaleTimeString('fr-FR', { hour:'2-digit', minute:'2-digit' }) : '')) +
'</div>' + '</div>' +
'<div class="event-title">' + echapper(ev.title) + '</div>' + '<div class="event-title">' + echapper(ev.title) + '</div>' +
(ev.location ? '<div class="event-where">📍 ' + echapper(ev.location) + '</div>' : ''); (ev.location ? '<div class="event-where">📍 ' + echapper(ev.location) + '</div>' : '') +
sujet(ev);
card.addEventListener('click', function() { openModal(ev); }); card.addEventListener('click', function() { openModal(ev); });
container.appendChild(card); container.appendChild(card);
}); });
@ -1209,7 +1228,8 @@
(ev.desc ? '<span class="ev-has-desc" title="Descriptif disponible">ℹ</span>' : '') + (ev.desc ? '<span class="ev-has-desc" title="Descriptif disponible">ℹ</span>' : '') +
'<div class="event-date">' + fmtDate(ev.start, ev.allDay) + '</div>' + '<div class="event-date">' + fmtDate(ev.start, ev.allDay) + '</div>' +
'<div class="event-title">' + echapper(ev.title) + '</div>' + '<div class="event-title">' + echapper(ev.title) + '</div>' +
(ev.location ? '<div class="event-where">📍 ' + echapper(ev.location) + '</div>' : ''); (ev.location ? '<div class="event-where">📍 ' + echapper(ev.location) + '</div>' : '') +
sujet(ev);
card.addEventListener('click', function() { openModal(ev); }); card.addEventListener('click', function() { openModal(ev); });
container.appendChild(card); container.appendChild(card);
}); });