Sonarr/frontend/src/Settings/General/BackupSettings.js

86 lines
2.1 KiB
JavaScript
Raw Normal View History

2018-01-13 02:01:27 +00:00
import PropTypes from 'prop-types';
import React from 'react';
import FieldSet from 'Components/FieldSet';
import FormGroup from 'Components/Form/FormGroup';
import FormInputGroup from 'Components/Form/FormInputGroup';
2022-05-20 04:15:43 +00:00
import FormLabel from 'Components/Form/FormLabel';
import { inputTypes } from 'Helpers/Props';
2023-07-22 19:14:33 +00:00
import translate from 'Utilities/String/translate';
2018-01-13 02:01:27 +00:00
function BackupSettings(props) {
const {
advancedSettings,
settings,
onInputChange
} = props;
const {
backupFolder,
backupInterval,
backupRetention
} = settings;
if (!advancedSettings) {
return null;
}
return (
2023-07-22 19:14:33 +00:00
<FieldSet legend={translate('Backups')}>
2018-01-13 02:01:27 +00:00
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
2023-07-22 19:14:33 +00:00
<FormLabel>{translate('Folder')}</FormLabel>
2018-01-13 02:01:27 +00:00
<FormInputGroup
2019-04-14 06:28:47 +00:00
type={inputTypes.PATH}
2018-01-13 02:01:27 +00:00
name="backupFolder"
2023-07-22 19:14:33 +00:00
helpText={translate('BackupFolderHelpText')}
2018-01-13 02:01:27 +00:00
onChange={onInputChange}
{...backupFolder}
/>
</FormGroup>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
2023-07-22 19:14:33 +00:00
<FormLabel>{translate('Interval')}</FormLabel>
2018-01-13 02:01:27 +00:00
<FormInputGroup
type={inputTypes.NUMBER}
name="backupInterval"
unit="days"
2023-07-22 19:14:33 +00:00
helpText={translate('BackupIntervalHelpText')}
2018-01-13 02:01:27 +00:00
onChange={onInputChange}
{...backupInterval}
/>
</FormGroup>
<FormGroup
advancedSettings={advancedSettings}
isAdvanced={true}
>
2023-07-22 19:14:33 +00:00
<FormLabel>{translate('Retention')}</FormLabel>
2018-01-13 02:01:27 +00:00
<FormInputGroup
type={inputTypes.NUMBER}
name="backupRetention"
unit="days"
2023-07-22 19:14:33 +00:00
helpText={translate('BackupRetentionHelpText')}
2018-01-13 02:01:27 +00:00
onChange={onInputChange}
{...backupRetention}
/>
</FormGroup>
</FieldSet>
);
}
BackupSettings.propTypes = {
advancedSettings: PropTypes.bool.isRequired,
settings: PropTypes.object.isRequired,
onInputChange: PropTypes.func.isRequired
};
export default BackupSettings;