1
0
Fork 0
mirror of https://github.com/jellyfin/jellyfin-web synced 2025-03-30 19:56:21 +00:00

fix inputProps depreciation

This commit is contained in:
gompa 2025-03-26 10:33:35 +01:00
parent 27febb599c
commit 419c225937
10 changed files with 174 additions and 124 deletions

View file

@ -148,11 +148,13 @@ const NewTriggerForm: FunctionComponent<IProps> = ({ open, title, onClose, onAdd
fullWidth fullWidth
defaultValue={''} defaultValue={''}
type='number' type='number'
inputProps={{
min: 1,
step: 0.5
}}
label={globalize.translate('LabelTimeLimitHours')} label={globalize.translate('LabelTimeLimitHours')}
slotProps={{
htmlInput: {
min: 1,
step: 0.5
}
}}
/> />
</Stack> </Stack>
</DialogContent> </DialogContent>

View file

@ -123,14 +123,16 @@ export const Component = () => {
multiline multiline
minRows={5} minRows={5}
maxRows={5} maxRows={5}
InputProps={{
className: 'textarea-mono'
}}
name={BrandingOption.LoginDisclaimer} name={BrandingOption.LoginDisclaimer}
label={globalize.translate('LabelLoginDisclaimer')} label={globalize.translate('LabelLoginDisclaimer')}
helperText={globalize.translate('LabelLoginDisclaimerHelp')} helperText={globalize.translate('LabelLoginDisclaimerHelp')}
value={brandingOptions?.LoginDisclaimer} value={brandingOptions?.LoginDisclaimer}
onChange={setBrandingOption} onChange={setBrandingOption}
slotProps={{
input: {
className: 'textarea-mono'
}
}}
/> />
<TextField <TextField
@ -138,14 +140,16 @@ export const Component = () => {
multiline multiline
minRows={5} minRows={5}
maxRows={20} maxRows={20}
InputProps={{
className: 'textarea-mono'
}}
name={BrandingOption.CustomCss} name={BrandingOption.CustomCss}
label={globalize.translate('LabelCustomCss')} label={globalize.translate('LabelCustomCss')}
helperText={globalize.translate('LabelCustomCssHelp')} helperText={globalize.translate('LabelCustomCssHelp')}
value={brandingOptions?.CustomCss} value={brandingOptions?.CustomCss}
onChange={setBrandingOption} onChange={setBrandingOption}
slotProps={{
input: {
className: 'textarea-mono'
}
}}
/> />
<Button <Button

View file

@ -127,12 +127,14 @@ export const Component = () => {
name={'DummyChapterDuration'} name={'DummyChapterDuration'}
defaultValue={config.DummyChapterDuration} defaultValue={config.DummyChapterDuration}
type='number' type='number'
inputProps={{
min: 0,
required: true
}}
label={globalize.translate('LabelDummyChapterDuration')} label={globalize.translate('LabelDummyChapterDuration')}
helperText={globalize.translate('LabelDummyChapterDurationHelp')} helperText={globalize.translate('LabelDummyChapterDurationHelp')}
slotProps={{
htmlInput: {
min: 0,
required: true
}
}}
/> />
<TextField <TextField

View file

@ -81,12 +81,14 @@ export const Component = () => {
name='MinResumePercentage' name='MinResumePercentage'
type='number' type='number'
defaultValue={config?.MinResumePct} defaultValue={config?.MinResumePct}
inputProps={{
min: 0,
max: 100,
required: true
}}
helperText={globalize.translate('LabelMinResumePercentageHelp')} helperText={globalize.translate('LabelMinResumePercentageHelp')}
slotProps={{
htmlInput: {
min: 0,
max: 100,
required: true
}
}}
/> />
<TextField <TextField
@ -94,12 +96,14 @@ export const Component = () => {
name='MaxResumePercentage' name='MaxResumePercentage'
type='number' type='number'
defaultValue={config?.MaxResumePct} defaultValue={config?.MaxResumePct}
inputProps={{
min: 1,
max: 100,
required: true
}}
helperText={globalize.translate('LabelMaxResumePercentageHelp')} helperText={globalize.translate('LabelMaxResumePercentageHelp')}
slotProps={{
htmlInput: {
min: 1,
max: 100,
required: true
}
}}
/> />
<TextField <TextField
@ -107,12 +111,14 @@ export const Component = () => {
name='MinAudiobookResume' name='MinAudiobookResume'
type='number' type='number'
defaultValue={config?.MinAudiobookResume} defaultValue={config?.MinAudiobookResume}
inputProps={{
min: 0,
max: 100,
required: true
}}
helperText={globalize.translate('LabelMinAudiobookResumeHelp')} helperText={globalize.translate('LabelMinAudiobookResumeHelp')}
slotProps={{
htmlInput: {
min: 0,
max: 100,
required: true
}
}}
/> />
<TextField <TextField
@ -120,12 +126,14 @@ export const Component = () => {
name='MaxAudiobookResume' name='MaxAudiobookResume'
type='number' type='number'
defaultValue={config?.MaxAudiobookResume} defaultValue={config?.MaxAudiobookResume}
inputProps={{
min: 1,
max: 100,
required: true
}}
helperText={globalize.translate('LabelMaxAudiobookResumeHelp')} helperText={globalize.translate('LabelMaxAudiobookResumeHelp')}
slotProps={{
htmlInput: {
min: 1,
max: 100,
required: true
}
}}
/> />
<TextField <TextField
@ -133,11 +141,13 @@ export const Component = () => {
name='MinResumeDuration' name='MinResumeDuration'
type='number' type='number'
defaultValue={config?.MinResumeDurationSeconds} defaultValue={config?.MinResumeDurationSeconds}
inputProps={{
min: 0,
required: true
}}
helperText={globalize.translate('LabelMinResumeDurationHelp')} helperText={globalize.translate('LabelMinResumeDurationHelp')}
slotProps={{
htmlInput: {
min: 0,
required: true
}
}}
/> />
<Button <Button

View file

@ -70,14 +70,16 @@ export const Component = () => {
<TextField <TextField
type='number' type='number'
inputMode='decimal' inputMode='decimal'
inputProps={{
min: 0,
step: 0.25
}}
name='StreamingBitrateLimit' name='StreamingBitrateLimit'
label={globalize.translate('LabelRemoteClientBitrateLimit')} label={globalize.translate('LabelRemoteClientBitrateLimit')}
helperText={globalize.translate('LabelRemoteClientBitrateLimitHelp')} helperText={globalize.translate('LabelRemoteClientBitrateLimitHelp')}
defaultValue={defaultConfiguration?.RemoteClientBitrateLimit ? defaultConfiguration?.RemoteClientBitrateLimit / 1e6 : ''} defaultValue={defaultConfiguration?.RemoteClientBitrateLimit ? defaultConfiguration?.RemoteClientBitrateLimit / 1e6 : ''}
slotProps={{
htmlInput: {
min: 0,
step: 0.25
}
}}
/> />
<Button <Button
type='submit' type='submit'

View file

@ -158,22 +158,26 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.Interval} defaultValue={defaultConfig.TrickplayOptions?.Interval}
inputProps={{
min: 1,
required: true
}}
helperText={globalize.translate('LabelImageIntervalHelp')} helperText={globalize.translate('LabelImageIntervalHelp')}
slotProps={{
htmlInput: {
min: 1,
required: true
}
}}
/> />
<TextField <TextField
label={globalize.translate('LabelWidthResolutions')} label={globalize.translate('LabelWidthResolutions')}
name='WidthResolutions' name='WidthResolutions'
defaultValue={defaultConfig.TrickplayOptions?.WidthResolutions} defaultValue={defaultConfig.TrickplayOptions?.WidthResolutions}
inputProps={{
required: true,
pattern: '[0-9,]*'
}}
helperText={globalize.translate('LabelWidthResolutionsHelp')} helperText={globalize.translate('LabelWidthResolutionsHelp')}
slotProps={{
htmlInput: {
required: true,
pattern: '[0-9,]*'
}
}}
/> />
<TextField <TextField
@ -182,11 +186,13 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.TileWidth} defaultValue={defaultConfig.TrickplayOptions?.TileWidth}
inputProps={{
min: 1,
required: true
}}
helperText={globalize.translate('LabelTileWidthHelp')} helperText={globalize.translate('LabelTileWidthHelp')}
slotProps={{
htmlInput: {
min: 1,
required: true
}
}}
/> />
<TextField <TextField
@ -195,11 +201,13 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.TileHeight} defaultValue={defaultConfig.TrickplayOptions?.TileHeight}
inputProps={{
min: 1,
required: true
}}
helperText={globalize.translate('LabelTileHeightHelp')} helperText={globalize.translate('LabelTileHeightHelp')}
slotProps={{
htmlInput: {
min: 1,
required: true
}
}}
/> />
<TextField <TextField
@ -208,12 +216,14 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.JpegQuality} defaultValue={defaultConfig.TrickplayOptions?.JpegQuality}
inputProps={{
min: 1,
max: 100,
required: true
}}
helperText={globalize.translate('LabelJpegQualityHelp')} helperText={globalize.translate('LabelJpegQualityHelp')}
slotProps={{
htmlInput: {
min: 1,
max: 100,
required: true
}
}}
/> />
<TextField <TextField
@ -222,12 +232,14 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.Qscale} defaultValue={defaultConfig.TrickplayOptions?.Qscale}
inputProps={{
min: 2,
max: 31,
required: true
}}
helperText={globalize.translate('LabelQscaleHelp')} helperText={globalize.translate('LabelQscaleHelp')}
slotProps={{
htmlInput: {
min: 2,
max: 31,
required: true
}
}}
/> />
<TextField <TextField
@ -236,11 +248,13 @@ export const Component = () => {
type='number' type='number'
inputMode='numeric' inputMode='numeric'
defaultValue={defaultConfig.TrickplayOptions?.ProcessThreads} defaultValue={defaultConfig.TrickplayOptions?.ProcessThreads}
inputProps={{
min: 0,
required: true
}}
helperText={globalize.translate('LabelTrickplayThreadsHelp')} helperText={globalize.translate('LabelTrickplayThreadsHelp')}
slotProps={{
htmlInput: {
min: 0,
required: true
}
}}
/> />
<Button <Button

View file

@ -161,7 +161,6 @@ export const Component = () => {
select select
name='UICulture' name='UICulture'
label={globalize.translate('LabelPreferredDisplayLanguage')} label={globalize.translate('LabelPreferredDisplayLanguage')}
FormHelperTextProps={{ component: Stack }}
helperText={( helperText={(
<> <>
<span>{globalize.translate('LabelDisplayLanguageHelp')}</span> <span>{globalize.translate('LabelDisplayLanguageHelp')}</span>
@ -171,6 +170,9 @@ export const Component = () => {
</> </>
)} )}
defaultValue={config.UICulture} defaultValue={config.UICulture}
slotProps={{
formHelperText: { component: Stack }
}}
> >
{languageOptions.map((language) => {languageOptions.map((language) =>
<MenuItem key={language.Name} value={language.Value || ''}>{language.Name}</MenuItem> <MenuItem key={language.Name} value={language.Value || ''}>{language.Name}</MenuItem>
@ -185,14 +187,16 @@ export const Component = () => {
helperText={globalize.translate('LabelCachePathHelp')} helperText={globalize.translate('LabelCachePathHelp')}
value={cachePath} value={cachePath}
onChange={onCachePathChange} onChange={onCachePathChange}
InputProps={{ slotProps={{
endAdornment: ( input: {
<InputAdornment position='end'> endAdornment: (
<IconButton edge='end' onClick={showCachePathPicker}> <InputAdornment position='end'>
<SearchIcon /> <IconButton edge='end' onClick={showCachePathPicker}>
</IconButton> <SearchIcon />
</InputAdornment> </IconButton>
) </InputAdornment>
)
}
}} }}
/> />
@ -202,14 +206,16 @@ export const Component = () => {
helperText={globalize.translate('LabelMetadataPathHelp')} helperText={globalize.translate('LabelMetadataPathHelp')}
value={metadataPath} value={metadataPath}
onChange={onMetadataPathChange} onChange={onMetadataPathChange}
InputProps={{ slotProps={{
endAdornment: ( input: {
<InputAdornment position='end'> endAdornment: (
<IconButton edge='end' onClick={showMetadataPathPicker}> <InputAdornment position='end'>
<SearchIcon /> <IconButton edge='end' onClick={showMetadataPathPicker}>
</IconButton> <SearchIcon />
</InputAdornment> </IconButton>
) </InputAdornment>
)
}
}} }}
/> />
@ -232,25 +238,29 @@ export const Component = () => {
<TextField <TextField
name='LibraryScanFanoutConcurrency' name='LibraryScanFanoutConcurrency'
type='number' type='number'
inputProps={{
min: 0,
step: 1
}}
label={globalize.translate('LibraryScanFanoutConcurrency')} label={globalize.translate('LibraryScanFanoutConcurrency')}
helperText={globalize.translate('LibraryScanFanoutConcurrencyHelp')} helperText={globalize.translate('LibraryScanFanoutConcurrencyHelp')}
defaultValue={config.LibraryScanFanoutConcurrency || ''} defaultValue={config.LibraryScanFanoutConcurrency || ''}
slotProps={{
htmlInput: {
min: 0,
step: 1
}
}}
/> />
<TextField <TextField
name='ParallelImageEncodingLimit' name='ParallelImageEncodingLimit'
type='number' type='number'
inputProps={{
min: 0,
step: 1
}}
label={globalize.translate('LabelParallelImageEncodingLimit')} label={globalize.translate('LabelParallelImageEncodingLimit')}
helperText={globalize.translate('LabelParallelImageEncodingLimitHelp')} helperText={globalize.translate('LabelParallelImageEncodingLimitHelp')}
defaultValue={config.ParallelImageEncodingLimit || ''} defaultValue={config.ParallelImageEncodingLimit || ''}
slotProps={{
htmlInput: {
min: 0,
step: 1
}
}}
/> />
<Button type='submit' size='large'> <Button type='submit' size='large'>

View file

@ -146,18 +146,20 @@ export function DisplayPreferences({ onChange, values }: Readonly<DisplayPrefere
<TextField <TextField
aria-describedby='display-settings-screensaver-interval-description' aria-describedby='display-settings-screensaver-interval-description'
value={values.screensaverInterval} value={values.screensaverInterval}
inputProps={{
inputMode: 'numeric',
max: '3600',
min: '1',
pattern: '[0-9]',
required: true,
step: '1',
type: 'number'
}}
label={globalize.translate('LabelBackdropScreensaverInterval')} label={globalize.translate('LabelBackdropScreensaverInterval')}
name='screensaverInterval' name='screensaverInterval'
onChange={onChange} onChange={onChange}
slotProps={{
htmlInput: {
inputMode: 'numeric',
max: '3600',
min: '1',
pattern: '[0-9]',
required: true,
step: '1',
type: 'number'
}
}}
/> />
<FormHelperText id='display-settings-screensaver-interval-description'> <FormHelperText id='display-settings-screensaver-interval-description'>
{globalize.translate('LabelBackdropScreensaverIntervalHelp')} {globalize.translate('LabelBackdropScreensaverIntervalHelp')}

View file

@ -24,19 +24,21 @@ export function LibraryPreferences({ onChange, values }: Readonly<LibraryPrefere
<FormControl fullWidth> <FormControl fullWidth>
<TextField <TextField
aria-describedby='display-settings-lib-pagesize-description' aria-describedby='display-settings-lib-pagesize-description'
inputProps={{
type: 'number',
inputMode: 'numeric',
max: '1000',
min: '0',
pattern: '[0-9]',
required: true,
step: '1'
}}
value={values.libraryPageSize} value={values.libraryPageSize}
label={globalize.translate('LabelLibraryPageSize')} label={globalize.translate('LabelLibraryPageSize')}
name='libraryPageSize' name='libraryPageSize'
onChange={onChange} onChange={onChange}
slotProps={{
htmlInput: {
type: 'number',
inputMode: 'numeric',
max: '1000',
min: '0',
pattern: '[0-9]',
required: true,
step: '1'
}
}}
/> />
<FormHelperText id='display-settings-lib-pagesize-description'> <FormHelperText id='display-settings-lib-pagesize-description'>
{globalize.translate('LabelLibraryPageSizeHelp')} {globalize.translate('LabelLibraryPageSizeHelp')}

View file

@ -25,18 +25,20 @@ export function NextUpPreferences({ onChange, values }: Readonly<NextUpPreferenc
<TextField <TextField
aria-describedby='display-settings-max-days-next-up-description' aria-describedby='display-settings-max-days-next-up-description'
value={values.maxDaysForNextUp} value={values.maxDaysForNextUp}
inputProps={{
type: 'number',
inputMode: 'numeric',
max: '1000',
min: '0',
pattern: '[0-9]',
required: true,
step: '1'
}}
label={globalize.translate('LabelMaxDaysForNextUp')} label={globalize.translate('LabelMaxDaysForNextUp')}
name='maxDaysForNextUp' name='maxDaysForNextUp'
onChange={onChange} onChange={onChange}
slotProps={{
htmlInput: {
type: 'number',
inputMode: 'numeric',
max: '1000',
min: '0',
pattern: '[0-9]',
required: true,
step: '1'
}
}}
/> />
<FormHelperText id='display-settings-max-days-next-up-description'> <FormHelperText id='display-settings-max-days-next-up-description'>
{globalize.translate('LabelMaxDaysForNextUpHelp')} {globalize.translate('LabelMaxDaysForNextUpHelp')}