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) %>%) + <% } %> + + <% } %> + <% } %> <% } %>