diff --git a/source/app/web/statics/app.placeholder.js b/source/app/web/statics/app.placeholder.js
index d9515c24..e3aad293 100644
--- a/source/app/web/statics/app.placeholder.js
+++ b/source/app/web/statics/app.placeholder.js
@@ -179,14 +179,14 @@
...(set.plugins.enabled.reactions ? ({
reactions:{
list:{
- HEART:{value:faker.random.number(100), score:faker.random.number(100)/100},
- THUMBS_UP:{value:faker.random.number(100), score:faker.random.number(100)/100},
- THUMBS_DOWN:{value:faker.random.number(100), score:faker.random.number(100)/100},
- LAUGH:{value:faker.random.number(100), score:faker.random.number(100)/100},
- CONFUSED:{value:faker.random.number(100), score:faker.random.number(100)/100},
- EYES:{value:faker.random.number(100), score:faker.random.number(100)/100},
- ROCKET:{value:faker.random.number(100), score:faker.random.number(100)/100},
- HOORAY:{value:faker.random.number(100), score:faker.random.number(100)/100},
+ HEART:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ THUMBS_UP:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ THUMBS_DOWN:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ LAUGH:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ CONFUSED:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ EYES:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ ROCKET:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
+ HOORAY:{value:faker.random.number(100), get percentage() { return this.score }, score:faker.random.number(100)/100},
},
comments:options["reactions.limit"],
details:options["reactions.details"],
diff --git a/source/plugins/reactions/README.md b/source/plugins/reactions/README.md
index 2d28b9ed..1199fcb7 100644
--- a/source/plugins/reactions/README.md
+++ b/source/plugins/reactions/README.md
@@ -18,7 +18,7 @@ The *reactions* plugin displays overall reactions on your recent issues and issu
with:
# ... other options
plugin_reactions: yes
- plugin_reactions_limit: 200 # Compute reactions over last 200 issue comments
- plugin_reactions_days: 14 # Compute reactions on issue comments posted less than 14 days ago
- plugin_reactions_details: percentage # Display reactions percentage
+ plugin_reactions_limit: 200 # Compute reactions over last 200 issue comments
+ plugin_reactions_days: 14 # Compute reactions on issue comments posted less than 14 days ago
+ plugin_reactions_details: count, percentage # Display reactions count and percentage
```
\ No newline at end of file
diff --git a/source/plugins/reactions/index.mjs b/source/plugins/reactions/index.mjs
index 9fc0894a..da5f09a3 100644
--- a/source/plugins/reactions/index.mjs
+++ b/source/plugins/reactions/index.mjs
@@ -42,7 +42,7 @@
list[reaction] = (list[reaction] ?? 0) + 1
const max = Math.max(...Object.values(list))
for (const [key, value] of Object.entries(list))
- list[key] = {value, score:value/(display === "relative" ? max : reactions.length)}
+ list[key] = {value, percentage:value/reactions.length, score:value/(display === "relative" ? max : reactions.length)}
//Results
return {list, comments:comments.length, details, days, twemoji:q["config.twemoji"]}
diff --git a/source/plugins/reactions/metadata.yml b/source/plugins/reactions/metadata.yml
index 9cb7ac08..813459b9 100644
--- a/source/plugins/reactions/metadata.yml
+++ b/source/plugins/reactions/metadata.yml
@@ -41,11 +41,13 @@ inputs:
- relative
# Additional details
+ # If multiple values are specified, emphasis will be set on first value
plugin_reactions_details:
description: Additional details
- type: string
- default: none
+ type: array
+ format: comma-separated
+ default: ""
+ example: count, percentage
values:
- - none
- count
- percentage
\ No newline at end of file
diff --git a/source/templates/classic/partials/reactions.ejs b/source/templates/classic/partials/reactions.ejs
index b2f2157c..7995ffcf 100644
--- a/source/templates/classic/partials/reactions.ejs
+++ b/source/templates/classic/partials/reactions.ejs
@@ -41,10 +41,23 @@
<% } %>
<% } %>
- <% if (plugins.reactions.details === "percentage") { %>
- <%= Math.round(score*100) %>%
- <% } else if (plugins.reactions.details === "count") { %>
- <%= count %>
+ <% if (plugins.reactions.details.length) { const [primary, secondary] = plugins.reactions.details %>
+
+ <% if (primary === "count") { %>
+ <%= count %>
+ <% } else if (primary === "percentage") { %>
+ <%= Math.round(score*100) %>%
+ <% } %>
+ <% if (secondary) { %>
+
+ <% if (secondary === "count") { %>
+ (<%= count %>)
+ <% } else if (secondary === "percentage") { %>
+ (<%= Math.round(score*100) %>%)
+ <% } %>
+
+ <% } %>
+
<% } %>
<% } %>