Spaces:
Running
Running
import type { FC } from 'react' | |
import React from 'react' | |
import RemoveButton from '../_base/components/remove-button' | |
import type { CodeDependency } from './types' | |
import DependencyPicker from './dependency-picker' | |
type Props = { | |
available_dependencies: CodeDependency[] | |
dependencies: CodeDependency[] | |
handleRemove: (index: number) => void | |
handleChange: (index: number, dependency: CodeDependency) => void | |
} | |
const Dependencies: FC<Props> = ({ | |
available_dependencies, dependencies, handleRemove, handleChange, | |
}) => { | |
return ( | |
<div className='space-y-2'> | |
{dependencies.map((dependency, index) => ( | |
<div className='flex items-center space-x-1' key={index}> | |
<DependencyPicker | |
value={dependency} | |
available_dependencies={available_dependencies} | |
onChange={dependency => handleChange(index, dependency)} | |
/> | |
<RemoveButton | |
className='!p-2 !bg-gray-100 hover:!bg-gray-200' | |
onClick={() => handleRemove(index)} | |
/> | |
</div> | |
))} | |
</div> | |
) | |
} | |
export default React.memo(Dependencies) | |