From 68dcd98a08b00bc42d2511dc5f9e8beec6784646 Mon Sep 17 00:00:00 2001 From: Michal Orlik Date: Mon, 12 Nov 2018 13:34:40 +0100 Subject: [PATCH] credits: usernames are unique and merged Fixes #1549 --- src/overlay/components/credits.vue | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/overlay/components/credits.vue b/src/overlay/components/credits.vue index 1ac5c9dac84..11b3b3442ac 100644 --- a/src/overlay/components/credits.vue +++ b/src/overlay/components/credits.vue @@ -108,23 +108,24 @@ export default { withoutPadding = false } - for (let o of object) { - let html = o.username + const groupByUsername = Object.entries(_.groupBy(object, 'username')) + for (let [username, o] of groupByUsername) { + let html = username if (key === 'cheer') { - html = `${o.bits} bits
${o.username}` + html = `${o.reduce((a, b) => ({ bits: Number(a.bits) + Number(b.bits) })).bits} bits
${username}` } else if (['raid', 'host'].includes(key)) { - html = `${o.viewers} viewers
${o.username}` + html = `${o.reduce((a, b) => ({ viewers: Number(a.viewers) + Number(b.viewers) })).viewers} viewers
${username}` } else if (['resub'].includes(key)) { - html = `${o.months} months
${o.username}` + html = `${o[0].months} months
${username}` } else if (['tip'].includes(key)) { - html = `${Number(o.amount).toFixed(2)} ${o.currency}
${o.username}` + html = `${Number(o.reduce((a, b) => ({ amount: Number(a.amount) + Number(b.amount) })).amount).toFixed(2)} ${o[0].currency}
${username}` } page.push({ text: html, class: "text4 column" }) } - for (let i = 0; i < 3 - (object.length % 3); i++) { + for (let i = 0; i < 3 - (groupByUsername.length % 3); i++) { page.push({ text: '', class: "text4 column"