in src/components/Search/SearchDropdown.tsx [22:86]
function SearchDropdown({
compact,
searchType,
repository,
labelIdInfo,
name,
onChange,
}: SearchDropdownProps) {
const size = compact ? 'small' : undefined;
const mode = useAppSelector((state) => state.theme.mode);
const handleRepoSelect = (event: SelectChangeEvent) => {
const selectedRepository = event.target.value as Repository['name'];
onChange(selectedRepository);
};
const styles = {
container: style({
width: '100%',
$nest: {
'.MuiInputBase-root': {
...(mode === 'light'
? ButtonsLightRaw.Dropdown
: ButtonsDarkRaw.Dropdown),
},
},
}),
};
return (
<>
<FormControl
size={size}
className={`search-dropdown ${styles.container}`}
>
<Select
data-testid={`dropdown-select-${labelIdInfo}`}
value={repository}
labelId={labelIdInfo}
className='dropdown-select'
variant='standard'
onChange={(e) => void handleRepoSelect(e)}
name={name}
MenuProps={{
classes: {
paper: `paper-repo paper-${mode === 'light' ? 'light' : 'dark'}`,
},
}}
>
{Object.keys(repoMap).map((key) => (
<MenuItem
id={repoMap[key]}
value={repoMap[key]}
key={repoMap[key]}
className={`${searchType}Repository`}
>
{repoMap[key]}
</MenuItem>
))}
</Select>
</FormControl>
</>
);
}