First working version

This commit is contained in:
Sebastian Seedorf
2022-08-08 23:12:11 +02:00
parent 78dcee42ca
commit 940149cec8
22 changed files with 12436 additions and 1586 deletions

View File

@@ -0,0 +1,33 @@
import {FC, useEffect, useState} from "react";
import Select from "react-select";
import {isNonNullable} from "../src/utils";
import details from "../res/details.json";
interface Props {
factories: string[]
onSetFactories: (factories: string[]) => void
}
const options = details.map(detail => ({
label: detail.name,
value: detail.href
}))
export const FactorySelect: FC<Props> = ({factories, onSetFactories}) => {
const [state, setState] = useState<typeof options>([])
useEffect(() => {
setState(factories
.map(factory => options.find(option => option.value === factory))
.filter(isNonNullable))
}, [factories])
return <Select
value={state}
isMulti
options={options as never}
onChange={e => {
setState(e as typeof options)
onSetFactories(e.map(s => s?.value))
}}
/>
}