mirror of
https://github.com/nextcloud/server.git
synced 2026-05-25 02:34:12 -04:00
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:
parent
ca5bf437ff
commit
345d02ff77
1 changed files with 12 additions and 6 deletions
|
|
@ -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 })
|
||||
|
|
|
|||
Loading…
Reference in a new issue