Fix rendering app authors with homepage or email

When the first author of an app doesn't have homepage/email attributes
set in info.xml then any further author was rendered as `[object
Object]` due to the complex XML node seralized to a JavaScript string.
The logic was fixed so that it converts any of the authors to simple
text.

Signed-off-by: Christoph Wurst <christoph@winzerhof-wurst.at>
This commit is contained in:
Christoph Wurst 2021-12-27 12:27:50 +01:00 committed by backportbot[bot]
parent ca5bf437ff
commit 345d02ff77

View file

@ -229,13 +229,19 @@ export default {
// sidebar app binding
appSidebar() {
const authorName = (xmlNode) => {
if (xmlNode['@value']) {
// Complex node (with email or homepage attribute)
return xmlNode['@value']
}
// Simple text node
return xmlNode
}
const author = Array.isArray(this.app.author)
? this.app.author[0]['@value']
? this.app.author.map(author => author['@value']).join(', ')
: this.app.author.join(', ')
: this.app.author['@value']
? this.app.author['@value']
: this.app.author
? this.app.author.map(authorName).join(', ')
: authorName(this.app.author)
const license = t('settings', '{license}-licensed', { license: ('' + this.app.licence).toUpperCase() })
const subtitle = t('settings', 'by {author}\n{license}', { author, license })