chore(react/settings): allow combo to have any possible object structure

This commit is contained in:
Elian Doran 2025-08-14 18:51:32 +03:00
parent d42a949602
commit 83b22b4861
No known key found for this signature in database

View File

@ -1,10 +1,12 @@
interface FormSelectProps { interface FormSelectProps<T> {
currentValue?: string; currentValue?: string;
onChange(newValue: string): void; onChange(newValue: string): void;
values: { val: string, title: string }[]; values: T[];
keyProperty: keyof T;
titleProperty: keyof T;
} }
export default function FormSelect({ currentValue, values, onChange }: FormSelectProps) { export default function FormSelect<T>({ currentValue, values, onChange, keyProperty, titleProperty }: FormSelectProps<T>) {
return ( return (
<select <select
class="form-select" class="form-select"
@ -13,10 +15,10 @@ export default function FormSelect({ currentValue, values, onChange }: FormSelec
{values.map(item => { {values.map(item => {
return ( return (
<option <option
value={item.val} value={item[keyProperty] as any}
selected={item.val === currentValue} selected={item[keyProperty] === currentValue}
> >
{item.title} {item[titleProperty] as any}
</option> </option>
); );
})} })}