mirror of
https://github.com/Radarr/Radarr.git
synced 2026-04-21 22:05:43 -04:00
2c81f3be0f
(cherry picked from commit 6838f068bcd04b770cd9c53873f160be97ea745f)
44 lines
978 B
TypeScript
44 lines
978 B
TypeScript
import React, { useMemo } from 'react';
|
|
import { EnhancedSelectInputChanged } from 'typings/inputs';
|
|
import EnhancedSelectInput, {
|
|
EnhancedSelectInputValue,
|
|
} from './EnhancedSelectInput';
|
|
|
|
export interface LanguageSelectInputProps {
|
|
name: string;
|
|
value: number;
|
|
values: EnhancedSelectInputValue<number>[];
|
|
onChange: (change: EnhancedSelectInputChanged<number>) => void;
|
|
}
|
|
|
|
function LanguageSelectInput({
|
|
values,
|
|
onChange,
|
|
...otherProps
|
|
}: LanguageSelectInputProps) {
|
|
const mappedValues = useMemo(() => {
|
|
const minId = values.reduce(
|
|
(min: number, v) => (v.key < 1 ? v.key : min),
|
|
values[0].key
|
|
);
|
|
|
|
return values.map(({ key, value }) => {
|
|
return {
|
|
key,
|
|
value,
|
|
dividerAfter: minId < 1 ? key === minId : false,
|
|
};
|
|
});
|
|
}, [values]);
|
|
|
|
return (
|
|
<EnhancedSelectInput
|
|
{...otherProps}
|
|
values={mappedValues}
|
|
onChange={onChange}
|
|
/>
|
|
);
|
|
}
|
|
|
|
export default LanguageSelectInput;
|