fix(ui): DevFlags order in TOML export (#4155)

* fix(ui): update artist link rendering and improve button styles

Signed-off-by: Deluan <deluan@navidrome.org>

* fix(ui): Move Dev* flags before sections in export

---------

Signed-off-by: Deluan <deluan@navidrome.org>
Co-authored-by: Deluan <deluan@navidrome.org>
This commit is contained in:
Kendall Garner
2025-05-31 03:12:44 +00:00
committed by GitHub
parent ded8cf236e
commit 7bb1fcdd4b
2 changed files with 30 additions and 15 deletions

View File

@@ -127,17 +127,6 @@ export const configToToml = (configData, translate = (key) => key) => {
tomlContent += '\n'
}
// Add sections
Object.keys(regularSections)
.sort()
.forEach((sectionName) => {
tomlContent += `[${sectionName}]\n`
regularSections[sectionName].forEach(({ key, value }) => {
tomlContent += `${key} = ${formatTomlValue(value)}\n`
})
tomlContent += '\n'
})
// Add dev configs if any
if (devConfigs.length > 0) {
tomlContent += `# ${translate('about.config.devFlagsHeader')}\n`
@@ -166,5 +155,16 @@ export const configToToml = (configData, translate = (key) => key) => {
})
}
// Add sections
Object.keys(regularSections)
.sort()
.forEach((sectionName) => {
tomlContent += `[${sectionName}]\n`
regularSections[sectionName].forEach(({ key, value }) => {
tomlContent += `${key} = ${formatTomlValue(value)}\n`
})
tomlContent += '\n'
})
return tomlContent
}

View File

@@ -199,15 +199,30 @@ describe('configToToml', () => {
{ key: 'RootKey', value: 'rootValue' },
{ key: 'Section.NestedKey', value: 'nestedValue' },
{ key: 'Section.AnotherKey', value: 'anotherValue' },
{ key: 'DevA', value: 'DevValue' },
],
}
const result = configToToml(configData, mockTranslate)
// Fields in a section are sorted alphabetically
const fields = [
'RootKey = "rootValue"',
'DevA = "DevValue"',
'[Section]',
'AnotherKey = "anotherValue"',
'NestedKey = "nestedValue"',
]
expect(result).toContain('RootKey = "rootValue"')
expect(result).toContain('[Section]')
expect(result).toContain('NestedKey = "nestedValue"')
expect(result).toContain('AnotherKey = "anotherValue"')
for (let idx = 0; idx < fields.length - 1; idx++) {
expect(result).toContain(fields[idx])
const idxA = result.indexOf(fields[idx])
const idxB = result.indexOf(fields[idx + 1])
expect(idxA).toBeLessThan(idxB)
}
expect(result).toContain(fields[fields.length - 1])
})
it('includes dev flags header when dev configs exist', () => {