58 lines
2.3 KiB
JavaScript
58 lines
2.3 KiB
JavaScript
document.addEventListener('DOMContentLoaded', function () {
|
|
var messageList = document.querySelector('.messages-list');
|
|
var agendaContent = document.querySelector('.agenda-content');
|
|
var sectionTitle = document.querySelector('.message-du-labo .section-title');
|
|
var buttonMessages = document.querySelector('.button-messages');
|
|
if (!messageList || !agendaContent) return;
|
|
|
|
var items = Array.from(messageList.querySelectorAll('.message-item'));
|
|
|
|
function sync() {
|
|
items.forEach(function (item) {
|
|
item.style.display = '';
|
|
var content = item.querySelector('.message-content');
|
|
if (content) { content.style.maxHeight = ''; content.classList.remove('is-overflowing'); }
|
|
});
|
|
|
|
if (window.innerWidth < 768) {
|
|
// Mobile : afficher uniquement le premier message
|
|
items.forEach(function (item, i) { item.style.display = i === 0 ? '' : 'none'; });
|
|
return;
|
|
}
|
|
|
|
var budget = agendaContent.offsetHeight
|
|
- (sectionTitle ? sectionTitle.offsetHeight : 0)
|
|
- (buttonMessages ? buttonMessages.offsetHeight : 0);
|
|
var used = 0;
|
|
|
|
for (var i = 0; i < items.length; i++) {
|
|
var item = items[i];
|
|
var itemHeight = item.offsetHeight;
|
|
if (used + itemHeight <= budget) {
|
|
used += itemHeight;
|
|
} else {
|
|
var remaining = budget - used;
|
|
var content = item.querySelector('.message-content');
|
|
if (content && remaining > 100) {
|
|
var contentBudget = remaining - (itemHeight - content.offsetHeight);
|
|
if (contentBudget > 60) {
|
|
content.style.maxHeight = contentBudget + 'px';
|
|
content.classList.add('is-overflowing');
|
|
} else {
|
|
item.style.display = 'none';
|
|
}
|
|
} else {
|
|
item.style.display = 'none';
|
|
}
|
|
for (var j = i + 1; j < items.length; j++) {
|
|
items[j].style.display = 'none';
|
|
}
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
|
|
sync();
|
|
window.addEventListener('resize', sync);
|
|
});
|