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:
parent
27febb599c
commit
419c225937
10 changed files with 174 additions and 124 deletions
|
@ -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>
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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'
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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'>
|
||||||
|
|
|
@ -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')}
|
||||||
|
|
|
@ -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')}
|
||||||
|
|
|
@ -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')}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue