= ({
mediaType,
dayFieldName,
limitFieldName,
defaultDays = 7,
defaultLimit = 0,
dayOverride,
limitOverride,
isDisabled = false,
onChange,
}) => {
const initialDays = defaultDays ?? 7;
const initialLimit = defaultLimit ?? 0;
const [quotaDays, setQuotaDays] = useState(initialDays);
const [quotaLimit, setQuotaLimit] = useState(initialLimit);
const intl = useIntl();
useEffect(() => {
onChange(dayFieldName, quotaDays);
}, [dayFieldName, onChange, quotaDays]);
useEffect(() => {
onChange(limitFieldName, quotaLimit);
}, [limitFieldName, onChange, quotaLimit]);
return (
{intl.formatMessage(
mediaType === 'movie' ? messages.movieRequests : messages.tvRequests,
{
quotaLimit: (
),
quotaDays: (
),
movies: intl.formatMessage(messages.movies, { count: quotaLimit }),
seasons: intl.formatMessage(messages.seasons, { count: quotaLimit }),
days: intl.formatMessage(messages.days, { count: quotaDays }),
quotaUnits: function quotaUnits(msg) {
return (
{msg}
);
},
}
)}
);
};
export default React.memo(QuotaSelector);