mirror of
https://github.com/navidrome/navidrome.git
synced 2026-11-02 00:17:49 +01:00
fix(ui): allow setting a transcoding Default Bit Rate of 0
The Default Bit Rate dropdown on the Transcoding create/edit forms was fed BITRATE_CHOICES, which starts at 32. There was no way to pick 0, and the SelectInput was not resettable, so an admin could neither create nor restore a transcoding with no default bit rate, such as the default FLAC one (seeded with 0 in consts.DefaultTranscodings). Editing that row also rendered a blank dropdown, since its stored value matched no choice. Adds TRANSCODING_BITRATE_CHOICES, which prepends a 0 entry labelled 'None' to the shared list. The forms use it as SelectInput choices, and the list and read-only show view render it through SelectField, so all four screens resolve the label from the same array and cannot drift. The shared BITRATE_CHOICES is left untouched, because 0 is not a meaningful option for the player Max. Bit Rate or the share dialog. Reported in discussion #6107, where a user had deleted the default transcodings and could not recreate the FLAC one.
This commit is contained in:
parent
89026012ab
commit
8d77a49b31
6 changed files with 35 additions and 9 deletions
|
|
@ -1,7 +1,8 @@
|
|||
import React from 'react'
|
||||
import { Datagrid, TextField } from 'react-admin'
|
||||
import { Datagrid, SelectField, TextField } from 'react-admin'
|
||||
import { useMediaQuery } from '@material-ui/core'
|
||||
import { SimpleList, List } from '../common'
|
||||
import { TRANSCODING_BITRATE_CHOICES } from '../consts'
|
||||
import config from '../config'
|
||||
|
||||
const TranscodingList = (props) => {
|
||||
|
|
@ -16,13 +17,22 @@ const TranscodingList = (props) => {
|
|||
<SimpleList
|
||||
primaryText={(r) => r.name}
|
||||
secondaryText={(r) => `format: ${r.targetFormat}`}
|
||||
tertiaryText={(r) => r.defaultBitRate}
|
||||
tertiaryText={(r) => (
|
||||
<SelectField
|
||||
record={r}
|
||||
source="defaultBitRate"
|
||||
choices={TRANSCODING_BITRATE_CHOICES}
|
||||
/>
|
||||
)}
|
||||
/>
|
||||
) : (
|
||||
<Datagrid rowClick={config.enableTranscodingConfig ? 'edit' : 'show'}>
|
||||
<TextField source="name" />
|
||||
<TextField source="targetFormat" />
|
||||
<TextField source="defaultBitRate" />
|
||||
<SelectField
|
||||
source="defaultBitRate"
|
||||
choices={TRANSCODING_BITRATE_CHOICES}
|
||||
/>
|
||||
<TextField source="command" />
|
||||
</Datagrid>
|
||||
)}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue