mirror of
https://github.com/nfonteyne/octane-website.git
synced 2026-09-03 23:24:48 +02:00
update: different colors for suggested rehersal and validated rehersal
This commit is contained in:
parent
b056af78ac
commit
a3d62200ce
10 changed files with 102 additions and 24 deletions
|
|
@ -216,9 +216,10 @@ function renderCalendar() {
|
|||
|
||||
const rehearsal = rehearsalsByDate.get(isoDate(date));
|
||||
if (rehearsal) {
|
||||
cell.classList.add('has-rehearsal');
|
||||
const isConfirmed = rehearsal.status === 'confirmed';
|
||||
cell.classList.add('has-rehearsal', isConfirmed ? 'rehearsal-confirmed' : 'rehearsal-suggested');
|
||||
const badge = document.createElement('span');
|
||||
badge.title = 'Répétition proposée';
|
||||
badge.title = isConfirmed ? 'Répétition confirmée' : 'Répétition proposée (en attente de votes)';
|
||||
badge.textContent = '🎸';
|
||||
badges.appendChild(badge);
|
||||
}
|
||||
|
|
@ -488,13 +489,29 @@ function rehearsalVoteActionsHtml(r) {
|
|||
`;
|
||||
}
|
||||
|
||||
function rehearsalVoterHtml(v, r) {
|
||||
const isHost = r.hostUserId && v.userId === r.hostUserId;
|
||||
const name = isHost ? `${v.name} ⭐` : v.name;
|
||||
return `${avatarHtml({ name: v.name, avatarUrl: v.avatarUrl }, 'avatar-sm')}<span>${escapeHtml(name)}</span>`;
|
||||
}
|
||||
|
||||
function rehearsalAcceptedByHtml(r) {
|
||||
const accepted = r.votes.filter((v) => v.vote === 'accept');
|
||||
if (!accepted.length) return '';
|
||||
const refused = r.votes.filter((v) => v.vote === 'reject');
|
||||
if (!accepted.length && !refused.length) return '';
|
||||
return `
|
||||
<div class="rehearsal-accepted-by">
|
||||
${accepted.map((v) => `${avatarHtml({ name: v.name, avatarUrl: v.avatarUrl }, 'avatar-sm')}<span>${escapeHtml(v.name)}</span>`).join('')}
|
||||
</div>
|
||||
${accepted.length ? `
|
||||
<div class="rehearsal-accepted-by">
|
||||
<span class="note">Ont accepté :</span>
|
||||
${accepted.map((v) => rehearsalVoterHtml(v, r)).join('')}
|
||||
</div>
|
||||
` : ''}
|
||||
${refused.length ? `
|
||||
<div class="rehearsal-accepted-by rehearsal-refused-by">
|
||||
<span class="note">Ont refusé :</span>
|
||||
${refused.map((v) => rehearsalVoterHtml(v, r)).join('')}
|
||||
</div>
|
||||
` : ''}
|
||||
`;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue