feat(plugins/sponsors): add plugin_sponsors_size (#1012) [skip ci]

This commit is contained in:
Simon Lecoq
2022-04-23 22:04:28 +02:00
committed by GitHub
parent 14f14d9f4d
commit 1061a2f542
5 changed files with 17 additions and 10 deletions

View File

@@ -7,7 +7,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
return null
//Load inputs
const {sections, past} = await imports.metadata.plugins.sponsors.inputs({data, account, q})
const {size, sections, past} = await imports.metadata.plugins.sponsors.inputs({data, account, q})
//Query description and goal
console.debug(`metrics/compute/${login}/plugins > sponsors > querying sponsors and goal`)
@@ -24,7 +24,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
let pushed = 0
do {
console.debug(`metrics/compute/${login}/sponsors > retrieving sponsors after ${cursor}`)
const {[account]:{sponsorshipsAsMaintainer:{edges, nodes}}} = await graphql(queries.sponsors.active({login, account, after:cursor ? `after: "${cursor}"` : ""}))
const {[account]:{sponsorshipsAsMaintainer:{edges, nodes}}} = await graphql(queries.sponsors.active({login, account, after:cursor ? `after: "${cursor}"` : "", size:Math.round(size*1.5)}))
cursor = edges?.[edges?.length - 1]?.cursor
fetched.push(...nodes)
pushed = nodes.length
@@ -48,7 +48,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
let pushed = 0
do {
console.debug(`metrics/compute/${login}/sponsors > retrieving sponsors events after ${cursor}`)
const {[account]:{sponsorsActivities:{edges, nodes}}} = await graphql(queries.sponsors.all({login, account, after:cursor ? `after: "${cursor}"` : ""}))
const {[account]:{sponsorsActivities:{edges, nodes}}} = await graphql(queries.sponsors.all({login, account, after:cursor ? `after: "${cursor}"` : "", size:Math.round(size*1.5)}))
cursor = edges?.[edges?.length - 1]?.cursor
fetched.push(...nodes)
pushed = nodes.length
@@ -73,7 +73,7 @@ export default async function({login, q, imports, data, graphql, queries, accoun
//Results
list = list.sort((a, b) => a.past === b.past ? b.amount - a.amount : a.past - b.past)
return {sections, about, list, count, goal}
return {sections, about, list, count, goal, size}
}
//Handle errors
catch (error) {

View File

@@ -39,4 +39,11 @@ inputs:
This feature requires a token from target account, as past sponsorships are gathered from sponsors activity and is private data.
type: boolean
default: no
default: no
plugin_sponsors_size:
description: Profile picture display size
type: number
default: 24
min: 8
max: 64

View File

@@ -8,11 +8,11 @@ query SponsorsActive {
sponsorEntity {
... on User {
login
avatarUrl(size: 36)
avatarUrl(size: $size)
}
... on Organization {
login
avatarUrl(size: 36)
avatarUrl(size: $size)
url
}
}

View File

@@ -7,12 +7,12 @@ query SponsorsAll {
nodes {
sponsor {
... on User {
avatarUrl
avatarUrl(size: $size)
login
}
... on Organization {
login
avatarUrl(size: 36)
avatarUrl(size: $size)
url
}
}

View File

@@ -46,7 +46,7 @@
</div>
<% if ((section === "list")||(plugins.sponsors.sections.includes("list"))) { %>
<div class="row">
<% for (const user of plugins.sponsors.list) { %><img class="avatar <%= user.type === "organization" ? "organization" : "" %> <%= user.past ? "past" : "" %>" src="<%= user.avatar %>" width="24" height="24" alt="" /><% } %>
<% for (const user of plugins.sponsors.list) { %><img class="avatar <%= user.type === "organization" ? "organization" : "" %> <%= user.past ? "past" : "" %>" src="<%= user.avatar %>" width="<%= plugins.sponsors.size %>" height="<%= plugins.sponsors.size %>" alt="" /><% } %>
</div>
<% } %>
</section>